Changeset 9075d49


Ignore:
Timestamp:
03/23/05 22:34:39 (16 years ago)
Author:
Daniel Lawson <dlawson@…>
Branches:
4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, getfragoff, help, libtrace4, master, ndag_format, pfring, rc-4.0.1, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance, ringtimestampfixes
Children:
23c13e8
Parents:
783825a
Message:

added in pcap ppp support (DLT_LINUX_SLL). This includes direction tagging
support, so get_direction will work on a PPP interface in linux

Location:
lib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • lib/libtrace.h

    rc4be35b r9075d49  
    424424 * @param packet        the packet opaque pointer
    425425 * @returns a signed value containing the direction flag, or -1 if this is not supported
     426 * The direction is defined as 0 for packets originating locally (ie, outbound)
     427 * and 1 for packets originating remotely (ie, inbound).
     428 * Other values are possible, which might be overloaded to mean special things
     429 * for a special trace.
    426430 * @author Daniel Lawson
    427431 */
  • lib/trace.c

    rc4be35b r9075d49  
    15301530                                pcap = pcap_open_dead(DLT_EN10MB, 1500);
    15311531                                break;
     1532                        case TRACE_TYPE_LINUX_SLL:
     1533                                pcap = pcap_open_dead(DLT_LINUX_SLL, 1500);
     1534                                break;
    15321535                        default:
    1533                                 printf("only works for ETH at the moment\n");
     1536                                printf("only works for ETH and LINUX_SLL (ppp) at the moment\n");
    15341537                                assert(0);
    15351538                }               
     
    15831586 * @param packet a pointer to a libtrace_packet structure
    15841587 * @returns a signed value containing the direction flag, or -1 if this is not supported
     1588 * The direction is defined as 0 for packets originating locally (ie, outbound)
     1589 * and 1 for packets originating remotely (ie, inbound).
     1590 * Other values are possible, which might be overloaded to mean special things
     1591 * for a special trace.
    15851592 * @author Daniel Lawson
    15861593 */
     
    16001607                        break;
    16011608                case PCAP:
     1609                case PCAPINT:
    16021610                        switch (trace_get_link_type(packet)) {
    16031611                                case TRACE_TYPE_LINUX_SLL:
     
    16061614                                                sll = trace_get_link(packet);
    16071615                                                /* 0 == LINUX_SLL_HOST */
    1608                                                 if (sll->pkttype==0) {
    1609                                                         direction = 0;
     1616                                                /* the Waikato Capture point defines "packets
     1617                                                 * originating locally" (ie, outbound), with a
     1618                                                 * direction of 0, and "packets destined locally"
     1619                                                 * (ie, inbound), with a direction of 1.
     1620                                                 * This is kind-of-opposite to LINUX_SLL.
     1621                                                 * We return consistent values here, however
     1622                                                 *
     1623                                                 * Note that in recent versions of pcap, you can
     1624                                                 * use "inbound" and "outbound" on ppp in linux
     1625                                                 */
     1626                                                if (ntohs(sll->pkttype==0)) {
     1627
     1628                                                        direction = 1;
    16101629                                                }
    16111630                                                else {
    1612                                                         direction = 1;
     1631                                                        direction = 0;
    16131632                                                }
    16141633                                                break;
Note: See TracChangeset for help on using the changeset viewer.