svn commit: r334277 - in head: contrib/libpcap contrib/ofed/usr.lib/3 contrib/pf/pflogd contrib/wpa/src/l2_packet lib lib/libpcap share/mk usr.sbin/cxgbetool

Hans Petter Selasky hselasky at FreeBSD.org
Mon May 28 08:12:20 UTC 2018


Author: hselasky
Date: Mon May 28 08:12:18 2018
New Revision: 334277
URL: https://svnweb.freebsd.org/changeset/base/334277

Log:
  MFV r333789: libpcap 1.9.0 (pre-release)
  
  MFC after:	1 month
  Sponsored by:	Mellanox Technologies

Replaced:
  head/contrib/libpcap/
     - copied from r333789, vendor/libpcap/dist/
Deleted:
  head/lib/libpcap/pcap-netmap.c
Modified:
  head/contrib/ofed/usr.lib/3/Makefile
  head/contrib/pf/pflogd/pflogd.c
  head/contrib/wpa/src/l2_packet/l2_packet_freebsd.c
  head/lib/Makefile
  head/lib/libpcap/Makefile
  head/lib/libpcap/config.h
  head/share/mk/src.libnames.mk
  head/usr.sbin/cxgbetool/cxgbetool.c

Modified: head/contrib/ofed/usr.lib/3/Makefile
==============================================================================
--- head/contrib/ofed/usr.lib/3/Makefile	Mon May 28 06:01:02 2018	(r334276)
+++ head/contrib/ofed/usr.lib/3/Makefile	Mon May 28 08:12:18 2018	(r334277)
@@ -2,7 +2,8 @@
 
 SUBDIR= \
 ../../libibnetdisc \
-../../opensm/libopensm
+../../opensm/libopensm \
+../../../../lib/libpcap
 
 SUBDIR_PARALLEL=
 

Modified: head/contrib/pf/pflogd/pflogd.c
==============================================================================
--- head/contrib/pf/pflogd/pflogd.c	Mon May 28 06:01:02 2018	(r334276)
+++ head/contrib/pf/pflogd/pflogd.c	Mon May 28 08:12:18 2018	(r334277)
@@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/file.h>
 #include <sys/stat.h>
 #include <sys/socket.h>
+#include <net/bpf.h>
 #include <net/if.h>
 #include <stdio.h>
 #include <stdlib.h>

Modified: head/contrib/wpa/src/l2_packet/l2_packet_freebsd.c
==============================================================================
--- head/contrib/wpa/src/l2_packet/l2_packet_freebsd.c	Mon May 28 06:01:02 2018	(r334276)
+++ head/contrib/wpa/src/l2_packet/l2_packet_freebsd.c	Mon May 28 08:12:18 2018	(r334277)
@@ -8,7 +8,7 @@
  */
 
 #include "includes.h"
-#if defined(__APPLE__) || defined(__GLIBC__)
+#if defined(__APPLE__) || defined(__GLIBC__) || defined(__FreeBSD__)
 #include <net/bpf.h>
 #endif /* __APPLE__ */
 #include <pcap.h>

Modified: head/lib/Makefile
==============================================================================
--- head/lib/Makefile	Mon May 28 06:01:02 2018	(r334276)
+++ head/lib/Makefile	Mon May 28 08:12:18 2018	(r334277)
@@ -67,7 +67,7 @@ SUBDIR=	${SUBDIR_BOOTSTRAP} \
 	libopie \
 	libpam \
 	libpathconv \
-	libpcap \
+	${_libpcap} \
 	libpjdlog \
 	${_libproc} \
 	libprocstat \
@@ -182,6 +182,14 @@ SUBDIR.${MK_PMC}+=	libopencsd
 .if ${MACHINE_CPUARCH} == "amd64"
 SUBDIR.${MK_PMC}+=	libipt
 SUBDIR.${MK_BHYVE}+=	libvmmapi
+.endif
+
+.if ${MK_OFED} == "no"
+#
+# When OFED is enabled libpcap is built as part of
+# OFED due to library dependencies
+#
+_libpcap=	libpcap
 .endif
 
 .if ${MACHINE_CPUARCH} != "sparc64"

Modified: head/lib/libpcap/Makefile
==============================================================================
--- head/lib/libpcap/Makefile	Mon May 28 06:01:02 2018	(r334276)
+++ head/lib/libpcap/Makefile	Mon May 28 08:12:18 2018	(r334277)
@@ -7,16 +7,51 @@ SHLIBDIR?= /lib
 
 PACKAGE=lib${LIB}
 LIB=	pcap
-SRCS=	grammar.y tokdefs.h pcap_version.h pcap-bpf.c \
-	pcap-netmap.c fad-helpers.c \
-	pcap.c pcap-common.c inet.c fad-getad.c gencode.c optimize.c nametoaddr.c \
-	etherent.c savefile.c bpf_filter.c bpf_image.c bpf_dump.c \
-	scanner.l sf-pcap.c sf-pcap-ng.c version.c
 
+SRCS=	bpf_dump.c \
+	bpf_filter.c \
+	bpf_image.c \
+	etherent.c \
+	fad-getad.c \
+	fmtutils.c \
+	gencode.c \
+	grammar.y \
+	nametoaddr.c \
+	optimize.c \
+	pcap-bpf.c \
+	pcap-common.c \
+	pcap-netmap.c \
+	pcap-netmap.h \
+	pcap.c \
+	savefile.c \
+	scanner.l \
+	sf-pcap.c \
+	sf-pcapng.c \
+	tokdefs.h
+
 # Old compatibility headers
-INCS=	pcap.h pcap-namedb.h pcap-bpf.h
+INCS=	fmtutils.h \
+	pcap-bpf.h \
+	pcap-namedb.h \
+	pcap-netmap.h \
+	pcap.h
 
-PCAPINCS=	pcap/pcap.h pcap/namedb.h pcap/bpf.h pcap/dlt.h pcap/export-defs.h
+PCAPINCS= \
+	pcap/bluetooth.h \
+	pcap/bpf.h \
+	pcap/can_socketcan.h \
+	pcap/compiler-tests.h \
+	pcap/dlt.h \
+	pcap/funcattrs.h \
+	pcap/ipnet.h \
+	pcap/namedb.h \
+	pcap/nflog.h \
+	pcap/pcap-inttypes.h \
+	pcap/pcap.h \
+	pcap/sll.h \
+	pcap/usb.h \
+	pcap/vlan.h
+
 PCAPINCSDIR=	${INCLUDEDIR}/pcap
 INCSGROUPS=	INCS PCAPINCS
 
@@ -40,6 +75,7 @@ MAN=	pcap.3 \
 	pcap_fileno.3 \
 	pcap_findalldevs.3 \
 	pcap_freecode.3 \
+	pcap_get_required_select_timeout.3 \
 	pcap_get_selectable_fd.3 \
 	pcap_get_tstamp_precision.3 \
 	pcap_geterr.3 \
@@ -61,6 +97,7 @@ MAN=	pcap.3 \
 	pcap_set_datalink.3 \
 	pcap_set_immediate_mode.3 \
 	pcap_set_promisc.3 \
+	pcap_set_protocol.3 \
 	pcap_set_rfmon.3 \
 	pcap_set_snaplen.3 \
 	pcap_set_timeout.3 \
@@ -73,12 +110,11 @@ MAN=	pcap.3 \
 	pcap_stats.3 \
 	pcap_statustostr.3 \
 	pcap_strerror.3 \
-	pcap-savefile.5 \
 	pcap_tstamp_type_name_to_val.3 \
-	pcap_tstamp_type_val_to_name.3 \
-	pcap-filter.7 \
-	pcap-linktype.7
-MLINKS=	pcap_datalink_val_to_name.3 pcap_datalink_val_to_description.3 \
+	pcap_tstamp_type_val_to_name.3
+
+MLINKS= \
+	pcap_datalink_val_to_name.3 pcap_datalink_val_to_description.3 \
 	pcap_dump_open.3 pcap_dump_fopen.3 \
 	pcap_findalldevs.3 pcap_freealldevs.3 \
 	pcap_geterr.3 pcap_perror.3 \
@@ -93,7 +129,7 @@ MLINKS=	pcap_datalink_val_to_name.3 pcap_datalink_val_
 
 # Our man pages are a special copy from the distdir. See below.
 CLEANFILES+=${MAN}
-CLEANFILES+=tokdefs.h scanner.h pcap_version.h version.c
+CLEANFILES+=tokdefs.h scanner.h 
 
 YFLAGS+=-p pcap_
 LFLAGS+=-Ppcap_ --header-file=${.OBJDIR}/scanner.h --nounput
@@ -108,6 +144,15 @@ CFLAGS+=-DINET6
 CFLAGS+=-DHAVE_NET_PFVAR_H
 .endif
 
+CFLAGS+= -DPCAP_SUPPORT_NETMAP
+
+.if ${MK_OFED} != "no"
+SRCS+= pcap-rdmasniff.c
+LIBADD+= ibverbs
+LIBADD+= mlx5
+CFLAGS+= -DPCAP_SUPPORT_RDMASNIFF
+.endif
+
 WARNS?=	0
 
 SHLIB_MAJOR=	8
@@ -120,14 +165,6 @@ CFLAGS+=-I${PCAP_DISTDIR}
 .PATH:	${PCAP_DISTDIR}
 .PATH:	${PCAP_DISTDIR}/bpf/net
 
-version.c: ${PCAP_DISTDIR}/VERSION
-	@rm -f $@
-	sed 's/.*/char pcap_version[] = "&";/' ${PCAP_DISTDIR}/VERSION > $@
-
-pcap_version.h: ${PCAP_DISTDIR}/VERSION
-	@rm -f $@
-	sed 's/.*/char pcap_version_string[] = "libpcap version &";/' ${PCAP_DISTDIR}/VERSION > $@
-
 tokdefs.h: grammar.h .NOMETA
 	ln -sf ${.ALLSRC} ${.TARGET}
 
@@ -138,10 +175,14 @@ tokdefs.h: grammar.h .NOMETA
 ${_page}:
 	if [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap/} ]; then		\
 		F=${_page:S/3$/3pcap/}; 				\
+	elif [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap.in/} ]; then		\
+		F=${_page:S/3$/3pcap.in/}; 				\
+	elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile.in/} ]; then	\
+		F=${_page:S/5$/manfile.in/};				\
 	elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile/} ]; then	\
 		F=${_page:S/5$/manfile/};				\
 	else								\
-		F=${_page:S/7$/manmisc/};				\
+		F=${_page:S/7$/manmisc.in/};				\
 	fi;								\
 	sed -e 's/3PCAP/3/g' ${PCAP_DISTDIR}/$$F > ${_page}
 .endfor

Modified: head/lib/libpcap/config.h
==============================================================================
--- head/lib/libpcap/config.h	Mon May 28 06:01:02 2018	(r334276)
+++ head/lib/libpcap/config.h	Mon May 28 08:12:18 2018	(r334277)
@@ -4,40 +4,12 @@
 /* config.h.  Generated from config.h.in by configure.  */
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
-/* Enable optimizer debugging */
-/* #undef BDEBUG */
-
-/* define if you have a cloning BPF device */
-#define HAVE_CLONING_BPF 1
-
-/* define if you have the DAG API */
-/* #undef HAVE_DAG_API */
-
-/* define if you have dag_get_erf_types() */
-/* #undef HAVE_DAG_GET_ERF_TYPES */
-
-/* define if you have dag_get_stream_erf_types() */
-/* #undef HAVE_DAG_GET_STREAM_ERF_TYPES */
-
-/* define if you have streams capable DAG API */
-/* #undef HAVE_DAG_STREAMS_API */
-
-/* define if you have vdag_set_device_info() */
-/* #undef HAVE_DAG_VDAG */
-
-/* Define to 1 if you have the declaration of `ether_hostton', and to 0 if you
-   don't. */
-#define HAVE_DECL_ETHER_HOSTTON 1
-
-/* define if you have a /dev/dlpi */
-/* #undef HAVE_DEV_DLPI */
-
-/* if passive_req_t primitive exists */
-/* #undef HAVE_DLPI_PASSIVE */
-
 /* Define to 1 if you have the `ether_hostton' function. */
 #define HAVE_ETHER_HOSTTON 1
 
+/* Define to 1 if you have the `ffs' function. */
+#define HAVE_FFS 1
+
 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
 #define HAVE_FSEEKO 1
 
@@ -47,9 +19,6 @@
 /* on HP-UX 9.x */
 /* #undef HAVE_HPUX9 */
 
-/* if ppa_info_t_dl_module_id exists */
-/* #undef HAVE_HP_PPA_INFO_T_DL_MODULE_ID_1 */
-
 /* Define to 1 if you have the <inttypes.h> header file. */
 #define HAVE_INTTYPES_H 1
 
@@ -80,45 +49,15 @@
 /* Define to 1 if you have the <linux/ethtool.h> header file. */
 /* #undef HAVE_LINUX_ETHTOOL_H */
 
-/* Define to 1 if you have the <linux/if_bonding.h> header file. */
-/* #undef HAVE_LINUX_IF_BONDING_H */
-
-/* Define to 1 if you have the <linux/if_packet.h> header file. */
-/* #undef HAVE_LINUX_IF_PACKET_H */
-
-/* Define to 1 if you have the <linux/net_tstamp.h> header file. */
-/* #undef HAVE_LINUX_NET_TSTAMP_H */
-
-/* Define to 1 if you have the <linux/sockios.h> header file. */
-/* #undef HAVE_LINUX_SOCKIOS_H */
-
-/* if tp_vlan_tci exists */
-/* #undef HAVE_LINUX_TPACKET_AUXDATA_TP_VLAN_TCI */
-
-/* Define to 1 if you have the <linux/types.h> header file. */
-/* #undef HAVE_LINUX_TYPES_H */
-
-/* Define to 1 if you have the <linux/usbdevice_fs.h> header file. */
-/* #undef HAVE_LINUX_USBDEVICE_FS_H */
-
-/* Define to 1 if you have the <linux/wireless.h> header file. */
-/* #undef HAVE_LINUX_WIRELESS_H */
-
 /* Define to 1 if you have the <memory.h> header file. */
 #define HAVE_MEMORY_H 1
 
-/* Define to 1 if you have the <netinet/ether.h> header file. */
-/* #undef HAVE_NETINET_ETHER_H */
-
-/* Define to 1 if you have the <netinet/if_ether.h> header file. */
-#define HAVE_NETINET_IF_ETHER_H 1
-
-/* Define to 1 if you have the <netpacket/if_packet.h> header file. */
-/* #undef HAVE_NETPACKET_IF_PACKET_H */
-
 /* Define to 1 if you have the <netpacket/packet.h> header file. */
 /* #undef HAVE_NETPACKET_PACKET_H */
 
+/* Define to 1 if you have the <net/bpf.h> header file. */
+#define HAVE_NET_BPF_H 1
+
 /* Define to 1 if you have the <net/if_media.h> header file. */
 #define HAVE_NET_IF_MEDIA_H 1
 
@@ -141,18 +80,9 @@
 /* Define to 1 if you have the `snprintf' function. */
 #define HAVE_SNPRINTF 1
 
-/* if struct sockaddr has the sa_len member */
-#define HAVE_SOCKADDR_SA_LEN 1
-
-/* if struct sockaddr_storage exists */
-#define HAVE_SOCKADDR_STORAGE 1
-
-/* define if socklen_t is defined */
+/* Define to 1 if the system has the type `socklen_t'. */
 #define HAVE_SOCKLEN_T 1
 
-/* On solaris */
-/* #undef HAVE_SOLARIS */
-
 /* Define to 1 if you have the <stdint.h> header file. */
 #define HAVE_STDINT_H 1
 
@@ -162,12 +92,21 @@
 /* Define to 1 if you have the `strerror' function. */
 #define HAVE_STRERROR 1
 
+/* Define to 1 if you have the `strerror_r' function. */
+#define HAVE_STRERROR_R 1
+
+/* Define to 1 if you have the `strerror_s' function. */
+/* #undef HAVE_STRERROR_S */
+
 /* Define to 1 if you have the <strings.h> header file. */
 #define HAVE_STRINGS_H 1
 
 /* Define to 1 if you have the <string.h> header file. */
 #define HAVE_STRING_H 1
 
+/* Define to 1 if you have the `strlcat' function. */
+#define HAVE_STRLCAT 1
+
 /* Define to 1 if you have the `strlcpy' function. */
 #define HAVE_STRLCPY 1
 
@@ -180,9 +119,12 @@
 /* Define to 1 if the system has the type `struct ether_addr'. */
 /* #undef HAVE_STRUCT_ETHER_ADDR */
 
-/* Define to 1 if you have the <sys/bitypes.h> header file. */
-/* #undef HAVE_SYS_BITYPES_H */
+/* Define to 1 if `sa_len' is a member of `struct sockaddr'. */
+#define HAVE_STRUCT_SOCKADDR_SA_LEN 1
 
+/* Define to 1 if the system has the type `struct sockaddr_storage'. */
+#define HAVE_STRUCT_SOCKADDR_STORAGE 1
+
 /* Define to 1 if you have the <sys/bufmod.h> header file. */
 /* #undef HAVE_SYS_BUFMOD_H */
 
@@ -207,24 +149,12 @@
 /* define if you have the TurboCap API */
 /* #undef HAVE_TC_API */
 
-/* if if_packet.h has tpacket_stats defined */
-/* #undef HAVE_TPACKET_STATS */
-
 /* Define to 1 if you have the <unistd.h> header file. */
 #define HAVE_UNISTD_H 1
 
-/* if struct usbdevfs_ctrltransfer has bRequestType */
-/* #undef HAVE_USBDEVFS_CTRLTRANSFER_BREQUESTTYPE */
-
 /* Define to 1 if you have the `vsnprintf' function. */
 #define HAVE_VSNPRINTF 1
 
-/* define if the system supports zerocopy BPF */
-#define HAVE_ZEROCOPY_BPF 1
-
-/* define if your compiler has __attribute__ */
-#define HAVE___ATTRIBUTE__ 1
-
 /* IPv6 */
 /* See Makefile */
 /* #undef INET6 */
@@ -248,53 +178,32 @@
 #define PACKAGE_BUGREPORT ""
 
 /* Define to the full name of this package. */
-#define PACKAGE_NAME ""
+#define PACKAGE_NAME "pcap"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING ""
+#define PACKAGE_STRING "pcap 1.9.0"
 
 /* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME ""
+#define PACKAGE_TARNAME "pcap"
 
 /* Define to the home page for this package. */
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION ""
+#define PACKAGE_VERSION "1.9.0"
 
-/* /dev/dlpi directory */
-/* #undef PCAP_DEV_PREFIX */
-
-/* target host supports Bluetooth sniffing */
-/* #undef PCAP_SUPPORT_BT */
-
-/* target host supports Bluetooth Monitor */
-/* #undef PCAP_SUPPORT_BT_MONITOR */
-
-/* support D-Bus sniffing */
-/* #undef PCAP_SUPPORT_DBUS */
-
-/* target host supports netfilter sniffing */
-/* #undef PCAP_SUPPORT_NETFILTER */
-
-/* use Linux packet ring capture if available */
-#define PCAP_SUPPORT_PACKET_RING 1
-
-/* target host supports USB sniffing */
-/* #undef PCAP_SUPPORT_USB */
-
 /* target host supports netmap */
 #define PCAP_SUPPORT_NETMAP 1
 
-/* include ACN support */
-/* #undef SITA */
+/* use packet ring capture support on Linux if available */
+#define PCAP_SUPPORT_PACKET_RING 1
 
-/* if struct sockaddr_hci has hci_channel member */
-/* #undef SOCKADDR_HCI_HAS_HCI_CHANNEL */
-
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
 
+/* Define to 1 if strings.h declares `ffs' */
+#define STRINGS_H_DECLARES_FFS /**/
+
 /* Enable parser debugging */
 /* #undef YYDEBUG */
 
@@ -307,50 +216,5 @@
 # define _DARWIN_USE_64_BIT_INODE 1
 #endif
 
-/* Number of bits in a file offset, on hosts where this is settable. */
-/* #undef _FILE_OFFSET_BITS */
-
-/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
-/* #undef _LARGEFILE_SOURCE */
-
-/* Define for large files, on AIX-style hosts. */
-/* #undef _LARGE_FILES */
-
-/* define on AIX to get certain functions */
-/* #undef _SUN */
-
-/* define if your compiler allows __attribute__((format)) without a warning */
-#define __ATTRIBUTE___FORMAT_OK 1
-
-/* to handle Ultrix compilers that don't support const in prototypes */
-/* #undef const */
-
 /* Define as token for inline if inlining supported */
 #define inline inline
-
-/* Define to `short' if int16_t not defined. */
-/* #undef int16_t */
-
-/* Define to `int' if int32_t not defined. */
-/* #undef int32_t */
-
-/* Define to `long long' if int64_t not defined. */
-/* #undef int64_t */
-
-/* Define to `signed char' if int8_t not defined. */
-/* #undef int8_t */
-
-/* on sinix */
-/* #undef sinix */
-
-/* Define to `unsigned short' if u_int16_t not defined. */
-/* #undef u_int16_t */
-
-/* Define to `unsigned int' if u_int32_t not defined. */
-/* #undef u_int32_t */
-
-/* Define to `unsigned long long' if u_int64_t not defined. */
-/* #undef u_int64_t */
-
-/* Define to `unsigned char' if u_int8_t not defined. */
-/* #undef u_int8_t */

Modified: head/share/mk/src.libnames.mk
==============================================================================
--- head/share/mk/src.libnames.mk	Mon May 28 06:01:02 2018	(r334276)
+++ head/share/mk/src.libnames.mk	Mon May 28 08:12:18 2018	(r334277)
@@ -241,6 +241,9 @@ _DP_cap_pwd=	nv
 _DP_cap_random=	nv
 _DP_cap_sysctl=	nv
 _DP_cap_syslog=	nv
+.if ${MK_OFED} != "no"
+_DP_pcap=	ibverbs mlx5
+.endif
 _DP_pjdlog=	util
 _DP_opie=	md
 _DP_usb=	pthread

Modified: head/usr.sbin/cxgbetool/cxgbetool.c
==============================================================================
--- head/usr.sbin/cxgbetool/cxgbetool.c	Mon May 28 06:01:02 2018	(r334276)
+++ head/usr.sbin/cxgbetool/cxgbetool.c	Mon May 28 08:12:18 2018	(r334277)
@@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$");
 #include <arpa/inet.h>
 #include <net/ethernet.h>
 #include <net/sff8472.h>
+#include <net/bpf.h>
 #include <netinet/in.h>
 
 #include <ctype.h>


More information about the svn-src-head mailing list