#ifndef lint
static const char rcsid[] _U_ =
- "@(#) $Header: /tcpdump/master/tcpdump/print-gre.c,v 1.26 2004-06-29 08:12:06 hannes Exp $ (LBL)";
+ "@(#) $Header: /tcpdump/master/tcpdump/print-gre.c,v 1.28 2005-04-06 21:32:39 mcr Exp $ (LBL)";
#endif
#ifdef HAVE_CONFIG_H
switch (prot) {
case ETHERTYPE_IP:
- ip_print(bp, len);
+ ip_print(gndo, bp, len);
break;
+#ifdef INET6
case ETHERTYPE_IPV6:
ip6_print(bp, len);
break;
+#endif
case ETHERTYPE_MPLS:
mpls_print(bp, len);
break;
case ETHERTYPE_GRE_ISO:
isoclns_print(bp, len, len);
break;
+ case ETHERTYPE_TEB:
+ ether_print(bp, len, len, NULL, NULL);
+ break;
default:
printf("gre-proto-0x%x", prot);
}
len -= 4;
}
- if ((flags & GRE_SP) == 0) {
+ if ((flags & GRE_SP) == 0)
printf(", no-payload");
- return;
- }
if (eflag)
printf(", proto %s (0x%04x)",
printf(", length %u",length);
+ if ((flags & GRE_SP) == 0)
+ return;
+
if (vflag < 1)
printf(": "); /* put in a colon as protocol demarc */
else