Re-apply r190640.

- Restore local change to include <net/bpf.h> inside pcap.h.
This fixes ports build problems.
- Update local copy of dlt.h with new DLT types.
- Revert no longer needed <net/bpf.h> includes which were added
as part of r334277.

Suggested by:	antoine@, delphij@, np@
MFC after:	3 weeks
Sponsored by:	Mellanox Technologies
This commit is contained in:
Hans Petter Selasky 2018-05-31 09:11:21 +00:00
parent e69b55eadb
commit 5fd1ea0810
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=334418
5 changed files with 78 additions and 22 deletions

View File

@ -84,9 +84,7 @@
#include <sys/time.h> #include <sys/time.h>
#endif /* _WIN32/MSDOS/UN*X */ #endif /* _WIN32/MSDOS/UN*X */
#ifndef PCAP_DONT_INCLUDE_PCAP_BPF_H #include <net/bpf.h>
#include <pcap/bpf.h>
#endif
#include <stdio.h> #include <stdio.h>

View File

@ -38,7 +38,6 @@ __FBSDID("$FreeBSD$");
#include <sys/file.h> #include <sys/file.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <net/bpf.h>
#include <net/if.h> #include <net/if.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>

View File

@ -8,7 +8,7 @@
*/ */
#include "includes.h" #include "includes.h"
#if defined(__APPLE__) || defined(__GLIBC__) || defined(__FreeBSD__) #if defined(__APPLE__) || defined(__GLIBC__)
#include <net/bpf.h> #include <net/bpf.h>
#endif /* __APPLE__ */ #endif /* __APPLE__ */
#include <pcap.h> #include <pcap.h>

View File

@ -122,9 +122,9 @@
/* /*
* 18 is used for DLT_PFSYNC in OpenBSD, NetBSD, DragonFly BSD and * 18 is used for DLT_PFSYNC in OpenBSD, NetBSD, DragonFly BSD and
* Mac OS X; don't use it for anything else. (FreeBSD uses 121, * macOS; don't use it for anything else. (FreeBSD uses 121, which
* which collides with DLT_HHDLC, even though it doesn't use 18 * collides with DLT_HHDLC, even though it doesn't use 18 for
* for anything and doesn't appear to have ever used it for anything.) * anything and doesn't appear to have ever used it for anything.)
* *
* We define it as 18 on those platforms; it is, unfortunately, used * We define it as 18 on those platforms; it is, unfortunately, used
* for DLT_CIP in Suse 6.3, so we don't define it as DLT_PFSYNC * for DLT_CIP in Suse 6.3, so we don't define it as DLT_PFSYNC
@ -342,7 +342,7 @@
* *
* FreeBSD's libpcap won't map a link-layer header type of 18 - i.e., * 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, * 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 * DragonFly BSD, and macOS - to DLT_PFSYNC, so code built with FreeBSD's
* libpcap won't treat those files as DLT_PFSYNC files. * 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; * Other libpcaps won't map a link-layer header type of 121 to DLT_PFSYNC;
@ -948,14 +948,14 @@
* the pseudo-header is: * the pseudo-header is:
* *
* struct dl_ipnetinfo { * struct dl_ipnetinfo {
* u_int8_t dli_version; * uint8_t dli_version;
* u_int8_t dli_family; * uint8_t dli_family;
* u_int16_t dli_htype; * uint16_t dli_htype;
* u_int32_t dli_pktlen; * uint32_t dli_pktlen;
* u_int32_t dli_ifindex; * uint32_t dli_ifindex;
* u_int32_t dli_grifindex; * uint32_t dli_grifindex;
* u_int32_t dli_zsrc; * uint32_t dli_zsrc;
* u_int32_t dli_zdst; * uint32_t dli_zdst;
* }; * };
* *
* dli_version is 2 for the current version of the pseudo-header. * dli_version is 2 for the current version of the pseudo-header.
@ -1231,7 +1231,7 @@
* So I'll just give them one; hopefully this will show up in a * So I'll just give them one; hopefully this will show up in a
* libpcap release in time for them to get this into 10.10 Big Sur * libpcap release in time for them to get this into 10.10 Big Sur
* or whatever Mavericks' successor is called. LINKTYPE_PKTAP * or whatever Mavericks' successor is called. LINKTYPE_PKTAP
* will be 258 *even on OS X*; that is *intentional*, so that * will be 258 *even on macOS*; that is *intentional*, so that
* PKTAP files look the same on *all* OSes (different OSes can have * PKTAP files look the same on *all* OSes (different OSes can have
* different numerical values for a given DLT_, but *MUST NOT* have * different numerical values for a given DLT_, but *MUST NOT* have
* different values for what goes in a file, as files can be moved * different values for what goes in a file, as files can be moved
@ -1243,9 +1243,9 @@
* and that will continue to be DLT_USER2 on Darwin-based OSes. That way, * and that will continue to be DLT_USER2 on Darwin-based OSes. That way,
* binary compatibility with Mavericks is preserved for programs using * binary compatibility with Mavericks is preserved for programs using
* this version of libpcap. This does mean that if you were using * this version of libpcap. This does mean that if you were using
* DLT_USER2 for some capture device on OS X, you can't do so with * DLT_USER2 for some capture device on macOS, you can't do so with
* this version of libpcap, just as you can't with Apple's libpcap - * this version of libpcap, just as you can't with Apple's libpcap -
* on OS X, they define DLT_PKTAP to be DLT_USER2, so programs won't * on macOS, they define DLT_PKTAP to be DLT_USER2, so programs won't
* be able to distinguish between PKTAP and whatever you were using * be able to distinguish between PKTAP and whatever you were using
* DLT_USER2 for. * DLT_USER2 for.
* *
@ -1304,6 +1304,66 @@
*/ */
#define DLT_RDS 265 #define DLT_RDS 265
/*
* USB packets, beginning with a Darwin (macOS, etc.) header.
*/
#define DLT_USB_DARWIN 266
/*
* OpenBSD DLT_OPENFLOW.
*/
#define DLT_OPENFLOW 267
/*
* SDLC frames containing SNA PDUs.
*/
#define DLT_SDLC 268
/*
* per "Selvig, Bjorn" <b.selvig@ti.com> used for
* TI protocol sniffer.
*/
#define DLT_TI_LLN_SNIFFER 269
/*
* per: Erik de Jong <erikdejong at gmail.com> for
* https://github.com/eriknl/LoRaTap/releases/tag/v0.1
*/
#define DLT_LORATAP 270
/*
* per: Stefanha at gmail.com for
* http://lists.sandelman.ca/pipermail/tcpdump-workers/2017-May/000772.html
* and: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/vsockmon.h
* for: http://qemu-project.org/Features/VirtioVsock
*/
#define DLT_VSOCK 271
/*
* Nordic Semiconductor Bluetooth LE sniffer.
*/
#define DLT_NORDIC_BLE 272
/*
* Excentis DOCSIS 3.1 RF sniffer (XRA-31)
* per: bruno.verstuyft at excentis.com
* http://www.xra31.com/xra-header
*/
#define DLT_DOCSIS31_XRA31 273
/*
* mPackets, as specified by IEEE 802.3br Figure 99-4, starting
* with the preamble and always ending with a CRC field.
*/
#define DLT_ETHERNET_MPACKET 274
/*
* DisplayPort AUX channel monitoring data as specified by VESA
* DisplayPort(DP) Standard preceeded by a pseudo-header.
* per dirk.eibach at gdsys.cc
*/
#define DLT_DISPLAYPORT_AUX 275
/* /*
* In case the code that includes this file (directly or indirectly) * In case the code that includes this file (directly or indirectly)
* has also included OS files that happen to define DLT_MATCHING_MAX, * has also included OS files that happen to define DLT_MATCHING_MAX,
@ -1314,7 +1374,7 @@
#ifdef DLT_MATCHING_MAX #ifdef DLT_MATCHING_MAX
#undef DLT_MATCHING_MAX #undef DLT_MATCHING_MAX
#endif #endif
#define DLT_MATCHING_MAX 265 /* highest value in the "matching" range */ #define DLT_MATCHING_MAX 275 /* highest value in the "matching" range */
/* /*
* DLT and savefile link type values are split into a class and * DLT and savefile link type values are split into a class and

View File

@ -37,7 +37,6 @@ __FBSDID("$FreeBSD$");
#include <arpa/inet.h> #include <arpa/inet.h>
#include <net/ethernet.h> #include <net/ethernet.h>
#include <net/sff8472.h> #include <net/sff8472.h>
#include <net/bpf.h>
#include <netinet/in.h> #include <netinet/in.h>
#include <ctype.h> #include <ctype.h>