</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 " : " ");