Module Name: src Committed By: christos Date: Tue Jan 24 22:12:42 UTC 2017
Modified Files: src/sys/net: dlt.h Log Message: Sync with libpcap-1.8.1 To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/sys/net/dlt.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net/dlt.h diff -u src/sys/net/dlt.h:1.16 src/sys/net/dlt.h:1.17 --- src/sys/net/dlt.h:1.16 Tue Mar 31 17:42:16 2015 +++ src/sys/net/dlt.h Tue Jan 24 17:12:42 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: dlt.h,v 1.16 2015/03/31 21:42:16 christos Exp $ */ +/* $NetBSD: dlt.h,v 1.17 2017/01/24 22:12:42 christos Exp $ */ /*- * Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 @@ -38,8 +38,6 @@ * SUCH DAMAGE. * * @(#)bpf.h 7.1 (Berkeley) 5/7/91 - * - * @(#) Header: /tcpdump/master/libpcap/pcap/bpf.h,v 1.32 2008-12-23 20:13:29 guy Exp (LBL) */ #ifndef _NET_DLT_H_ @@ -303,40 +301,62 @@ /* * Sigh. * - * This was reserved for Siemens HiPath HDLC on 2002-01-25, as + * 121 was reserved for Siemens HiPath HDLC on 2002-01-25, as * requested by Tomas Kukosa. * * On 2004-02-25, a FreeBSD checkin to sys/net/bpf.h was made that - * assigned 121 as DLT_PFSYNC. Its libpcap does DLT_ <-> LINKTYPE_ - * mapping, so it probably supports capturing on the pfsync device - * but not saving the captured data to a pcap file. + * assigned 121 as DLT_PFSYNC. In current versions, its libpcap + * does DLT_ <-> LINKTYPE_ mapping, mapping DLT_PFSYNC to a + * LINKTYPE_PFSYNC value of 246, so it should write out DLT_PFSYNC + * dump files with 246 as the link-layer header type. (Earlier + * versions might not have done mapping, in which case they would + * have written them out with a link-layer header type of 121.) * * OpenBSD, from which pf came, however, uses 18 for DLT_PFSYNC; - * their libpcap does no DLT_ <-> LINKTYPE_ mapping, so it would - * use 18 in pcap files as well. - * - * NetBSD and DragonFly BSD also use 18 for DLT_PFSYNC; their - * libpcaps do DLT_ <-> LINKTYPE_ mapping, and neither has an entry - * for DLT_PFSYNC, so it might not be able to write out dump files - * with 18 as the link-layer header type. (Earlier versions might - * not have done mapping, in which case they'd work the same way - * OpenBSD does.) - * - * Mac OS X defines it as 18, but doesn't appear to use it as of - * Mac OS X 10.7.3. Its libpcap does DLT_ <-> LINKTYPE_ mapping. - * - * We'll define DLT_PFSYNC as 121 on FreeBSD and define it as 18 on - * all other platforms. We'll define DLT_HHDLC as 121 on everything - * except for FreeBSD; anybody who wants to compile, on FreeBSD, code - * that uses DLT_HHDLC is out of luck. - * - * We'll define LINKTYPE_PFSYNC as 18, *even on FreeBSD*, and map - * it, so that savefiles won't use 121 for PFSYNC - they'll all - * use 18. Code that uses pcap_datalink() to determine the link-layer - * header type of a savefile won't, when built and run on FreeBSD, - * be able to distinguish between LINKTYPE_PFSYNC and LINKTYPE_HHDLC - * capture files; code that doesn't, such as the code in Wireshark, - * will be able to distinguish between them. + * its libpcap does no DLT_ <-> LINKTYPE_ mapping, so it would + * write out DLT_PFSYNC dump files with use 18 as the link-layer + * header type. + * + * NetBSD, DragonFly BSD, and Darwin also use 18 for DLT_PFSYNC; in + * current versions, their libpcaps do DLT_ <-> LINKTYPE_ mapping, + * mapping DLT_PFSYNC to a LINKTYPE_PFSYNC value of 246, so they + * should write out DLT_PFSYNC dump files with 246 as the link-layer + * header type. (Earlier versions might not have done mapping, + * in which case they'd work the same way OpenBSD does, writing + * them out with a link-layer header type of 18.) + * + * We'll define DLT_PFSYNC as: + * + * 18 on NetBSD, OpenBSD, DragonFly BSD, and Darwin; + * + * 121 on FreeBSD; + * + * 246 everywhere else. + * + * We'll define DLT_HHDLC as 121 on everything except for FreeBSD; + * anybody who wants to compile, on FreeBSD, code that uses DLT_HHDLC + * is out of luck. + * + * We'll define LINKTYPE_PFSYNC as 246 on *all* platforms, so that + * savefiles written using *this* code won't use 18 or 121 for PFSYNC, + * they'll all use 246. + * + * Code that uses pcap_datalink() to determine the link-layer header + * type of a savefile won't, when built and run on FreeBSD, be able + * to distinguish between LINKTYPE_PFSYNC and LINKTYPE_HHDLC capture + * files, as pcap_datalink() will give 121 for both of them. Code + * that doesn't, such as the code in Wireshark, will be able to + * distinguish between them. + * + * FreeBSD's libpcap won't map a link-layer header type of 18 - i.e., + * DLT_PFSYNC files from OpenBSD and possibly older versions of NetBSD, + * DragonFly BSD, and OS X - to DLT_PFSYNC, so code built with FreeBSD's + * libpcap won't treat those files as DLT_PFSYNC files. + * + * Other libpcaps won't map a link-layer header type of 121 to DLT_PFSYNC; + * this means they can read DLT_HHDLC files, if any exist, but won't + * treat pcap files written by any older versions of FreeBSD libpcap that + * didn't map to 246 as DLT_PFSYNC files. */ #ifdef __FreeBSD__ #define DLT_PFSYNC 121 @@ -653,9 +673,23 @@ #define DLT_A653_ICM 185 /* - * USB packets, beginning with a USB setup header; requested by - * Paolo Abeni <paolo.ab...@email.it>. + * This used to be "USB packets, beginning with a USB setup header; + * requested by Paolo Abeni <paolo.ab...@email.it>." + * + * However, that header didn't work all that well - it left out some + * useful information - and was abandoned in favor of the DLT_USB_LINUX + * header. + * + * This is now used by FreeBSD for its BPF taps for USB; that has its + * own headers. So it is written, so it is done. + * + * For source-code compatibility, we also define DLT_USB to have this + * value. We do it numerically so that, if code that includes this + * file (directly or indirectly) also includes an OS header that also + * defines DLT_USB as 186, we don't get a redefinition warning. + * (NetBSD 7 does that.) */ +#define DLT_USB_FREEBSD 186 #define DLT_USB 186 /* @@ -965,8 +999,10 @@ /* * CAN (Controller Area Network) frames, with a pseudo-header as supplied - * by Linux SocketCAN. See Documentation/networking/can.txt in the Linux - * source. + * by Linux SocketCAN, and with multi-byte numerical fields in that header + * in big-endian byte order. + * + * See Documentation/networking/can.txt in the Linux source. * * Requested by Felix Obenhuber <fe...@obenhuber.de>. */ @@ -1073,7 +1109,7 @@ #define DLT_NETANALYZER_TRANSPARENT 241 /* - * IP-over-Infiniband, as specified by RFC 4391. + * IP-over-InfiniBand, as specified by RFC 4391. * * Requested by Petr Sumbera <petr.sumb...@oracle.com>. */ @@ -1105,17 +1141,16 @@ #define DLT_NFC_LLCP 245 /* - * 245 is used as LINKTYPE_PFSYNC; do not use it for any other purpose. + * 246 is used as LINKTYPE_PFSYNC; do not use it for any other purpose. * * DLT_PFSYNC has different values on different platforms, and all of * them collide with something used elsewhere. On platforms that - * don't already define it, define it as 245. + * don't already define it, define it as 246. */ #if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__DragonFly__) && !defined(__APPLE__) #define DLT_PFSYNC 246 #endif - /* * Raw InfiniBand packets, starting with the Local Routing Header. * @@ -1154,7 +1189,7 @@ /* * DLT type for upper-protocol layer PDU saves from wireshark. - * + * * the actual contents are determined by two TAGs stored with each * packet: * EXP_PDU_TAG_LINKTYPE the link type (LINKTYPE_ value) of the @@ -1266,7 +1301,28 @@ */ #define DLT_WATTSTOPPER_DLM 263 -#define DLT_MATCHING_MAX 263 /* highest value in the "matching" range */ +/* + * ISO 14443 contactless smart card messages. + */ +#define DLT_ISO_14443 264 + +/* + * Radio data system (RDS) groups. IEC 62106. + * Per Jonathan Brucker <jonathan.bru...@gmail.com>. + */ +#define DLT_RDS 265 + +/* + * In case the code that includes this file (directly or indirectly) + * has also included OS files that happen to define DLT_MATCHING_MAX, + * with a different value (perhaps because that OS hasn't picked up + * the latest version of our DLT definitions), we undefine the + * previous value of DLT_MATCHING_MAX. + */ +#ifdef DLT_MATCHING_MAX +#undef DLT_MATCHING_MAX +#endif +#define DLT_MATCHING_MAX 265 /* highest value in the "matching" range */ /* * DLT and savefile link type values are split into a class and