tcpdump matches any udp traffic on port 1589 as Cizco-eee vlan query
protocol. Really, it should only match udp traffic to *destination*
port 1589 like this.
Problem noted by tdm on silc.
ok?
Index: print-udp.c
===================================================================
RCS file: /cvs/src/usr.sbin/tcpdump/print-udp.c,v
retrieving revision 1.30
diff -u -p -u -7 -r1.30 print-udp.c
--- print-udp.c 7 Oct 2007 16:41:05 -0000 1.30
+++ print-udp.c 26 May 2009 16:38:55 -0000
@@ -606,15 +606,15 @@ udp_print(register const u_char *bp, u_i
ISPORT(RADIUS_AUTH_PORT) ||
ISPORT(RADIUS_ACCT_PORT))
radius_print((const u_char *)(up + 1), length);
else if (dport == 3456)
vat_print((const void *)(up + 1), length, up);
else if (ISPORT(IAPP_PORT) || ISPORT(IAPP_OLD_PORT))
iapp_print((const u_char *)(up + 1), length);
- else if (ISPORT(VQP_PORT))
+ else if (dport == VQP_PORT)
vqp_print((const u_char *)(up + 1), length);
#ifdef INET6
else if (ISPORT(RIPNG_PORT))
ripng_print((const u_char *)(up + 1), length);
else if (ISPORT(DHCP6_PORT1) || ISPORT(DHCP6_PORT2)) {
dhcp6_print((const u_char *)(up + 1), length,
sport, dport);