]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-atm.c
Handle IPX socket 0x553, which is some kind of NetBIOS-over-IPX socket.
[tcpdump] / print-atm.c
index 13f5369fd4ed66c90d7f9db7e7f2520fed119943..7458116ffa2ee272ebef85d98058f911806c492e 100644 (file)
  */
 #ifndef lint
 static const char rcsid[] =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-atm.c,v 1.10 1999-10-17 21:37:11 mcr Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/print-atm.c,v 1.20 2000-12-22 22:45:09 guy Exp $ (LBL)";
+#endif
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
 #endif
 
 #include <sys/param.h>
 #include <sys/time.h>
 #include <sys/socket.h>
 
-#if __STDC__
-struct mbuf;
-struct rtentry;
-#endif
-#include <net/if.h>
-
 #include <netinet/in.h>
-#include <netinet/if_ether.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/udp.h>
-#include <netinet/tcp.h>
 
 #include <stdio.h>
 #include <pcap.h>
@@ -103,6 +96,12 @@ atm_if_print(u_char *user, const struct pcap_pkthdr *h, const u_char *p)
                ip_print(p, length);
                break;
 
+#ifdef INET6
+       case ETHERTYPE_IPV6:
+               ip6_print(p, length);
+               break;
+#endif /*INET6*/
+
                /*XXX this probably isn't right */
        case ETHERTYPE_ARP:
        case ETHERTYPE_REVARP:
@@ -132,8 +131,8 @@ atm_if_print(u_char *user, const struct pcap_pkthdr *h, const u_char *p)
                /* ether_type not known, print raw packet */
                if (!eflag)
                        printf("%02x %02x %02x %02x-%02x-%02x %04x: ",
-                              p[0], p[1], p[2], /* dsap/ssap/ctrl */
-                              p[3], p[4], p[5], /* manufacturer's code */
+                              packetp[0], packetp[1], packetp[2], /* dsap/ssap/ctrl */
+                              packetp[3], packetp[4], packetp[5], /* manufacturer's code */
                               ethertype);
                if (!xflag && !qflag)
                        default_print(p, caplen);