[dpdk-dev] [PATCH 3/6] net/sfc: add support for per-port dynamic logging

Ferruh Yigit ferruh.yigit at intel.com
Thu Mar 15 16:45:33 CET 2018


On 1/25/2018 5:00 PM, Andrew Rybchenko wrote:
> From: Ivan Malov <ivan.malov at oktetlabs.ru>
> 
> Signed-off-by: Ivan Malov <ivan.malov at oktetlabs.ru>
> Signed-off-by: Andrew Rybchenko <arybchenko at solarflare.com>
> Reviewed-by: Andy Moreton <amoreton at solarflare.com>

<...>

> +uint32_t
> +sfc_register_logtype(struct sfc_adapter *sa, const char *lt_prefix_str,
> +		     uint32_t ll_default)
> +{
> +	size_t lt_prefix_str_size = strlen(lt_prefix_str);
> +	size_t lt_str_size_max;
> +	char *lt_str = NULL;
> +	int ret;
> +
> +	if (SIZE_MAX - PCI_PRI_STR_SIZE - 1 > lt_prefix_str_size) {
> +		++lt_prefix_str_size; /* Reserve space for prefix separator */
> +		lt_str_size_max = lt_prefix_str_size + PCI_PRI_STR_SIZE + 1;
> +	} else {
> +		return RTE_LOGTYPE_PMD;
> +	}
> +
> +	lt_str = rte_zmalloc("logtype_str", lt_str_size_max, 0);
> +	if (lt_str == NULL)
> +		return RTE_LOGTYPE_PMD;
> +
> +	strncpy(lt_str, lt_prefix_str, lt_prefix_str_size);
> +	lt_str[lt_prefix_str_size - 1] = '.';
> +	rte_pci_device_name(&sa->pci_addr, lt_str + lt_prefix_str_size,
> +			    lt_str_size_max - lt_prefix_str_size);


Not able to find "rte_pci_device_name()" in shared library build [1].
Need to link with rte_pci library [2].

[1]
sfc.o: In function `sfc_register_logtype':
.../dpdk/drivers/net/sfc/sfc.c:(.text+0x1a52): undefined reference to
`rte_pci_device_name'
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)

[2]
  --- a/drivers/net/sfc/Makefile
  +++ b/drivers/net/sfc/Makefile
  @@ -52,3 +52,3 @@ LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
   LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
  -LDLIBS += -lrte_bus_pci
  +LDLIBS += -lrte_bus_pci -lrte_pci

<...>


More information about the dev mailing list