Changeset bb09ce4 for lib


Ignore:
Timestamp:
02/09/06 10:47:14 (15 years ago)
Author:
Perry Lorier <perry@…>
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:
9e3902e
Parents:
5baec88
Message:

More wifi support

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib/trace.c

    r9c87732 rbb09ce4  
    587587
    588588        switch(trace_get_link_type(packet)) {
     589                case TRACE_TYPE_80211_PRISM:
     590                        {
     591                                struct ieee_802_11_header *wifi = trace_get_link(packet)+144;
     592                                if (!wifi) {
     593                                        ipptr = NULL;
     594                                        break;
     595                                }
     596
     597                                // Data packet?
     598                                if (wifi->type != 2) {
     599                                        ipptr = NULL;
     600                                }
     601                                else {
     602                                        struct ieee_802_11_payload *eth = (void*)wifi->data;
     603                                        ipptr = NULL;
     604
     605                                        if (ntohs(eth->type) == 0x0800) {
     606                                            ipptr=((void*)eth) + sizeof(*eth);
     607                                        } else if (ntohs(eth->type) == 0x8100) {
     608                                            struct libtrace_8021q *vlanhdr =
     609                                                (struct libtrace_8021q *)eth;
     610                                            if (ntohs(vlanhdr->vlan_ether_type)
     611                                                            == 0x0800) {
     612                                                ipptr=((void*)eth) +
     613                                                        sizeof(*vlanhdr);
     614                                            }
     615                                        }
     616                                }
     617                        }
     618                        break;
    589619                case TRACE_TYPE_80211:
    590620                        {
Note: See TracChangeset for help on using the changeset viewer.