[dpdk-dev] [PATCH v4 1/7] net/ark: PMD for Atomic Rules Arkville driver stub
Ed Czeck
ed.czeck at atomicrules.com
Thu Mar 23 20:46:13 CET 2017
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.
More information about the dev
mailing list