New DLT for Bluetooth H:4 with pseudo-header giving direction.
Add support for additional link types to gencode.c, so we at least support "link[N:M]" and an empty expression. Sort the DLT_CHOICE values in order by the DLT_ value, add missing ones, and fix some existing descriptions.
This commit is contained in:
parent
7b5c683168
commit
fe7433245e
74
gencode.c
74
gencode.c
|
@ -21,7 +21,7 @@
|
||||||
*/
|
*/
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
static const char rcsid[] _U_ =
|
static const char rcsid[] _U_ =
|
||||||
"@(#) $Header: /tcpdump/master/libpcap/gencode.c,v 1.286 2007-09-12 19:09:50 guy Exp $ (LBL)";
|
"@(#) $Header: /tcpdump/master/libpcap/gencode.c,v 1.287 2007-09-19 02:40:34 guy Exp $ (LBL)";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
|
@ -1333,6 +1333,78 @@ init_linktype(p)
|
||||||
off_nl = -1;
|
off_nl = -1;
|
||||||
off_nl_nosnap = -1;
|
off_nl_nosnap = -1;
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
case DLT_CAN20B:
|
||||||
|
/*
|
||||||
|
* Currently, only raw "link[N:M]" filtering is supported.
|
||||||
|
*/
|
||||||
|
off_linktype = -1;
|
||||||
|
off_nl = -1;
|
||||||
|
off_nl_nosnap = -1;
|
||||||
|
return;
|
||||||
|
|
||||||
|
case DLT_IEEE802_15_4_LINUX:
|
||||||
|
/*
|
||||||
|
* Currently, only raw "link[N:M]" filtering is supported.
|
||||||
|
*/
|
||||||
|
off_linktype = -1;
|
||||||
|
off_nl = -1;
|
||||||
|
off_nl_nosnap = -1;
|
||||||
|
return;
|
||||||
|
|
||||||
|
case DLT_IEEE802_16_MAC_CPS_RADIO:
|
||||||
|
/*
|
||||||
|
* Currently, only raw "link[N:M]" filtering is supported.
|
||||||
|
*/
|
||||||
|
off_linktype = -1;
|
||||||
|
off_nl = -1;
|
||||||
|
off_nl_nosnap = -1;
|
||||||
|
return;
|
||||||
|
|
||||||
|
case DLT_IEEE802_15_4:
|
||||||
|
/*
|
||||||
|
* Currently, only raw "link[N:M]" filtering is supported.
|
||||||
|
*/
|
||||||
|
off_linktype = -1;
|
||||||
|
off_nl = -1;
|
||||||
|
off_nl_nosnap = -1;
|
||||||
|
return;
|
||||||
|
|
||||||
|
case DLT_SITA:
|
||||||
|
/*
|
||||||
|
* Currently, only raw "link[N:M]" filtering is supported.
|
||||||
|
*/
|
||||||
|
off_linktype = -1;
|
||||||
|
off_nl = -1;
|
||||||
|
off_nl_nosnap = -1;
|
||||||
|
return;
|
||||||
|
|
||||||
|
case DLT_RAIF1:
|
||||||
|
/*
|
||||||
|
* Currently, only raw "link[N:M]" filtering is supported.
|
||||||
|
*/
|
||||||
|
off_linktype = -1;
|
||||||
|
off_nl = -1;
|
||||||
|
off_nl_nosnap = -1;
|
||||||
|
return;
|
||||||
|
|
||||||
|
case DLT_IPMB:
|
||||||
|
/*
|
||||||
|
* Currently, only raw "link[N:M]" filtering is supported.
|
||||||
|
*/
|
||||||
|
off_linktype = -1;
|
||||||
|
off_nl = -1;
|
||||||
|
off_nl_nosnap = -1;
|
||||||
|
return;
|
||||||
|
|
||||||
|
case DLT_BLUETOOTH_HCI_H4_WITH_PHDR:
|
||||||
|
/*
|
||||||
|
* Currently, only raw "link[N:M]" filtering is supported.
|
||||||
|
*/
|
||||||
|
off_linktype = -1;
|
||||||
|
off_nl = -1;
|
||||||
|
off_nl_nosnap = -1;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
bpf_error("unknown data link type %d", linktype);
|
bpf_error("unknown data link type %d", linktype);
|
||||||
/* NOTREACHED */
|
/* NOTREACHED */
|
||||||
|
|
47
pcap.c
47
pcap.c
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
static const char rcsid[] _U_ =
|
static const char rcsid[] _U_ =
|
||||||
"@(#) $Header: /tcpdump/master/libpcap/pcap.c,v 1.109 2007-09-12 21:32:11 guy Exp $ (LBL)";
|
"@(#) $Header: /tcpdump/master/libpcap/pcap.c,v 1.110 2007-09-19 02:40:34 guy Exp $ (LBL)";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
|
@ -327,7 +327,7 @@ static struct dlt_choice dlt_choices[] = {
|
||||||
DLT_CHOICE(DLT_NULL, "BSD loopback"),
|
DLT_CHOICE(DLT_NULL, "BSD loopback"),
|
||||||
DLT_CHOICE(DLT_EN10MB, "Ethernet"),
|
DLT_CHOICE(DLT_EN10MB, "Ethernet"),
|
||||||
DLT_CHOICE(DLT_IEEE802, "Token ring"),
|
DLT_CHOICE(DLT_IEEE802, "Token ring"),
|
||||||
DLT_CHOICE(DLT_ARCNET, "ARCNET"),
|
DLT_CHOICE(DLT_ARCNET, "BSD ARCNET"),
|
||||||
DLT_CHOICE(DLT_SLIP, "SLIP"),
|
DLT_CHOICE(DLT_SLIP, "SLIP"),
|
||||||
DLT_CHOICE(DLT_PPP, "PPP"),
|
DLT_CHOICE(DLT_PPP, "PPP"),
|
||||||
DLT_CHOICE(DLT_FDDI, "FDDI"),
|
DLT_CHOICE(DLT_FDDI, "FDDI"),
|
||||||
|
@ -338,6 +338,7 @@ static struct dlt_choice dlt_choices[] = {
|
||||||
DLT_CHOICE(DLT_ATM_CLIP, "Linux Classical IP-over-ATM"),
|
DLT_CHOICE(DLT_ATM_CLIP, "Linux Classical IP-over-ATM"),
|
||||||
DLT_CHOICE(DLT_PPP_SERIAL, "PPP over serial"),
|
DLT_CHOICE(DLT_PPP_SERIAL, "PPP over serial"),
|
||||||
DLT_CHOICE(DLT_PPP_ETHER, "PPPoE"),
|
DLT_CHOICE(DLT_PPP_ETHER, "PPPoE"),
|
||||||
|
DLT_CHOICE(DLT_SYMANTEC_FIREWALL, "Symantec Firewall"),
|
||||||
DLT_CHOICE(DLT_C_HDLC, "Cisco HDLC"),
|
DLT_CHOICE(DLT_C_HDLC, "Cisco HDLC"),
|
||||||
DLT_CHOICE(DLT_IEEE802_11, "802.11"),
|
DLT_CHOICE(DLT_IEEE802_11, "802.11"),
|
||||||
DLT_CHOICE(DLT_FRELAY, "Frame Relay"),
|
DLT_CHOICE(DLT_FRELAY, "Frame Relay"),
|
||||||
|
@ -349,17 +350,25 @@ static struct dlt_choice dlt_choices[] = {
|
||||||
DLT_CHOICE(DLT_PRISM_HEADER, "802.11 plus Prism header"),
|
DLT_CHOICE(DLT_PRISM_HEADER, "802.11 plus Prism header"),
|
||||||
DLT_CHOICE(DLT_IP_OVER_FC, "RFC 2625 IP-over-Fibre Channel"),
|
DLT_CHOICE(DLT_IP_OVER_FC, "RFC 2625 IP-over-Fibre Channel"),
|
||||||
DLT_CHOICE(DLT_SUNATM, "Sun raw ATM"),
|
DLT_CHOICE(DLT_SUNATM, "Sun raw ATM"),
|
||||||
DLT_CHOICE(DLT_IEEE802_11_RADIO, "802.11 plus BSD radio information header"),
|
DLT_CHOICE(DLT_IEEE802_11_RADIO, "802.11 plus radiotap header"),
|
||||||
DLT_CHOICE(DLT_APPLE_IP_OVER_IEEE1394, "Apple IP-over-IEEE 1394"),
|
|
||||||
DLT_CHOICE(DLT_ARCNET_LINUX, "Linux ARCNET"),
|
DLT_CHOICE(DLT_ARCNET_LINUX, "Linux ARCNET"),
|
||||||
|
DLT_CHOICE(DLT_JUNIPER_MLPPP, "Juniper Multi-Link PPP"),
|
||||||
|
DLT_CHOICE(DLT_JUNIPER_MLFR, "Juniper Multi-Link Frame Relay"),
|
||||||
|
DLT_CHOICE(DLT_JUNIPER_ES, "Juniper Encryption Services PIC"),
|
||||||
|
DLT_CHOICE(DLT_JUNIPER_GGSN, "Juniper GGSN PIC"),
|
||||||
|
DLT_CHOICE(DLT_JUNIPER_MFR, "Juniper FRF.16 Frame Relay"),
|
||||||
|
DLT_CHOICE(DLT_JUNIPER_ATM2, "Juniper ATM2 PIC"),
|
||||||
|
DLT_CHOICE(DLT_JUNIPER_SERVICES, "Juniper Advanced Services PIC"),
|
||||||
|
DLT_CHOICE(DLT_JUNIPER_ATM1, "Juniper ATM1 PIC"),
|
||||||
|
DLT_CHOICE(DLT_APPLE_IP_OVER_IEEE1394, "Apple IP-over-IEEE 1394"),
|
||||||
|
DLT_CHOICE(DLT_MTP2_WITH_PHDR, "SS7 MTP2 with Pseudo-header"),
|
||||||
|
DLT_CHOICE(DLT_MTP2, "SS7 MTP2"),
|
||||||
|
DLT_CHOICE(DLT_MTP3, "SS7 MTP3"),
|
||||||
|
DLT_CHOICE(DLT_SCCP, "SS7 SCCP"),
|
||||||
DLT_CHOICE(DLT_DOCSIS, "DOCSIS"),
|
DLT_CHOICE(DLT_DOCSIS, "DOCSIS"),
|
||||||
DLT_CHOICE(DLT_LINUX_IRDA, "Linux IrDA"),
|
DLT_CHOICE(DLT_LINUX_IRDA, "Linux IrDA"),
|
||||||
DLT_CHOICE(DLT_LINUX_LAPD, "Linux vISDN LAPD"),
|
|
||||||
DLT_CHOICE(DLT_IEEE802_11_RADIO_AVS, "802.11 plus AVS radio information header"),
|
DLT_CHOICE(DLT_IEEE802_11_RADIO_AVS, "802.11 plus AVS radio information header"),
|
||||||
DLT_CHOICE(DLT_SYMANTEC_FIREWALL, "Symantec Firewall"),
|
DLT_CHOICE(DLT_JUNIPER_MONITOR, "Juniper Passive Monitor PIC"),
|
||||||
DLT_CHOICE(DLT_JUNIPER_ATM1, "Juniper ATM1 PIC"),
|
|
||||||
DLT_CHOICE(DLT_JUNIPER_ATM2, "Juniper ATM2 PIC"),
|
|
||||||
DLT_CHOICE(DLT_JUNIPER_MLPPP, "Juniper Multi-Link PPP"),
|
|
||||||
DLT_CHOICE(DLT_PPP_PPPD, "PPP for pppd, with direction flag"),
|
DLT_CHOICE(DLT_PPP_PPPD, "PPP for pppd, with direction flag"),
|
||||||
DLT_CHOICE(DLT_JUNIPER_PPPOE, "Juniper PPPoE"),
|
DLT_CHOICE(DLT_JUNIPER_PPPOE, "Juniper PPPoE"),
|
||||||
DLT_CHOICE(DLT_JUNIPER_PPPOE_ATM, "Juniper PPPoE/ATM"),
|
DLT_CHOICE(DLT_JUNIPER_PPPOE_ATM, "Juniper PPPoE/ATM"),
|
||||||
|
@ -367,29 +376,33 @@ static struct dlt_choice dlt_choices[] = {
|
||||||
DLT_CHOICE(DLT_GPF_T, "GPF-T"),
|
DLT_CHOICE(DLT_GPF_T, "GPF-T"),
|
||||||
DLT_CHOICE(DLT_GPF_F, "GPF-F"),
|
DLT_CHOICE(DLT_GPF_F, "GPF-F"),
|
||||||
DLT_CHOICE(DLT_JUNIPER_PIC_PEER, "Juniper PIC Peer"),
|
DLT_CHOICE(DLT_JUNIPER_PIC_PEER, "Juniper PIC Peer"),
|
||||||
DLT_CHOICE(DLT_JUNIPER_MLFR, "Juniper Multi-Link Frame Relay"),
|
|
||||||
DLT_CHOICE(DLT_ERF_ETH, "Ethernet with Endace ERF header"),
|
DLT_CHOICE(DLT_ERF_ETH, "Ethernet with Endace ERF header"),
|
||||||
DLT_CHOICE(DLT_ERF_POS, "Packet-over-SONET with Endace ERF header"),
|
DLT_CHOICE(DLT_ERF_POS, "Packet-over-SONET with Endace ERF header"),
|
||||||
DLT_CHOICE(DLT_JUNIPER_GGSN, "Juniper GGSN PIC"),
|
DLT_CHOICE(DLT_LINUX_LAPD, "Linux vISDN LAPD"),
|
||||||
DLT_CHOICE(DLT_JUNIPER_ES, "Juniper Encryption Services PIC"),
|
|
||||||
DLT_CHOICE(DLT_JUNIPER_MONITOR, "Juniper Passive Monitor PIC"),
|
|
||||||
DLT_CHOICE(DLT_JUNIPER_SERVICES, "Juniper Advanced Services PIC"),
|
|
||||||
DLT_CHOICE(DLT_JUNIPER_MFR, "Juniper FRF.16 Frame Relay"),
|
|
||||||
DLT_CHOICE(DLT_JUNIPER_ETHER, "Juniper Ethernet"),
|
DLT_CHOICE(DLT_JUNIPER_ETHER, "Juniper Ethernet"),
|
||||||
DLT_CHOICE(DLT_JUNIPER_PPP, "Juniper PPP"),
|
DLT_CHOICE(DLT_JUNIPER_PPP, "Juniper PPP"),
|
||||||
DLT_CHOICE(DLT_JUNIPER_FRELAY, "Juniper Frame Relay"),
|
DLT_CHOICE(DLT_JUNIPER_FRELAY, "Juniper Frame Relay"),
|
||||||
DLT_CHOICE(DLT_JUNIPER_CHDLC, "Juniper C-HDLC"),
|
DLT_CHOICE(DLT_JUNIPER_CHDLC, "Juniper C-HDLC"),
|
||||||
DLT_CHOICE(DLT_MFR, "FRF.16 Frame Relay"),
|
DLT_CHOICE(DLT_MFR, "FRF.16 Frame Relay"),
|
||||||
DLT_CHOICE(DLT_JUNIPER_VP, "Juniper Voice PIC"),
|
DLT_CHOICE(DLT_JUNIPER_VP, "Juniper Voice PIC"),
|
||||||
DLT_CHOICE(DLT_MTP2, "SS7 MTP2"),
|
|
||||||
DLT_CHOICE(DLT_A429, "Arinc 429"),
|
DLT_CHOICE(DLT_A429, "Arinc 429"),
|
||||||
DLT_CHOICE(DLT_A653_ICM, "Arinc 653 Interpartition Communication"),
|
DLT_CHOICE(DLT_A653_ICM, "Arinc 653 Interpartition Communication"),
|
||||||
DLT_CHOICE(DLT_USB, "USB"),
|
DLT_CHOICE(DLT_USB, "USB"),
|
||||||
DLT_CHOICE(DLT_BLUETOOTH_HCI_H4, "Bluetooth HCI UART transport layer"),
|
DLT_CHOICE(DLT_BLUETOOTH_HCI_H4, "Bluetooth HCI UART transport layer"),
|
||||||
|
DLT_CHOICE(DLT_IEEE802_16_MAC_CPS, "IEEE 802.16 MAC Common Part Sublayer"),
|
||||||
DLT_CHOICE(DLT_USB_LINUX, "USB with Linux header"),
|
DLT_CHOICE(DLT_USB_LINUX, "USB with Linux header"),
|
||||||
DLT_CHOICE(DLT_CAN20B, "Controller Area Network (CAN) v. 2.0B"),
|
DLT_CHOICE(DLT_CAN20B, "Controller Area Network (CAN) v. 2.0B"),
|
||||||
DLT_CHOICE(DLT_MTP2_WITH_PHDR, "SS7 MTP2 with Pseudo-header"),
|
DLT_CHOICE(DLT_IEEE802_15_4_LINUX, "IEEE 802.15.4 with Linux padding"),
|
||||||
|
DLT_CHOICE(DLT_PPI, "Per-Packet Information"),
|
||||||
|
DLT_CHOICE(DLT_IEEE802_16_MAC_CPS_RADIO, "IEEE 802.16 MAC Common Part Sublayer plus radiotap header"),
|
||||||
|
DLT_CHOICE(DLT_JUNIPER_ISM, "Juniper Integrated Service Module"),
|
||||||
|
DLT_CHOICE(DLT_IEEE802_15_4, "IEEE 802.15.4"),
|
||||||
|
DLT_CHOICE(DLT_SITA, "SITA pseudo-header"),
|
||||||
|
DLT_CHOICE(DLT_ERF, "Endace ERF header"),
|
||||||
|
DLT_CHOICE(DLT_RAIF1, "Ethernet with u10 Networks pseudo-header"),
|
||||||
|
DLT_CHOICE(DLT_IPMB, "IPMB"),
|
||||||
DLT_CHOICE(DLT_JUNIPER_ST, "Juniper Secure Tunnel"),
|
DLT_CHOICE(DLT_JUNIPER_ST, "Juniper Secure Tunnel"),
|
||||||
|
DLT_CHOICE(DLT_BLUETOOTH_HCI_H4_WITH_PHDR, "Bluetooth HCI UART transport layer plus pseudo-header"),
|
||||||
DLT_CHOICE_SENTINEL
|
DLT_CHOICE_SENTINEL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
10
pcap/bpf.h
10
pcap/bpf.h
|
@ -37,7 +37,7 @@
|
||||||
*
|
*
|
||||||
* @(#)bpf.h 7.1 (Berkeley) 5/7/91
|
* @(#)bpf.h 7.1 (Berkeley) 5/7/91
|
||||||
*
|
*
|
||||||
* @(#) $Header: /tcpdump/master/libpcap/pcap/bpf.h,v 1.16 2007-09-10 20:17:18 hannes Exp $ (LBL)
|
* @(#) $Header: /tcpdump/master/libpcap/pcap/bpf.h,v 1.17 2007-09-19 02:40:35 guy Exp $ (LBL)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -132,7 +132,7 @@ struct bpf_version {
|
||||||
#define DLT_AX25 3 /* Amateur Radio AX.25 */
|
#define DLT_AX25 3 /* Amateur Radio AX.25 */
|
||||||
#define DLT_PRONET 4 /* Proteon ProNET Token Ring */
|
#define DLT_PRONET 4 /* Proteon ProNET Token Ring */
|
||||||
#define DLT_CHAOS 5 /* Chaos */
|
#define DLT_CHAOS 5 /* Chaos */
|
||||||
#define DLT_IEEE802 6 /* IEEE 802 Networks */
|
#define DLT_IEEE802 6 /* 802.5 Token Ring */
|
||||||
#define DLT_ARCNET 7 /* ARCNET, with BSD-style header */
|
#define DLT_ARCNET 7 /* ARCNET, with BSD-style header */
|
||||||
#define DLT_SLIP 8 /* Serial Line IP */
|
#define DLT_SLIP 8 /* Serial Line IP */
|
||||||
#define DLT_PPP 9 /* Point-to-point Protocol */
|
#define DLT_PPP 9 /* Point-to-point Protocol */
|
||||||
|
@ -735,6 +735,12 @@ struct bpf_version {
|
||||||
*/
|
*/
|
||||||
#define DLT_JUNIPER_ST 200
|
#define DLT_JUNIPER_ST 200
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Bluetooth HCI UART transport layer (part H:4), with pseudo-header
|
||||||
|
* that includes direction information; requested by Paolo Abeni.
|
||||||
|
*/
|
||||||
|
#define DLT_BLUETOOTH_HCI_H4_WITH_PHDR 201
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The instruction encodings.
|
* The instruction encodings.
|
||||||
|
|
10
savefile.c
10
savefile.c
|
@ -30,7 +30,7 @@
|
||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
static const char rcsid[] _U_ =
|
static const char rcsid[] _U_ =
|
||||||
"@(#) $Header: /tcpdump/master/libpcap/savefile.c,v 1.163 2007-09-10 20:17:18 hannes Exp $ (LBL)";
|
"@(#) $Header: /tcpdump/master/libpcap/savefile.c,v 1.164 2007-09-19 02:40:35 guy Exp $ (LBL)";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
|
@ -559,6 +559,12 @@ static const char rcsid[] _U_ =
|
||||||
*/
|
*/
|
||||||
#define LINKTYPE_JUNIPER_ST 200
|
#define LINKTYPE_JUNIPER_ST 200
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Bluetooth HCI UART transport layer (part H:4), with pseudo-header
|
||||||
|
* that includes direction information; requested by Paolo Abeni.
|
||||||
|
*/
|
||||||
|
#define LINKTYPE_BLUETOOTH_HCI_H4_WITH_PHDR 201
|
||||||
|
|
||||||
|
|
||||||
static struct linktype_map {
|
static struct linktype_map {
|
||||||
int dlt;
|
int dlt;
|
||||||
|
@ -822,6 +828,8 @@ static struct linktype_map {
|
||||||
/* Juniper Secure Tunnel */
|
/* Juniper Secure Tunnel */
|
||||||
{ DLT_JUNIPER_ST, LINKTYPE_JUNIPER_ST },
|
{ DLT_JUNIPER_ST, LINKTYPE_JUNIPER_ST },
|
||||||
|
|
||||||
|
/* Bluetooth HCI UART transport layer, with pseudo-header */
|
||||||
|
{ DLT_BLUETOOTH_HCI_H4_WITH_PHDR, LINKTYPE_BLUETOOTH_HCI_H4_WITH_PHDR },
|
||||||
|
|
||||||
{ -1, -1 }
|
{ -1, -1 }
|
||||||
};
|
};
|
||||||
|
|
Reference in New Issue