[PATCH v1] pcapng: allow any protocol link type for the interface block

Stephen Hemminger stephen at networkplumber.org
Wed Aug 27 18:06:39 CEST 2025


On Wed, 27 Aug 2025 09:38:52 -0600
Schneide <schneide at qti.qualcomm.com> wrote:

> +use_function_versioning = true
> diff --git a/lib/pcapng/rte_pcapng.c b/lib/pcapng/rte_pcapng.c
> index 2a07b4c1f5..1ff8d14d08 100644
> --- a/lib/pcapng/rte_pcapng.c
> +++ b/lib/pcapng/rte_pcapng.c
> @@ -200,11 +200,10 @@ pcapng_section_block(rte_pcapng_t *self,
>  }
>  
>  /* Write an interface block for a DPDK port */
> -RTE_EXPORT_SYMBOL(rte_pcapng_add_interface)
> -int
> -rte_pcapng_add_interface(rte_pcapng_t *self, uint16_t port,
> -			 const char *ifname, const char *ifdescr,
> -			 const char *filter)
> +RTE_DEFAULT_SYMBOL(27, int, rte_pcapng_add_interface,
> +		   (rte_pcapng_t *self, uint16_t port, uint16_t link_type,
> +		   const char *ifname, const char *ifdescr,
> +		   const char *filter))
>  {
>  	struct pcapng_interface_block *hdr;
>  	struct rte_eth_dev_info dev_info;
> @@ -274,7 +273,7 @@ rte_pcapng_add_interface(rte_pcapng_t *self, uint16_t port,
>  	hdr = (struct pcapng_interface_block *)buf;
>  	*hdr = (struct pcapng_interface_block) {
>  		.block_type = PCAPNG_INTERFACE_BLOCK,
> -		.link_type = 1,		/* DLT_EN10MB - Ethernet */
> +		.link_type = link_type,
>  		.block_length = len,
>  	};
>  
> @@ -319,6 +318,16 @@ rte_pcapng_add_interface(rte_pcapng_t *self, uint16_t port,
>  	return write(self->outfd, buf, len);
>  }
>  
> +RTE_VERSION_SYMBOL(26, int, rte_pcapng_add_interface,
> +		   (rte_pcapng_t *self, uint16_t port,
> +		   const char *ifname, const char *ifdescr,
> +		   const char *filter))
> +{
> +	/* Call the new version with a default link_type (Ethernet) */
> +	return rte_pcapng_add_interface(self, port, DLT_EN10MB,
> +					ifname, ifdescr, filter);
> +}
> +

No symbol versioning needed for 25.11 release since it is major release.
The release note is enough.


More information about the dev mailing list