aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2003-01-23 04:04:01 +0000
committerGuy Harris <guy@alum.mit.edu>2003-01-23 04:04:01 +0000
commit8e6518ea607984b4fb76d0e04c28fed8631b368c (patch)
treef214615d7ccc4c35e113ba59059839b4f3a043dd /wiretap
parent46ce1e6079557ec10c18d4d8908edaad7bc9354f (diff)
In the BSDs, ARCNET packets don't have an offset field between the
addresses and the protocol type, as supplied by BPF; on Linux, they *do* have an offset field, as supplied by PF_PACKET sockets. Add a new WTAP_ENCAP_ARCNET_LINUX, with packets that include the offset field, and don't dissect an offset in WTAP_ENCAP_ARCNET packets. Map a libpcap link-layer type of 129 to WTAP_ENCAP_ARCNET_LINUX; that value was recently assigned to Linux-style ARCNET. Add some more ARCNET protocol IDs. For most protocol IDs, dissect an ATA 878.2 fragmentation header; don't do it for RFC 1051 IP and ARP, and Diagnose packets. Set the length of the ARCNET protocol tree item appropriately. Dissect both the RFC 1051 and RFC 1201 styles of IP and ARP over ARCNET, and dissect the RFC 1201 style of RARP as well. svn path=/trunk/; revision=6981
Diffstat (limited to 'wiretap')
-rw-r--r--wiretap/libpcap.c3
-rw-r--r--wiretap/wtap.c5
-rw-r--r--wiretap/wtap.h57
3 files changed, 35 insertions, 30 deletions
diff --git a/wiretap/libpcap.c b/wiretap/libpcap.c
index a9c7d8ac9e..7e74bbec42 100644
--- a/wiretap/libpcap.c
+++ b/wiretap/libpcap.c
@@ -1,6 +1,6 @@
/* libpcap.c
*
- * $Id: libpcap.c,v 1.90 2003/01/10 04:04:41 guy Exp $
+ * $Id: libpcap.c,v 1.91 2003/01/23 04:04:00 guy Exp $
*
* Wiretap Library
* Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -242,6 +242,7 @@ static const struct {
{ 123, WTAP_ENCAP_ATM_PDUS }, /* SunATM */
{ 127, WTAP_ENCAP_WLAN_HEADER }, /* 802.11 plus WLAN header */
{ 128, WTAP_ENCAP_TZSP }, /* Tazmen Sniffer Protocol */
+ { 129, WTAP_ENCAP_ARCNET_LINUX },
/*
* The following are entries for libpcap type values that have
diff --git a/wiretap/wtap.c b/wiretap/wtap.c
index 36c1b60e23..b7cb34f826 100644
--- a/wiretap/wtap.c
+++ b/wiretap/wtap.c
@@ -1,6 +1,6 @@
/* wtap.c
*
- * $Id: wtap.c,v 1.78 2003/01/08 05:03:54 guy Exp $
+ * $Id: wtap.c,v 1.79 2003/01/23 04:04:01 guy Exp $
*
* Wiretap Library
* Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -86,6 +86,9 @@ static const struct encap_type_info {
/* WTAP_ENCAP_ARCNET */
{ "ARCNET", "arcnet" },
+ /* WTAP_ENCAP_ARCNET_LINUX */
+ { "Linux ARCNET", "arcnet_linux" },
+
/* WTAP_ENCAP_ATM_RFC1483 */
{ "RFC 1483 ATM", "atm-rfc1483" },
diff --git a/wiretap/wtap.h b/wiretap/wtap.h
index 06fabbe77d..2a514ad4b7 100644
--- a/wiretap/wtap.h
+++ b/wiretap/wtap.h
@@ -1,6 +1,6 @@
/* wtap.h
*
- * $Id: wtap.h,v 1.132 2003/01/10 04:04:42 guy Exp $
+ * $Id: wtap.h,v 1.133 2003/01/23 04:04:01 guy Exp $
*
* Wiretap Library
* Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -98,35 +98,36 @@
#define WTAP_ENCAP_FDDI_BITSWAPPED 6
#define WTAP_ENCAP_RAW_IP 7
#define WTAP_ENCAP_ARCNET 8
-#define WTAP_ENCAP_ATM_RFC1483 9
-#define WTAP_ENCAP_LINUX_ATM_CLIP 10
-#define WTAP_ENCAP_LAPB 11
-#define WTAP_ENCAP_ATM_PDUS 12
-#define WTAP_ENCAP_ATM_PDUS_UNTRUNCATED 13
-#define WTAP_ENCAP_NULL 14
-#define WTAP_ENCAP_ASCEND 15
-#define WTAP_ENCAP_ISDN 16
-#define WTAP_ENCAP_IP_OVER_FC 17
-#define WTAP_ENCAP_PPP_WITH_PHDR 18
-#define WTAP_ENCAP_IEEE_802_11 19
-#define WTAP_ENCAP_IEEE_802_11_WITH_RADIO 20
-#define WTAP_ENCAP_SLL 21
-#define WTAP_ENCAP_FRELAY 22
-#define WTAP_ENCAP_CHDLC 23
-#define WTAP_ENCAP_CISCO_IOS 24
-#define WTAP_ENCAP_LOCALTALK 25
-#define WTAP_ENCAP_PRISM_HEADER 26
-#define WTAP_ENCAP_PFLOG 27
-#define WTAP_ENCAP_HHDLC 28
-#define WTAP_ENCAP_DOCSIS 29
-#define WTAP_ENCAP_COSINE 30
-#define WTAP_ENCAP_WLAN_HEADER 31
-#define WTAP_ENCAP_WFLEET_HDLC 32
-#define WTAP_ENCAP_SDLC 33
-#define WTAP_ENCAP_TZSP 34
+#define WTAP_ENCAP_ARCNET_LINUX 9
+#define WTAP_ENCAP_ATM_RFC1483 10
+#define WTAP_ENCAP_LINUX_ATM_CLIP 11
+#define WTAP_ENCAP_LAPB 12
+#define WTAP_ENCAP_ATM_PDUS 13
+#define WTAP_ENCAP_ATM_PDUS_UNTRUNCATED 14
+#define WTAP_ENCAP_NULL 15
+#define WTAP_ENCAP_ASCEND 16
+#define WTAP_ENCAP_ISDN 17
+#define WTAP_ENCAP_IP_OVER_FC 18
+#define WTAP_ENCAP_PPP_WITH_PHDR 19
+#define WTAP_ENCAP_IEEE_802_11 20
+#define WTAP_ENCAP_IEEE_802_11_WITH_RADIO 21
+#define WTAP_ENCAP_SLL 22
+#define WTAP_ENCAP_FRELAY 23
+#define WTAP_ENCAP_CHDLC 24
+#define WTAP_ENCAP_CISCO_IOS 25
+#define WTAP_ENCAP_LOCALTALK 26
+#define WTAP_ENCAP_PRISM_HEADER 27
+#define WTAP_ENCAP_PFLOG 28
+#define WTAP_ENCAP_HHDLC 29
+#define WTAP_ENCAP_DOCSIS 30
+#define WTAP_ENCAP_COSINE 31
+#define WTAP_ENCAP_WLAN_HEADER 32
+#define WTAP_ENCAP_WFLEET_HDLC 33
+#define WTAP_ENCAP_SDLC 34
+#define WTAP_ENCAP_TZSP 35
/* last WTAP_ENCAP_ value + 1 */
-#define WTAP_NUM_ENCAP_TYPES 35
+#define WTAP_NUM_ENCAP_TYPES 36
/* File types that can be read by wiretap.
We support writing some many of these file types, too, so we