In the next patch set, v5 the following are addressed. > > > > +CONFIG_RTE_LIBRTE_ARK_PMD=n > Is it not tested or known that it is not supported? > > CONFIG_RTE_LIBRTE_IXGBE_PMD=n > > CONFIG_RTE_LIBRTE_I40E_PMD=n > > CONFIG_RTE_LIBRTE_VIRTIO_PMD=y
The Ark/PMD is not supported on those architectures at this time. This is also reflected in doc/guides/nic/ark.rst > Can you also please document the device arguments in this file? > Device Parameters > ----------------- > "Pkt_gen" > "Pkt_chkr" > "Pkt_dir" doc/guides/nic/ark.rst has been update to include documentation for these arguments. > > diff --git a/doc/guides/nics/features/ark.ini b/doc/guides/nics/features/ark.ini > ... > Features can be added with the patch that adds functionality. I believe > above features not supported with current patch. The ark.ini file has been removed in this patch and will be added in a later patch > > +# > > +SRCS-y += ark_ethdev.c > Please use SRCS-y only in comment, for actual usage please prefer: > SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) Changed per request. > > > +#define ARK_TRACE_ON(fmt, ...) \ > > + PMD_DRV_LOG(ERR, fmt, ##__VA_ARGS__) > > + > > +#define ARK_TRACE_OFF(fmt, ...) \ > > + do {if (0) PMD_DRV_LOG(ERR, fmt, ##__VA_ARGS__); } while (0) > why not just "do { } while(0)" ? A do while body always executes at least once. The if (0) is required. > This is debug option but prints only "ERR" level log, shouldn't this be > DEBUG. > Also there are dpdk wide log level option, helps optimizing out some > code, if you use only ERR type, you won't be benefiting from it. Changed to DEBUG > > __rte_unused not required. Removed. > > + ARK_DEBUG_TRACE("eth_ark_dev_init(struct rte_eth_dev *dev)\n"); > > + gark[0] = ark; > Is it OK to have this hardcoded index "0"? When there are two instance > of this device, this value be overwritten by second one. Code refactored moving this variable from global scope to instance specific. > dev->data->dev_flags |= RTE_ETH_DEV_DETACHABLE; I do not understand your comment. > > memset not required, since already done by ethdev abstraction layer, > specially desc_lim values already overwritten below. Deleted. > > > + dev_info->max_rx_pktlen = (16 * 1024) - 128; > > + dev_info->min_rx_bufsize = 1024; > Using some macros instead of hardcoded values helps to understand values. Done > > > The general usage of DEBUG_TRACE is providing backtrace log, function > enterance / exit informations. I guess, that is why it has been > controlled by different config option. > Here what you need looks like regular debugging functions, PMD_DRV_LOG / > RTE_LOG variant. I'm unclear on your request or comment. Are you suggesting that we use the dpdk versions of debug? The advantage of a local version is that they can be enabled without all the debug traces. > Can this overflow args variable? Any way to prevent possible crash? > What happens if somebody, by accident, provides a file as device > argument which is larger than 256 bytes? Code has been fixed to avoid overflow. >> > +/* >> >> > + * Although Arkville is a physical device we take advantage of the virtual >> >> > + * device initialization as a per test runtime initialization for >> >> > + * regression testing. Parameters are passed into the virtual device to >> >> > + * configure the packet generator, packet director and packet checker. >> >> > + */ >> >> Why not providing these arguments via physical device? Code has been changed to use dev arg instead of vdev args. >> +++ b/drivers/net/ark/rte_pmd_ark_version.map > s/DPDK_2.0/DPDK_17.05 Fixed.