</me dusts off old mail prompted by Ms in tree> I think it makes sense to commit these parts whatever happens with the rest of the diff.
> Index: sys/net/ethertypes.h > =================================================================== > RCS file: /cvs/src/sys/net/ethertypes.h,v > retrieving revision 1.9 > diff -u -p -r1.9 ethertypes.h > --- sys/net/ethertypes.h 5 May 2008 13:40:17 -0000 1.9 > +++ sys/net/ethertypes.h 21 Aug 2008 19:18:42 -0000 > @@ -300,6 +300,7 @@ > #define ETHERTYPE_LANPROBE 0x8888 /* HP LanProbe test? */ > #define ETHERTYPE_PAE 0x888E /* 802.1X Port Access Entity */ > #define ETHERTYPE_AOE 0x88A2 /* ATA over Ethernet */ > +#define ETHERTYPE_QINQ 0x88A8 /* 802.1ad VLAN stacking */ > #define ETHERTYPE_LLDP 0x88CC /* Link Layer Discovery > Protocol */ > #define ETHERTYPE_LOOPBACK 0x9000 /* Loopback */ > #define ETHERTYPE_LBACK ETHERTYPE_LOOPBACK /* DEC MOP > loopback */ > Index: usr.sbin/tcpdump/ethertype.h > =================================================================== > RCS file: /cvs/src/usr.sbin/tcpdump/ethertype.h,v > retrieving revision 1.13 > diff -u -p -r1.13 ethertype.h > --- usr.sbin/tcpdump/ethertype.h 7 Oct 2007 16:41:05 -0000 1.13 > +++ usr.sbin/tcpdump/ethertype.h 21 Aug 2008 19:18:42 -0000 > @@ -102,6 +102,9 @@ > #ifndef ETHERTYPE_8021Q > #define ETHERTYPE_8021Q 0x8100 > #endif > +#ifndef ETHERTYPE_QINQ > +#define ETHERTYPE_QINQ 0x88a8 > +#endif > #ifndef ETHERTYPE_IPX > #define ETHERTYPE_IPX 0x8137 > #endif > Index: usr.sbin/tcpdump/print-ether.c > =================================================================== > RCS file: /cvs/src/usr.sbin/tcpdump/print-ether.c,v > retrieving revision 1.23 > diff -u -p -r1.23 print-ether.c > --- usr.sbin/tcpdump/print-ether.c 7 Oct 2007 16:41:05 -0000 1.23 > +++ usr.sbin/tcpdump/print-ether.c 21 Aug 2008 19:18:42 -0000 > @@ -204,7 +204,11 @@ recurse: > return (1); > > case ETHERTYPE_8021Q: > - printf("802.1Q vid %d pri %d%s", > + printf("802.1Q "); > + case ETHERTYPE_QINQ: > + if (ethertype == ETHERTYPE_QINQ) > + printf("QinQ s"); > + printf("vid %d pri %d%s", > ntohs(*(unsigned short*)p)&0xFFF, > ntohs(*(unsigned short*)p)>>13, > (ntohs(*(unsigned short*)p)&0x1000) ? " cfi " : " ");