public inbox for dev@dpdk.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>
Subject: [PATCH v15 09/18] net/pcap: add link state and speed for interface mode
Date: Fri, 13 Feb 2026 09:01:32 -0800	[thread overview]
Message-ID: <20260213170333.40089-10-stephen@networkplumber.org> (raw)
In-Reply-To: <20260213170333.40089-1-stephen@networkplumber.org>

When the PCAP PMD is used in pass-through mode with a physical
interface (iface=X), the link status was always reported with
hardcoded values regardless of the actual interface state.

Add OS-dependent functions to query the real link state, speed,
duplex, and autonegotiation settings from the underlying interface.
The eth_link_update() callback now returns accurate information
when operating in pass-through mode.

Linux uses ETHTOOL_GLINKSETTINGS which supports all speeds up to
800 Gbps. FreeBSD uses SIOCGIFMEDIA, and Windows uses
GetAdaptersAddresses().

For pcap file mode or separate rx/tx interface configurations,
default values continue to be used since there is no single
underlying interface to query.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/rel_notes/release_26_03.rst |   1 +
 drivers/net/pcap/pcap_ethdev.c         |  93 ++++++++++++++++---
 drivers/net/pcap/pcap_osdep.h          |  24 +++++
 drivers/net/pcap/pcap_osdep_freebsd.c  |  86 ++++++++++++++++++
 drivers/net/pcap/pcap_osdep_linux.c    | 118 +++++++++++++++++++++++++
 drivers/net/pcap/pcap_osdep_windows.c  |  95 +++++++++++++++++---
 6 files changed, 394 insertions(+), 23 deletions(-)

diff --git a/doc/guides/rel_notes/release_26_03.rst b/doc/guides/rel_notes/release_26_03.rst
index fa998f1620..c1d8c3e10c 100644
--- a/doc/guides/rel_notes/release_26_03.rst
+++ b/doc/guides/rel_notes/release_26_03.rst
@@ -90,6 +90,7 @@ New Features
 * **Updated PCAP ethernet driver.**
 
   * Added support for VLAN insertion and stripping.
+  * Added support for reporting link state and speed in ``iface`` mode.
 
 
 Removed Items
diff --git a/drivers/net/pcap/pcap_ethdev.c b/drivers/net/pcap/pcap_ethdev.c
index 421a72a0cb..2209b78ff3 100644
--- a/drivers/net/pcap/pcap_ethdev.c
+++ b/drivers/net/pcap/pcap_ethdev.c
@@ -151,13 +151,6 @@ static const char *valid_arguments[] = {
 	NULL
 };
 
-static struct rte_eth_link pmd_link = {
-		.link_speed = RTE_ETH_SPEED_NUM_10G,
-		.link_duplex = RTE_ETH_LINK_FULL_DUPLEX,
-		.link_status = RTE_ETH_LINK_DOWN,
-		.link_autoneg = RTE_ETH_LINK_FIXED,
-};
-
 RTE_LOG_REGISTER_DEFAULT(eth_pcap_logtype, NOTICE);
 
 static struct queue_missed_stat*
@@ -972,11 +965,84 @@ eth_dev_close(struct rte_eth_dev *dev)
 	return 0;
 }
 
+/*
+ * Convert osdep speed (Mbps) to rte_eth_link speed constant.
+ */
+static uint32_t
+speed_mbps_to_rte(uint32_t speed_mbps)
+{
+	switch (speed_mbps) {
+	case 10:
+		return RTE_ETH_SPEED_NUM_10M;
+	case 100:
+		return RTE_ETH_SPEED_NUM_100M;
+	case 1000:
+		return RTE_ETH_SPEED_NUM_1G;
+	case 2500:
+		return RTE_ETH_SPEED_NUM_2_5G;
+	case 5000:
+		return RTE_ETH_SPEED_NUM_5G;
+	case 10000:
+		return RTE_ETH_SPEED_NUM_10G;
+	case 20000:
+		return RTE_ETH_SPEED_NUM_20G;
+	case 25000:
+		return RTE_ETH_SPEED_NUM_25G;
+	case 40000:
+		return RTE_ETH_SPEED_NUM_40G;
+	case 50000:
+		return RTE_ETH_SPEED_NUM_50G;
+	case 56000:
+		return RTE_ETH_SPEED_NUM_56G;
+	case 100000:
+		return RTE_ETH_SPEED_NUM_100G;
+	case 200000:
+		return RTE_ETH_SPEED_NUM_200G;
+	case 400000:
+		return RTE_ETH_SPEED_NUM_400G;
+	case 800000:
+		return RTE_ETH_SPEED_NUM_800G;
+	default:
+		return RTE_ETH_SPEED_NUM_UNKNOWN;
+	}
+}
+
 static int
-eth_link_update(struct rte_eth_dev *dev __rte_unused,
-		int wait_to_complete __rte_unused)
+eth_link_update(struct rte_eth_dev *dev, int wait_to_complete __rte_unused)
 {
-	return 0;
+	struct pmd_internals *internals = dev->data->dev_private;
+	const char *iface_name = internals->rx_queue[0].name;
+	struct rte_eth_link link;
+	struct osdep_iface_link osdep_link;
+
+	memset(&link, 0, sizeof(link));
+
+	/*
+	 * For pass-through mode (single_iface), query the actual interface.
+	 * Otherwise, use the default static link values.
+	 */
+	if (internals->single_iface &&
+	    osdep_iface_link_get(iface_name, &osdep_link) == 0) {
+		link.link_speed = speed_mbps_to_rte(osdep_link.link_speed);
+		link.link_status = osdep_link.link_status ?
+			RTE_ETH_LINK_UP : RTE_ETH_LINK_DOWN;
+		link.link_duplex = osdep_link.link_duplex ?
+			RTE_ETH_LINK_FULL_DUPLEX : RTE_ETH_LINK_HALF_DUPLEX;
+		link.link_autoneg = osdep_link.link_autoneg ?
+			RTE_ETH_LINK_AUTONEG : RTE_ETH_LINK_FIXED;
+	} else {
+		/*
+		 * Not in pass-through mode (using pcap files or separate
+		 * interfaces for rx/tx). Or query failed. Use default values.
+		 */
+		link.link_speed = RTE_ETH_SPEED_NUM_10G;
+		link.link_duplex = RTE_ETH_LINK_FULL_DUPLEX;
+		link.link_status = dev->data->dev_started ?
+			RTE_ETH_LINK_UP : RTE_ETH_LINK_DOWN;
+		link.link_autoneg = RTE_ETH_LINK_FIXED;
+	}
+
+	return rte_eth_linkstatus_set(dev, &link);
 }
 
 static int
@@ -1391,7 +1457,12 @@ pmd_init_internals(struct rte_vdev_device *vdev,
 	data = (*eth_dev)->data;
 	data->nb_rx_queues = (uint16_t)nb_rx_queues;
 	data->nb_tx_queues = (uint16_t)nb_tx_queues;
-	data->dev_link = pmd_link;
+	data->dev_link = (struct rte_eth_link) {
+		.link_speed = RTE_ETH_SPEED_NUM_NONE,
+		.link_duplex = RTE_ETH_LINK_FULL_DUPLEX,
+		.link_status = RTE_ETH_LINK_DOWN,
+		.link_autoneg = RTE_ETH_LINK_FIXED,
+	};
 	data->mac_addrs = &(*internals)->eth_addr;
 	data->promiscuous = 1;
 	data->all_multicast = 1;
diff --git a/drivers/net/pcap/pcap_osdep.h b/drivers/net/pcap/pcap_osdep.h
index fe7399ff9f..b72dd0d74c 100644
--- a/drivers/net/pcap/pcap_osdep.h
+++ b/drivers/net/pcap/pcap_osdep.h
@@ -10,6 +10,7 @@
 
 #define PMD_LOG(level, ...) \
 	RTE_LOG_LINE_PREFIX(level, ETH_PCAP, "%s(): ", __func__, __VA_ARGS__)
+
 extern int eth_pcap_logtype;
 #define RTE_LOGTYPE_ETH_PCAP eth_pcap_logtype
 
@@ -27,7 +28,30 @@ extern int eth_pcap_logtype;
 #define PMD_TX_LOG(...) do { } while (0)
 #endif
 
+/**
+ * Link information returned by osdep_iface_link_get().
+ */
+struct osdep_iface_link {
+	uint32_t link_speed;    /**< Speed in Mbps, 0 if unknown */
+	uint8_t link_status;    /**< 1 = up, 0 = down */
+	uint8_t link_duplex;    /**< 1 = full, 0 = half */
+	uint8_t link_autoneg;   /**< 1 = autoneg enabled, 0 = fixed */
+};
+
+
 int osdep_iface_index_get(const char *name);
 int osdep_iface_mac_get(const char *name, struct rte_ether_addr *mac);
 
+/**
+ * Get link state and speed for a network interface.
+ *
+ * @param name
+ *   Interface name (e.g., "eth0" on Linux, "{GUID}" on Windows).
+ * @param link
+ *   Pointer to structure to fill with link information.
+ * @return
+ *   0 on success, -1 on failure.
+ */
+int osdep_iface_link_get(const char *name, struct osdep_iface_link *link);
+
 #endif
diff --git a/drivers/net/pcap/pcap_osdep_freebsd.c b/drivers/net/pcap/pcap_osdep_freebsd.c
index 0185665f0b..5963b67087 100644
--- a/drivers/net/pcap/pcap_osdep_freebsd.c
+++ b/drivers/net/pcap/pcap_osdep_freebsd.c
@@ -5,12 +5,36 @@
  */
 
 #include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
 #include <net/if.h>
 #include <net/if_dl.h>
+#include <net/if_media.h>
+#include <sys/ioctl.h>
+#include <sys/socket.h>
 #include <sys/sysctl.h>
 
 #include "pcap_osdep.h"
 
+/*
+ * Userspace implementation of ifmedia_baudrate().
+ * The kernel function is not exported to userspace, so we implement
+ * our own using the IFM_BAUDRATE_DESCRIPTIONS table from if_media.h.
+ */
+static uint64_t
+ifmedia_baudrate_user(int mword)
+{
+	static const struct ifmedia_baudrate descs[] =
+		IFM_BAUDRATE_DESCRIPTIONS;
+	const struct ifmedia_baudrate *desc;
+
+	for (desc = descs; desc->ifmb_word != 0; desc++) {
+		if (IFM_TYPE_MATCH(desc->ifmb_word, mword))
+			return desc->ifmb_baudrate;
+	}
+	return 0;
+}
+
 int
 osdep_iface_index_get(const char *name)
 {
@@ -55,3 +79,65 @@ osdep_iface_mac_get(const char *if_name, struct rte_ether_addr *mac)
 	free(buf);
 	return 0;
 }
+
+int
+osdep_iface_link_get(const char *if_name, struct osdep_iface_link *link)
+{
+	struct ifmediareq ifmr;
+	struct ifreq ifr;
+	uint64_t baudrate;
+	int if_fd;
+
+	memset(link, 0, sizeof(*link));
+
+	if_fd = socket(AF_INET, SOCK_DGRAM, 0);
+	if (if_fd == -1)
+		return -1;
+
+	/* Get interface flags to determine administrative status */
+	memset(&ifr, 0, sizeof(ifr));
+	strlcpy(ifr.ifr_name, if_name, sizeof(ifr.ifr_name));
+	if (ioctl(if_fd, SIOCGIFFLAGS, &ifr) == 0) {
+		if (ifr.ifr_flags & IFF_UP)
+			link->link_status = 1;
+	}
+
+	/* Get media status for speed, duplex, and link state */
+	memset(&ifmr, 0, sizeof(ifmr));
+	strlcpy(ifmr.ifm_name, if_name, sizeof(ifmr.ifm_name));
+
+	if (ioctl(if_fd, SIOCGIFMEDIA, &ifmr) == 0) {
+		/* Check if link is actually active */
+		if (!(ifmr.ifm_status & IFM_ACTIVE))
+			link->link_status = 0;
+
+		/* Only parse media if we have a valid current media type */
+		if (ifmr.ifm_current != 0 && IFM_TYPE(ifmr.ifm_current) == IFM_ETHER) {
+			/* Use userspace baudrate lookup */
+			baudrate = ifmedia_baudrate_user(ifmr.ifm_current);
+			link->link_speed = baudrate / 1000000;
+
+			/* Check duplex - FDX option means full duplex */
+			if (IFM_OPTIONS(ifmr.ifm_current) & IFM_FDX)
+				link->link_duplex = 1;
+			else
+				link->link_duplex = 0;
+		} else {
+			/* Default to full duplex if we can't determine */
+			link->link_duplex = 1;
+		}
+
+		/* Check autonegotiation status */
+		link->link_autoneg = (ifmr.ifm_current & IFM_AUTO) ? 1 : 0;
+	} else {
+		/*
+		 * SIOCGIFMEDIA failed - interface may not support it.
+		 * Default to reasonable values.
+		 */
+		link->link_duplex = 1;  /* Assume full duplex */
+		link->link_autoneg = 0;
+	}
+
+	close(if_fd);
+	return 0;
+}
diff --git a/drivers/net/pcap/pcap_osdep_linux.c b/drivers/net/pcap/pcap_osdep_linux.c
index df976417cb..3b56a833a9 100644
--- a/drivers/net/pcap/pcap_osdep_linux.c
+++ b/drivers/net/pcap/pcap_osdep_linux.c
@@ -4,11 +4,14 @@
  * All rights reserved.
  */
 
+#include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
 #include <net/if.h>
 #include <sys/ioctl.h>
 #include <sys/socket.h>
+#include <linux/ethtool.h>
+#include <linux/sockios.h>
 
 #include <rte_string_fns.h>
 
@@ -40,3 +43,118 @@ osdep_iface_mac_get(const char *if_name, struct rte_ether_addr *mac)
 	close(if_fd);
 	return 0;
 }
+
+/*
+ * Get link speed, duplex, and autoneg using ETHTOOL_GLINKSETTINGS.
+ *
+ * ETHTOOL_GLINKSETTINGS was introduced in kernel 4.7 and supports
+ * speeds beyond 65535 Mbps (up to 800 Gbps and beyond).
+ * DPDK requires kernel 4.19 or later, so this interface is always available.
+ *
+ * Returns 0 on success, -1 on failure.
+ */
+static int
+get_link_settings(int fd, struct ifreq *ifr, struct osdep_iface_link *link)
+{
+	struct ethtool_link_settings probe = { };
+	struct ethtool_link_settings *req;
+	size_t req_size;
+	int nwords;
+	int ret = -1;
+
+	/* First call with nwords = 0 to get the required size */
+	probe.cmd = ETHTOOL_GLINKSETTINGS;
+	ifr->ifr_data = (void *)&probe;
+
+	if (ioctl(fd, SIOCETHTOOL, ifr) < 0)
+		return -1;
+
+	/* Kernel returns negative nwords on first call */
+	if (probe.link_mode_masks_nwords >= 0)
+		return -1;
+
+	nwords = -probe.link_mode_masks_nwords;
+
+	/* Bounds check */
+	if (nwords == 0 || nwords > 127)
+		return -1;
+
+	/* Second call with correct nwords - need space for 3 link mode masks */
+	req_size = sizeof(*req) + 3 * nwords * sizeof(uint32_t);
+	req = malloc(req_size);
+	if (req == NULL)
+		return -1;
+
+	memset(req, 0, req_size);
+	req->cmd = ETHTOOL_GLINKSETTINGS;
+	req->link_mode_masks_nwords = nwords;
+	ifr->ifr_data = (void *)req;
+
+	if (ioctl(fd, SIOCETHTOOL, ifr) < 0)
+		goto out;
+
+	/* Speed is in Mbps, directly usable */
+	link->link_speed = req->speed;
+
+	/* Handle special values */
+	if (link->link_speed == (uint32_t)SPEED_UNKNOWN ||
+	    link->link_speed == (uint32_t)-1)
+		link->link_speed = 0;
+
+	switch (req->duplex) {
+	case DUPLEX_FULL:
+		link->link_duplex = 1;
+		break;
+	case DUPLEX_HALF:
+		link->link_duplex = 0;
+		break;
+	default:
+		link->link_duplex = 1;  /* Default to full duplex */
+		break;
+	}
+
+	link->link_autoneg = (req->autoneg == AUTONEG_ENABLE) ? 1 : 0;
+	ret = 0;
+out:
+	free(req);
+	return ret;
+}
+
+int
+osdep_iface_link_get(const char *if_name, struct osdep_iface_link *link)
+{
+	struct ifreq ifr;
+	int if_fd;
+
+	memset(link, 0, sizeof(*link));
+
+	if_fd = socket(AF_INET, SOCK_DGRAM, 0);
+	if (if_fd == -1)
+		return -1;
+
+	/* Get interface flags to determine link status */
+	rte_strscpy(ifr.ifr_name, if_name, sizeof(ifr.ifr_name));
+	if (ioctl(if_fd, SIOCGIFFLAGS, &ifr) == 0) {
+		/*
+		 * IFF_UP means administratively up
+		 * IFF_RUNNING means operationally up (carrier detected)
+		 */
+		if ((ifr.ifr_flags & IFF_UP) && (ifr.ifr_flags & IFF_RUNNING))
+			link->link_status = 1;
+	}
+
+	rte_strscpy(ifr.ifr_name, if_name, sizeof(ifr.ifr_name));
+	if (get_link_settings(if_fd, &ifr, link) < 0) {
+		/*
+		 * ethtool failed - interface may not support it
+		 * (e.g., virtual interfaces like veth, lo).
+		 * Use reasonable defaults.
+		 */
+		link->link_speed = 0;
+		link->link_duplex = 1;  /* Assume full duplex */
+		link->link_autoneg = 0;
+	}
+
+	close(if_fd);
+	return 0;
+}
diff --git a/drivers/net/pcap/pcap_osdep_windows.c b/drivers/net/pcap/pcap_osdep_windows.c
index 1d398dc7ed..1b76ae3185 100644
--- a/drivers/net/pcap/pcap_osdep_windows.c
+++ b/drivers/net/pcap/pcap_osdep_windows.c
@@ -61,38 +61,56 @@ osdep_iface_index_get(const char *device_name)
 }
 
 /*
- * libpcap takes device names like "\Device\NPF_{GUID}",
- * GetAdaptersAddresses() returns names in "{GUID}" form.
- * Try to extract GUID from device name, fall back to original device name.
+ * Helper function to get adapter information by name.
+ * Returns adapter info on success, NULL on failure.
+ * Caller must free the returned buffer.
  */
-int
-osdep_iface_mac_get(const char *device_name, struct rte_ether_addr *mac)
+static IP_ADAPTER_ADDRESSES *
+get_adapter_addresses(void)
 {
-	IP_ADAPTER_ADDRESSES *info = NULL, *cur = NULL;
-	ULONG size, sys_ret;
-	const char *adapter_name;
-	int ret = -1;
+	IP_ADAPTER_ADDRESSES *info = NULL;
+	ULONG size;
+	DWORD sys_ret;
 
 	sys_ret = GetAdaptersAddresses(AF_UNSPEC, 0, NULL, NULL, &size);
 	if (sys_ret != ERROR_BUFFER_OVERFLOW) {
 		PMD_LOG(ERR, "GetAdapterAddresses() = %lu, expected %lu\n",
 			sys_ret, ERROR_BUFFER_OVERFLOW);
-		return -1;
+		return NULL;
 	}
 
 	info = (IP_ADAPTER_ADDRESSES *)malloc(size);
 	if (info == NULL) {
 		PMD_LOG(ERR, "Cannot allocate adapter address info\n");
-		return -1;
+		return NULL;
 	}
 
 	sys_ret = GetAdaptersAddresses(AF_UNSPEC, 0, NULL, info, &size);
 	if (sys_ret != ERROR_SUCCESS) {
 		PMD_LOG(ERR, "GetAdapterAddresses() = %lu\n", sys_ret);
 		free(info);
-		return -1;
+		return NULL;
 	}
 
+	return info;
+}
+
+/*
+ * libpcap takes device names like "\Device\NPF_{GUID}",
+ * GetAdaptersAddresses() returns names in "{GUID}" form.
+ * Try to extract GUID from device name, fall back to original device name.
+ */
+int
+osdep_iface_mac_get(const char *device_name, struct rte_ether_addr *mac)
+{
+	IP_ADAPTER_ADDRESSES *info = NULL, *cur = NULL;
+	const char *adapter_name;
+	int ret = -1;
+
+	info = get_adapter_addresses();
+	if (info == NULL)
+		return -1;
+
 	adapter_name = iface_guid(device_name);
 	if (adapter_name == NULL)
 		adapter_name = device_name;
@@ -116,3 +134,56 @@ osdep_iface_mac_get(const char *device_name, struct rte_ether_addr *mac)
 	free(info);
 	return ret;
 }
+
+int
+osdep_iface_link_get(const char *device_name, struct osdep_iface_link *link)
+{
+	IP_ADAPTER_ADDRESSES *info = NULL, *cur = NULL;
+	const char *adapter_name;
+	int ret = -1;
+
+	memset(link, 0, sizeof(*link));
+
+	info = get_adapter_addresses();
+	if (info == NULL)
+		return -1;
+
+	adapter_name = iface_guid(device_name);
+	if (adapter_name == NULL)
+		adapter_name = device_name;
+
+	for (cur = info; cur != NULL; cur = cur->Next) {
+		if (strcmp(cur->AdapterName, adapter_name) == 0) {
+			/* Check operational status */
+			if (cur->OperStatus == IfOperStatusUp)
+				link->link_status = 1;
+			else
+				link->link_status = 0;
+
+			/*
+			 * TransmitLinkSpeed and ReceiveLinkSpeed are in bits/sec.
+			 * Convert to Mbps. Use transmit speed as the link speed.
+			 * For asymmetric links, this is a reasonable approximation.
+			 */
+			if (cur->TransmitLinkSpeed != 0 &&
+			    cur->TransmitLinkSpeed != (ULONG64)-1) {
+				link->link_speed =
+					(uint32_t)(cur->TransmitLinkSpeed / 1000000ULL);
+			}
+
+			/*
+			 * Windows doesn't directly expose duplex/autoneg via
+			 * GetAdaptersAddresses(). Default to full duplex.
+			 * For more detailed info, WMI or OID queries would be needed.
+			 */
+			link->link_duplex = 1;  /* Assume full duplex */
+			link->link_autoneg = 0; /* Cannot determine */
+
+			ret = 0;
+			break;
+		}
+	}
+
+	free(info);
+	return ret;
+}
-- 
2.51.0


  parent reply	other threads:[~2026-02-13 17:04 UTC|newest]

Thread overview: 430+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-06 18:26 [PATCH 00/12] net/pcap: cleanups and test Stephen Hemminger
2026-01-06 18:26 ` [PATCH 01/12] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-01-06 18:26 ` [PATCH 02/12] net/pcap: support MTU set Stephen Hemminger
2026-01-06 18:26 ` [PATCH 03/12] net/pcap: use bool for flags Stephen Hemminger
2026-01-07 10:28   ` Marat Khalili
2026-01-09  0:23     ` Stephen Hemminger
2026-01-06 18:26 ` [PATCH 04/12] net/pcap: support Tx offloads Stephen Hemminger
2026-01-06 18:26 ` [PATCH 05/12] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-01-06 18:26 ` [PATCH 06/12] net/pcap: remove global variables Stephen Hemminger
2026-01-07  9:48   ` Marat Khalili
2026-01-06 18:26 ` [PATCH 07/12] net/pcap: avoid use of volatile Stephen Hemminger
2026-01-07 10:31   ` Marat Khalili
2026-01-06 18:26 ` [PATCH 08/12] net/pcap: optimize calculation of receive timestamp Stephen Hemminger
2026-01-07 10:58   ` Marat Khalili
2026-01-06 18:26 ` [PATCH 09/12] net/pcap: report receive clock Stephen Hemminger
2026-01-06 18:26 ` [PATCH 10/12] net/pcap: cleanup MAC address handling Stephen Hemminger
2026-01-06 18:26 ` [PATCH 11/12] net/pcap: support MAC address set Stephen Hemminger
2026-01-06 18:26 ` [PATCH 12/12] test: add test for pcap PMD Stephen Hemminger
2026-01-09  1:16 ` [PATCH v2 0/9] pcap: cleanup pcap PMD and add test Stephen Hemminger
2026-01-09  1:16   ` [PATCH v2 1/9] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-01-09  1:16   ` [PATCH v2 2/9] net/pcap: support MTU set Stephen Hemminger
2026-01-09  1:16   ` [PATCH v2 3/9] net/pcap: use bool for flags Stephen Hemminger
2026-01-09  1:16   ` [PATCH v2 4/9] net/pcap: support Tx offloads Stephen Hemminger
2026-01-09  1:16   ` [PATCH v2 5/9] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-01-09  1:16   ` [PATCH v2 6/9] net/pcap: remove global variables Stephen Hemminger
2026-01-09  1:16   ` [PATCH v2 7/9] net/pcap: avoid use of volatile Stephen Hemminger
2026-01-09  1:16   ` [PATCH v2 8/9] net/pcap: support MAC address set Stephen Hemminger
2026-01-09  1:16   ` [PATCH v2 9/9] test: add test for pcap PMD Stephen Hemminger
2026-01-12  0:50   ` [PATCH v2 0/9] pcap: cleanup pcap PMD and add test Stephen Hemminger
2026-01-13 19:23 ` [PATCH v3 0/9] net/pcap: improvements and test coverage Stephen Hemminger
2026-01-13 19:23   ` [PATCH v3 1/9] doc: update features for PCAP PMD Stephen Hemminger
2026-01-13 19:23   ` [PATCH v3 2/9] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-01-13 19:23   ` [PATCH v3 3/9] net/pcap: support MTU set Stephen Hemminger
2026-01-13 19:23   ` [PATCH v3 4/9] net/pcap: use bool for flags Stephen Hemminger
2026-01-13 19:23   ` [PATCH v3 5/9] net/pcap: support Tx offloads Stephen Hemminger
2026-01-13 19:23   ` [PATCH v3 6/9] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-01-13 19:23   ` [PATCH v3 7/9] net/pcap: remove global variables Stephen Hemminger
2026-01-13 19:23   ` [PATCH v3 8/9] net/pcap: avoid use of volatile Stephen Hemminger
2026-01-13 19:23   ` [PATCH v3 9/9] test: add test for pcap PMD Stephen Hemminger
2026-01-17 21:56 ` [PATCH v4 00/11] PCAP PMD improvements Stephen Hemminger
2026-01-17 21:57   ` [PATCH v4 01/11] doc: update features for PCAP PMD Stephen Hemminger
2026-01-17 21:57   ` [PATCH v4 02/11] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-01-17 21:57   ` [PATCH v4 03/11] net/pcap: cleanup transmit of multi segment Stephen Hemminger
2026-01-17 21:57   ` [PATCH v4 04/11] net/pcap: support setting MTU Stephen Hemminger
2026-01-17 21:57   ` [PATCH v4 05/11] net/pcap: use bool for flags Stephen Hemminger
2026-01-19 12:43     ` Marat Khalili
2026-01-17 21:57   ` [PATCH v4 06/11] net/pcap: support VLAN offloads Stephen Hemminger
2026-01-17 21:57   ` [PATCH v4 07/11] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-01-17 21:57   ` [PATCH v4 08/11] net/pcap: remove global variables Stephen Hemminger
2026-01-17 21:57   ` [PATCH v4 09/11] net/pcap: avoid use of volatile Stephen Hemminger
2026-01-17 21:57   ` [PATCH v4 10/11] test: add test for pcap PMD Stephen Hemminger
2026-01-17 21:57   ` [PATCH v4 11/11] net/pcap: add release note Stephen Hemminger
2026-01-18 16:58 ` [PATCH v5 00/11] PCAP PMD improvements Stephen Hemminger
2026-01-18 16:58   ` [PATCH v5 01/11] doc: update features for PCAP PMD Stephen Hemminger
2026-01-18 16:58   ` [PATCH v5 02/11] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-01-18 16:58   ` [PATCH v5 03/11] net/pcap: cleanup transmit of multi segment Stephen Hemminger
2026-01-18 16:58   ` [PATCH v5 04/11] net/pcap: support setting MTU Stephen Hemminger
2026-01-18 16:58   ` [PATCH v5 05/11] net/pcap: use bool for flags Stephen Hemminger
2026-01-18 16:58   ` [PATCH v5 06/11] net/pcap: support VLAN offloads Stephen Hemminger
2026-01-18 16:58   ` [PATCH v5 07/11] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-01-18 16:58   ` [PATCH v5 08/11] net/pcap: remove global variables Stephen Hemminger
2026-01-18 16:58   ` [PATCH v5 09/11] net/pcap: avoid use of volatile Stephen Hemminger
2026-01-18 16:58   ` [PATCH v5 10/11] test: add test for pcap PMD Stephen Hemminger
2026-01-18 16:58   ` [PATCH v5 11/11] net/pcap: add release note Stephen Hemminger
2026-01-25 19:19 ` [PATCH v6 00/13] net/pcap: improvements and new features Stephen Hemminger
2026-01-25 19:19   ` [PATCH v6 01/13] maintainers: update for pcap driver Stephen Hemminger
2026-01-25 19:20   ` [PATCH v6 02/13] doc: update features for PCAP PMD Stephen Hemminger
2026-01-25 19:20   ` [PATCH v6 03/13] net/pcap: include used headers Stephen Hemminger
2026-01-25 19:20   ` [PATCH v6 04/13] net/pcap: remove unnecessary casts Stephen Hemminger
2026-01-25 19:20   ` [PATCH v6 05/13] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-01-25 19:20   ` [PATCH v6 06/13] net/pcap: improve multi-segment transmit handling Stephen Hemminger
2026-01-25 19:20   ` [PATCH v6 07/13] net/pcap: support MTU configuration in single interface mode Stephen Hemminger
2026-01-25 19:20   ` [PATCH v6 08/13] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-01-25 19:20   ` [PATCH v6 09/13] net/pcap: support VLAN insert and strip Stephen Hemminger
2026-01-25 19:20   ` [PATCH v6 10/13] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-01-25 19:20   ` [PATCH v6 11/13] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-01-25 19:20   ` [PATCH v6 12/13] net/pcap: avoid use of volatile Stephen Hemminger
2026-01-25 19:20   ` [PATCH v6 13/13] test: add test for pcap PMD Stephen Hemminger
2026-01-26 18:06 ` [PATCH v7 00/13] net/pcap: improvements and test suite Stephen Hemminger
2026-01-26 18:06   ` [PATCH v7 01/13] maintainers: update for pcap driver Stephen Hemminger
2026-01-26 18:06   ` [PATCH v7 02/13] doc: update features for PCAP PMD Stephen Hemminger
2026-01-26 18:06   ` [PATCH v7 03/13] net/pcap: include used headers Stephen Hemminger
2026-01-26 18:06   ` [PATCH v7 04/13] net/pcap: remove unnecessary casts Stephen Hemminger
2026-01-26 18:06   ` [PATCH v7 05/13] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-01-26 18:06   ` [PATCH v7 06/13] net/pcap: improve multi-segment transmit handling Stephen Hemminger
2026-01-26 18:06   ` [PATCH v7 07/13] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-01-26 18:06   ` [PATCH v7 08/13] net/pcap: support VLAN insert and strip Stephen Hemminger
2026-01-26 18:06   ` [PATCH v7 09/13] net/pcap: add link state and speed for interface mode Stephen Hemminger
2026-01-26 18:06   ` [PATCH v7 10/13] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-01-26 18:06   ` [PATCH v7 11/13] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-01-26 18:06   ` [PATCH v7 12/13] net/pcap: avoid use of volatile Stephen Hemminger
2026-01-26 18:06   ` [PATCH v7 13/13] test: add test for pcap PMD Stephen Hemminger
2026-01-27 17:18 ` [PATCH v8 00/14] net/pcap: improvements and test suite Stephen Hemminger
2026-01-27 17:18   ` [PATCH v8 01/14] maintainers: update for pcap driver Stephen Hemminger
2026-01-27 17:18   ` [PATCH v8 02/14] doc: update features for PCAP PMD Stephen Hemminger
2026-01-27 17:18   ` [PATCH v8 03/14] net/pcap: include used headers Stephen Hemminger
2026-01-27 17:18   ` [PATCH v8 04/14] net/pcap: remove unnecessary casts Stephen Hemminger
2026-01-27 17:18   ` [PATCH v8 05/14] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-01-27 17:18   ` [PATCH v8 06/14] net/pcap: improve multi-segment transmit handling Stephen Hemminger
2026-01-27 17:18   ` [PATCH v8 07/14] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-01-27 17:18   ` [PATCH v8 08/14] net/pcap: support VLAN insert and strip Stephen Hemminger
2026-01-27 17:18   ` [PATCH v8 09/14] net/pcap: add link state and speed for interface mode Stephen Hemminger
2026-01-27 17:18   ` [PATCH v8 10/14] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-01-27 17:18   ` [PATCH v8 11/14] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-01-27 17:18   ` [PATCH v8 12/14] net/pcap: avoid use of volatile Stephen Hemminger
2026-01-27 17:18   ` [PATCH v8 13/14] net/pcap: clarify maximum received packet Stephen Hemminger
2026-01-27 17:18   ` [PATCH v8 14/14] test: add test for pcap PMD Stephen Hemminger
2026-01-28 18:40 ` [PATCH v9 00/15] net/pcap: improvements and test suite Stephen Hemminger
2026-01-28 18:40   ` [PATCH v9 01/15] maintainers: update for pcap driver Stephen Hemminger
2026-01-28 18:40   ` [PATCH v9 02/15] doc: update features for PCAP PMD Stephen Hemminger
2026-01-28 18:40   ` [PATCH v9 03/15] net/pcap: include used headers Stephen Hemminger
2026-01-28 18:40   ` [PATCH v9 04/15] net/pcap: remove unnecessary casts Stephen Hemminger
2026-01-28 18:40   ` [PATCH v9 05/15] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-01-28 18:40   ` [PATCH v9 06/15] net/pcap: improve multi-segment transmit handling Stephen Hemminger
2026-01-28 18:40   ` [PATCH v9 07/15] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-01-28 18:40   ` [PATCH v9 08/15] net/pcap: support VLAN insert and strip Stephen Hemminger
2026-01-28 18:40   ` [PATCH v9 09/15] net/pcap: add link state and speed for interface mode Stephen Hemminger
2026-01-28 18:40   ` [PATCH v9 10/15] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-01-28 18:40   ` [PATCH v9 11/15] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-01-28 18:40   ` [PATCH v9 12/15] net/pcap: avoid use of volatile Stephen Hemminger
2026-01-28 18:40   ` [PATCH v9 13/15] net/pcap: clarify maximum received packet Stephen Hemminger
2026-01-28 18:40   ` [PATCH v9 14/15] test: add test for pcap PMD Stephen Hemminger
2026-01-28 18:40   ` [PATCH v9 15/15] net/pcap: add snapshot length devarg Stephen Hemminger
2026-01-30  1:12 ` [PATCH v10 00/19] net/pcap: improvements and test suite Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 01/19] maintainers: update for pcap driver Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 02/19] doc: update features for PCAP PMD Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 03/19] net/pcap: include used headers Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 04/19] net/pcap: remove unnecessary casts Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 05/19] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 06/19] net/pcap: use bulk free Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 07/19] net/pcap: allocate Tx bounce buffer Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 08/19] net/pcap: cleanup transmit buffer handling Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 09/19] net/pcap: report multi-segment transmit capability Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 10/19] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 11/19] net/pcap: support VLAN insert and strip Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 12/19] net/pcap: add link state and speed for interface mode Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 13/19] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 14/19] net/pcap: reject non-Ethernet interfaces Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 15/19] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 16/19] net/pcap: avoid use of volatile Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 17/19] net/pcap: clarify maximum received packet Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 18/19] net/pcap: add snapshot length devarg Stephen Hemminger
2026-01-30  1:12   ` [PATCH v10 19/19] test: add test for pcap PMD Stephen Hemminger
2026-01-30 17:33 ` [PATCH v11 00/19] net/pcap: improvements and test suite Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 01/19] maintainers: update for pcap driver Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 02/19] doc: update features for PCAP PMD Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 03/19] net/pcap: include used headers Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 04/19] net/pcap: remove unnecessary casts Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 05/19] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 06/19] net/pcap: use bulk free Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 07/19] net/pcap: allocate Tx bounce buffer Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 08/19] net/pcap: cleanup transmit buffer handling Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 09/19] net/pcap: report multi-segment transmit capability Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 10/19] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 11/19] net/pcap: support VLAN insert and strip Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 12/19] net/pcap: add link state and speed for interface mode Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 13/19] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 14/19] net/pcap: reject non-Ethernet interfaces Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 15/19] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 16/19] net/pcap: avoid use of volatile Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 17/19] net/pcap: clarify maximum received packet Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 18/19] net/pcap: add snapshot length devarg Stephen Hemminger
2026-01-30 17:33   ` [PATCH v11 19/19] test: add test for pcap PMD Stephen Hemminger
2026-02-02 23:09 ` [PATCH v12 00/19] net/pcap: improvements and test suite Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 01/19] maintainers: update for pcap driver Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 02/19] doc: update features for PCAP PMD Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 03/19] net/pcap: include used headers Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 04/19] net/pcap: remove unnecessary casts Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 05/19] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 06/19] net/pcap: use bulk free Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 07/19] net/pcap: allocate Tx bounce buffer Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 08/19] net/pcap: cleanup transmit buffer handling Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 09/19] net/pcap: report multi-segment transmit capability Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 10/19] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 11/19] net/pcap: support VLAN insert and strip Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 12/19] net/pcap: add link state and speed for interface mode Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 13/19] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 14/19] net/pcap: reject non-Ethernet interfaces Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 15/19] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 16/19] net/pcap: avoid use of volatile Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 17/19] net/pcap: clarify maximum received packet Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 18/19] net/pcap: add snapshot length devarg Stephen Hemminger
2026-02-02 23:09   ` [PATCH v12 19/19] test: add test for pcap PMD Stephen Hemminger
2026-02-10  0:00 ` [PATCH v13 00/16] net/pcap: improvements and test suite Stephen Hemminger
2026-02-10  0:00   ` [PATCH v13 01/16] maintainers: update for pcap driver Stephen Hemminger
2026-02-10  0:00   ` [PATCH v13 02/16] doc: update features for PCAP PMD Stephen Hemminger
2026-02-10  0:00   ` [PATCH v13 03/16] net/pcap: include used headers Stephen Hemminger
2026-02-10  0:00   ` [PATCH v13 04/16] net/pcap: remove unnecessary casts Stephen Hemminger
2026-02-10  0:00   ` [PATCH v13 05/16] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-02-10  0:00   ` [PATCH v13 06/16] net/pcap: cleanup transmit burst logic Stephen Hemminger
2026-02-10  0:00   ` [PATCH v13 07/16] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-02-10  0:00   ` [PATCH v13 08/16] net/pcap: support VLAN insert and strip Stephen Hemminger
2026-02-23 11:34     ` David Marchand
2026-02-10  0:00   ` [PATCH v13 09/16] net/pcap: add link state and speed for interface mode Stephen Hemminger
2026-02-10  0:00   ` [PATCH v13 10/16] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-02-10  0:00   ` [PATCH v13 11/16] net/pcap: reject non-Ethernet interfaces Stephen Hemminger
2026-02-10  0:00   ` [PATCH v13 12/16] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-02-10  0:00   ` [PATCH v13 13/16] net/pcap: avoid use of volatile Stephen Hemminger
2026-02-10  0:00   ` [PATCH v13 14/16] net/pcap: clarify maximum received packet Stephen Hemminger
2026-02-10  0:00   ` [PATCH v13 15/16] net/pcap: add snapshot length devarg Stephen Hemminger
2026-02-10  0:00   ` [PATCH v13 16/16] test: add test for pcap PMD Stephen Hemminger
2026-02-11 21:09 ` [PATCH v14 00/18] net/pcap: improvements and test suite Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 01/18] maintainers: update for pcap driver Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 02/18] doc: update features for PCAP PMD Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 03/18] net/pcap: include used headers Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 04/18] net/pcap: remove unnecessary casts Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 05/18] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 06/18] net/pcap: rework transmit burst handling Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 07/18] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 08/18] net/pcap: support VLAN strip and insert offloads Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 09/18] net/pcap: add link state and speed for interface mode Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 10/18] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 11/18] net/pcap: reject non-Ethernet interfaces Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 12/18] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 13/18] net/pcap: avoid use of volatile Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 14/18] net/pcap: clarify maximum received packet Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 15/18] net/pcap: add snapshot length devarg Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 16/18] net/pcap: add link status change support for iface mode Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 17/18] net/pcap: add EOF notification via link status change Stephen Hemminger
2026-02-11 21:09   ` [PATCH v14 18/18] test: add comprehensive test suite for pcap PMD Stephen Hemminger
2026-02-13 17:01 ` [PATCH v15 00/18] net/pcap: improvements and test suite Stephen Hemminger
2026-02-13 17:01   ` [PATCH v15 01/18] maintainers: update for pcap driver Stephen Hemminger
2026-02-13 17:01   ` [PATCH v15 02/18] doc: update features for PCAP PMD Stephen Hemminger
2026-02-13 17:01   ` [PATCH v15 03/18] net/pcap: include used headers Stephen Hemminger
2026-02-13 17:01   ` [PATCH v15 04/18] net/pcap: remove unnecessary casts Stephen Hemminger
2026-02-13 17:01   ` [PATCH v15 05/18] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-02-13 17:01   ` [PATCH v15 06/18] net/pcap: rework transmit burst handling Stephen Hemminger
2026-02-16 10:02     ` David Marchand
2026-02-13 17:01   ` [PATCH v15 07/18] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-02-13 17:01   ` [PATCH v15 08/18] net/pcap: support VLAN strip and insert offloads Stephen Hemminger
2026-02-13 17:01   ` Stephen Hemminger [this message]
2026-02-13 17:01   ` [PATCH v15 10/18] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-02-13 17:01   ` [PATCH v15 11/18] net/pcap: reject non-Ethernet interfaces Stephen Hemminger
2026-02-13 17:01   ` [PATCH v15 12/18] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-02-13 17:01   ` [PATCH v15 13/18] net/pcap: avoid use of volatile Stephen Hemminger
2026-02-13 17:01   ` [PATCH v15 14/18] net/pcap: clarify maximum received packet Stephen Hemminger
2026-02-13 17:01   ` [PATCH v15 15/18] net/pcap: add snapshot length devarg Stephen Hemminger
2026-02-13 17:01   ` [PATCH v15 16/18] net/pcap: add link status change support for iface mode Stephen Hemminger
2026-02-13 17:01   ` [PATCH v15 17/18] net/pcap: add EOF notification via link status change Stephen Hemminger
2026-02-13 17:01   ` [PATCH v15 18/18] test: add comprehensive test suite for pcap PMD Stephen Hemminger
2026-02-16 18:11 ` [PATCH v16 00/21] net/pcap: improvements and test suite Stephen Hemminger
2026-02-16 18:11   ` [PATCH v16 01/21] maintainers: update for pcap driver Stephen Hemminger
2026-02-16 18:11   ` [PATCH v16 02/21] doc: update features for PCAP PMD Stephen Hemminger
2026-02-16 18:11   ` [PATCH v16 03/21] net/pcap: include used headers Stephen Hemminger
2026-02-16 18:11   ` [PATCH v16 04/21] net/pcap: remove unnecessary casts Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 05/21] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 06/21] net/pcap: advertise Tx multi segment Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 07/21] net/pcap: replace stack bounce buffer with per-queue allocation Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 08/21] net/pcap: fix error accounting and backpressure on transmit Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 09/21] net/pcap: add datapath debug logging Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 10/21] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 11/21] net/pcap: support VLAN strip and insert offloads Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 12/21] net/pcap: add link state and speed for interface mode Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 13/21] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 14/21] net/pcap: reject non-Ethernet interfaces Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 15/21] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 16/21] net/pcap: avoid use of volatile Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 17/21] net/pcap: clarify maximum received packet Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 18/21] net/pcap: add snapshot length devarg Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 19/21] net/pcap: add link status change support for iface mode Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 20/21] net/pcap: add EOF notification via link status change Stephen Hemminger
2026-02-16 18:12   ` [PATCH v16 21/21] test: add comprehensive test suite for pcap PMD Stephen Hemminger
2026-02-20  5:45 ` [PATCH v17 00/23] net/pcap: fixes, test, and ehancements Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 01/23] maintainers: update for pcap driver Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 02/23] net/pcap: fix build on Windows Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 03/23] doc: update features for PCAP PMD Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 04/23] net/pcap: include used headers Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 05/23] net/pcap: remove unnecessary casts Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 06/23] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 07/23] net/pcap: advertise Tx multi segment Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 08/23] net/pcap: replace stack bounce buffer Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 09/23] net/pcap: fix error accounting and backpressure on transmit Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 10/23] net/pcap: add datapath debug logging Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 11/23] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 12/23] net/pcap: support VLAN strip and insert offloads Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 13/23] net/pcap: add link state and speed for interface mode Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 14/23] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 15/23] net/pcap: reject non-Ethernet interfaces Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 16/23] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 17/23] net/pcap: avoid use of volatile Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 18/23] net/pcap: clarify maximum received packet Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 19/23] eal/windows: add wrapper for access function Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 20/23] net/pcap: add snapshot length devarg Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 21/23] net/pcap: add link status change support for iface mode Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 22/23] net/pcap: add EOF notification via link status change Stephen Hemminger
2026-02-20  5:45   ` [PATCH v17 23/23] test: add comprehensive test suite for pcap PMD Stephen Hemminger
2026-03-01  2:05 ` [PATCH v18 00/23] net/pcap: fixes, test, and enhancements Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 01/23] maintainers: update for pcap driver Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 02/23] net/pcap: fix build on Windows Stephen Hemminger
2026-03-02  3:28     ` fengchengwen
2026-03-02  8:03     ` David Marchand
2026-03-01  2:05   ` [PATCH v18 03/23] doc: update features for PCAP PMD Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 04/23] net/pcap: include used headers Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 05/23] net/pcap: remove unnecessary casts Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 06/23] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 07/23] net/pcap: advertise Tx multi segment Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 08/23] net/pcap: replace stack bounce buffer Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 09/23] net/pcap: fix error accounting and backpressure on transmit Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 10/23] net/pcap: add datapath debug logging Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 11/23] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 12/23] net/pcap: support VLAN strip and insert offloads Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 13/23] net/pcap: add link status for interface mode Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 14/23] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 15/23] net/pcap: reject non-Ethernet interfaces Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 16/23] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 17/23] net/pcap: avoid use of volatile Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 18/23] net/pcap: clarify maximum received packet Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 19/23] eal/windows: add wrapper for access function Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 20/23] net/pcap: add snapshot length devarg Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 21/23] net/pcap: add link status change support for iface mode Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 22/23] net/pcap: add EOF notification via link status change Stephen Hemminger
2026-03-01  2:05   ` [PATCH v18 23/23] test: add comprehensive test suite for pcap PMD Stephen Hemminger
2026-03-10  2:47 ` [PATCH v19 00/24] net/pcap: fixes, test, and enhancements Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 01/25] maintainers: update for pcap driver Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 02/25] net/pcap: fix build on Windows Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 03/25] doc: update features for PCAP PMD Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 04/25] net/pcap: include used headers Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 05/25] net/pcap: remove unnecessary casts Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 06/25] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 07/25] net/pcap: advertise Tx multi segment Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 08/25] net/pcap: replace stack bounce buffer Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 09/25] net/pcap: fix error accounting and backpressure on transmit Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 10/25] net/pcap: add datapath debug logging Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 11/25] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 12/25] net/pcap: support VLAN strip and insert offloads Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 13/25] net/pcap: add link status for interface mode Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 14/25] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 15/25] net/pcap: reject non-Ethernet interfaces Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 16/25] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 17/25] net/pcap: avoid use of volatile Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 18/25] net/pcap: clarify maximum received packet Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 19/25] eal/windows: add wrapper for access function Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 20/25] net/pcap: add snapshot length devarg Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 21/25] net/pcap: add Rx scatter offload Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 22/25] net/pcap: add link status change support for iface mode Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 23/25] net/pcap: add EOF notification via link status change Stephen Hemminger
2026-03-10  2:47   ` [PATCH v19 24/25] test: add comprehensive test suite for pcap PMD Stephen Hemminger
2026-03-10  2:48   ` [PATCH v19 25/25] check patch warn in test Stephen Hemminger
2026-03-10 16:09 ` [PATCH v20 00/25] net/pcap: fixes, test, and enhancements Stephen Hemminger
2026-03-10 16:09   ` [PATCH v20 01/25] maintainers: update for pcap driver Stephen Hemminger
2026-03-16 11:07     ` Bruce Richardson
2026-03-10 16:09   ` [PATCH v20 02/25] net/pcap: fix build on Windows Stephen Hemminger
2026-03-10 16:09   ` [PATCH v20 03/25] doc: update features for PCAP PMD Stephen Hemminger
2026-03-16 11:16     ` Bruce Richardson
2026-03-10 16:09   ` [PATCH v20 04/25] net/pcap: include used headers Stephen Hemminger
2026-03-16 11:21     ` Bruce Richardson
2026-03-10 16:09   ` [PATCH v20 05/25] net/pcap: remove unnecessary casts Stephen Hemminger
2026-03-16 11:27     ` Bruce Richardson
2026-03-10 16:09   ` [PATCH v20 06/25] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-03-16 11:38     ` Bruce Richardson
2026-03-10 16:09   ` [PATCH v20 07/25] net/pcap: advertise Tx multi segment Stephen Hemminger
2026-03-16 11:39     ` Bruce Richardson
2026-03-10 16:09   ` [PATCH v20 08/25] net/pcap: replace stack bounce buffer Stephen Hemminger
2026-03-16 11:47     ` Bruce Richardson
2026-03-10 16:09   ` [PATCH v20 09/25] net/pcap: fix error accounting and backpressure on transmit Stephen Hemminger
2026-03-16 12:24     ` Bruce Richardson
2026-03-10 16:09   ` [PATCH v20 10/25] net/pcap: add datapath debug logging Stephen Hemminger
2026-03-16 13:50     ` Bruce Richardson
2026-03-10 16:09   ` [PATCH v20 11/25] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-03-16 14:00     ` Bruce Richardson
2026-03-10 16:09   ` [PATCH v20 12/25] net/pcap: support VLAN strip and insert offloads Stephen Hemminger
2026-03-16 14:04     ` Bruce Richardson
2026-03-24 16:47       ` Stephen Hemminger
2026-03-10 16:09   ` [PATCH v20 13/25] net/pcap: add link status for interface mode Stephen Hemminger
2026-03-16 14:11     ` Bruce Richardson
2026-03-24 16:48       ` Stephen Hemminger
2026-03-10 16:09   ` [PATCH v20 14/25] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-03-16 14:16     ` Bruce Richardson
2026-03-10 16:09   ` [PATCH v20 15/25] net/pcap: reject non-Ethernet interfaces Stephen Hemminger
2026-03-10 16:09   ` [PATCH v20 16/25] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-03-16 14:20     ` Bruce Richardson
2026-03-10 16:09   ` [PATCH v20 17/25] net/pcap: avoid use of volatile Stephen Hemminger
2026-03-16 14:31     ` Bruce Richardson
2026-03-16 15:23       ` Stephen Hemminger
2026-03-10 16:09   ` [PATCH v20 18/25] net/pcap: clarify maximum received packet Stephen Hemminger
2026-03-16 14:32     ` Bruce Richardson
2026-03-10 16:09   ` [PATCH v20 19/25] eal/windows: add wrapper for access function Stephen Hemminger
2026-03-16 14:34     ` Bruce Richardson
2026-03-10 16:09   ` [PATCH v20 20/25] net/pcap: add snapshot length devarg Stephen Hemminger
2026-03-16 14:37     ` Bruce Richardson
2026-03-10 16:09   ` [PATCH v20 21/25] net/pcap: add Rx scatter offload Stephen Hemminger
2026-03-16 15:01     ` Bruce Richardson
2026-03-10 16:10   ` [PATCH v20 22/25] net/pcap: add link status change support for iface mode Stephen Hemminger
2026-03-16 15:02     ` Bruce Richardson
2026-03-10 16:10   ` [PATCH v20 23/25] net/pcap: add EOF notification via link status change Stephen Hemminger
2026-03-16 15:05     ` Bruce Richardson
2026-03-10 16:10   ` [PATCH v20 24/25] test: add comprehensive test suite for pcap PMD Stephen Hemminger
2026-03-16 15:31     ` Bruce Richardson
2026-03-10 16:10   ` [PATCH v20 25/25] app/pdump: preserve VLAN tags in captured packets Stephen Hemminger
2026-03-16 15:33     ` Bruce Richardson
2026-03-16 15:55       ` Morten Brørup
2026-03-16 16:05         ` Bruce Richardson
2026-03-16 16:15           ` Morten Brørup
2026-03-24 17:12         ` Stephen Hemminger
2026-03-25  7:41           ` Morten Brørup
2026-03-25  9:12             ` Bruce Richardson
2026-03-25  9:36               ` Morten Brørup
2026-03-25  9:42                 ` Bruce Richardson
2026-03-25 16:19                 ` Stephen Hemminger
2026-03-25 16:22                   ` Bruce Richardson
2026-03-25 16:52                     ` Stephen Hemminger
2026-03-25 17:09                       ` Bruce Richardson
2026-03-25 17:33                     ` Stephen Hemminger
2026-03-25 17:00               ` Stephen Hemminger
2026-03-25  2:37 ` [PATCH v21 00/25] net/pcap: fixes, test, and enhancements Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 01/25] maintainers: update for pcap driver Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 02/25] net/pcap: fix build on Windows Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 03/25] doc: update features for PCAP PMD Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 04/25] net/pcap: include used headers Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 05/25] net/pcap: remove unnecessary casts Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 06/25] net/pcap: avoid using rte_malloc and rte_memcpy Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 07/25] net/pcap: advertise Tx multi segment Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 08/25] net/pcap: replace stack bounce buffer Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 09/25] net/pcap: fix error accounting and backpressure on transmit Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 10/25] net/pcap: clean up TX dumper return value and types Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 11/25] net/pcap: add datapath debug logging Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 12/25] net/pcap: consolidate boolean flag handling Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 13/25] net/pcap: support VLAN strip and insert offloads Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 14/25] app/pdump: preserve VLAN tags in captured packets Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 15/25] net/pcap: add link status for interface mode Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 16/25] net/pcap: support nanosecond timestamp precision Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 17/25] net/pcap: reject non-Ethernet interfaces Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 18/25] net/pcap: reduce scope of file-level variables Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 19/25] net/pcap: clarify maximum received packet Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 20/25] eal/windows: add wrapper for access function Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 21/25] net/pcap: add snapshot length devarg Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 22/25] net/pcap: add Rx scatter offload Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 23/25] net/pcap: add link status change support for iface mode Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 24/25] net/pcap: add EOF notification via link status change Stephen Hemminger
2026-03-25  2:37   ` [PATCH v21 25/25] test: add comprehensive test suite for pcap PMD Stephen Hemminger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260213170333.40089-10-stephen@networkplumber.org \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox