* Re: [PATCH v3] drivers: advertise kmod dependencies in pmdinfo
From: Thomas Monjalon @ 2016-12-20 17:26 UTC (permalink / raw)
To: Olivier Matz; +Cc: Adrien Mazarguil, dev, nhorman, vido, fiona.trahe, stephen
In-Reply-To: <20161216082332.GB10340@6wind.com>
> > Add a new macro RTE_PMD_REGISTER_KMOD_DEP() that allows a driver to
> > declare the list of kernel modules required to run properly.
> >
> > Today, most PCI drivers require uio/vfio.
> >
> > Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
> > Acked-by: Fiona Trahe <fiona.trahe@intel.com>
>
> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Applied in main tree, thanks
^ permalink raw reply
* Re: [PATCH 16/18] net/ixgbe: create consistent filter
From: Ferruh Yigit @ 2016-12-20 17:25 UTC (permalink / raw)
To: Wei Zhao, dev; +Cc: wenzhuo.lu
In-Reply-To: <1480675394-59179-17-git-send-email-wei.zhao1@intel.com>
On 12/2/2016 10:43 AM, Wei Zhao wrote:
> From: wei zhao1 <wei.zhao1@intel.com>
>
> This patch adds a function to create the flow directory filter.
>
> Signed-off-by: wei zhao1 <wei.zhao1@intel.com>
> Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
<...>
> +/**
> + * Create or destroy a flow rule.
> + * Theorically one rule can match more than one filters.
> + * We will let it use the filter which it hitt first.
> + * So, the sequence matters.
> + */
> +struct ixgbe_flow *
> +ixgbe_flow_create(struct rte_eth_dev *dev,
> + const struct rte_flow_attr *attr,
> + const struct rte_flow_item pattern[],
> + const struct rte_flow_action actions[],
> + struct rte_flow_error *error)
> +{
> + int ret;
> + struct rte_eth_ntuple_filter ntuple_filter;
<...>
> + error->type = ret;
This also returns same ICC error, there are a few more same usage:
.../drivers/net/ixgbe/ixgbe_ethdev.c(9764): error #188: enumerated type
mixed with another type
error->type = ret;
^
^ permalink raw reply
* Re: [PATCH 11/18] net/ixgbe: parse n-tuple filter
From: Ferruh Yigit @ 2016-12-20 17:23 UTC (permalink / raw)
To: Wei Zhao, dev; +Cc: wenzhuo.lu
In-Reply-To: <1480675394-59179-12-git-send-email-wei.zhao1@intel.com>
On 12/2/2016 10:43 AM, Wei Zhao wrote:
> From: wei zhao1 <wei.zhao1@intel.com>
>
> Add rule validate function and check if the rule is a n-tuple rule,
> and get the n-tuple info.
>
> Signed-off-by: wei zhao1 <wei.zhao1@intel.com>
> Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
> ---
> drivers/net/ixgbe/ixgbe_ethdev.c | 349 +++++++++++++++++++++++++++++++++++++++
> 1 file changed, 349 insertions(+)
<...>
> + */
> +static enum rte_flow_error_type
> +cons_parse_ntuple_filter(const struct rte_flow_attr *attr,
> + const struct rte_flow_item pattern[],
> + const struct rte_flow_action actions[],
> + struct rte_eth_ntuple_filter *filter)
> +{
<...>
> +
> + return 0;
This gives build error [1] with ICC, there are a few same usage, return
type is enum but returning an int.
[1]
/tmp/dpdk_maintain/ixgbe_flow/dpdk/drivers/net/ixgbe/ixgbe_ethdev.c(8432):
error #188: enumerated type mixed with another type
return 0;
^
^ permalink raw reply
* Re: [PATCH v2] examples/ethtool: fix bug in drvinfo callback
From: Thomas Monjalon @ 2016-12-20 17:21 UTC (permalink / raw)
To: Qiming Yang; +Cc: dev, Remy Horton
In-Reply-To: <f5d536d4-fe53-5ff9-4f6f-add6f102c171@intel.com>
2016-11-23 09:00, Remy Horton:
> Not sure this is a problem in practice, as the same set if fields is
> updated each time...at least for now.
>
> On 22/11/2016 09:41, Qiming Yang wrote:
> > Function pcmd_drvinfo_callback uses struct info to get
> > the ethtool information of each port. Struct info will
> > store the information of previous port until this
> > information be updated. This patch fixes this issue.
> >
> > Fixes: bda68ab9d1e7 ("examples/ethtool: add user-space ethtool sample application")
> >
> > Signed-off-by: Qiming Yang <qiming.yang@intel.com>
>
> Acked-by: Remy Horton <remy.horton@intel.com>
Applied, thanks
^ permalink raw reply
* Re: [PATCH 04/13] eal: introduce driver type
From: Stephen Hemminger @ 2016-12-20 17:16 UTC (permalink / raw)
To: Shreyansh Jain; +Cc: dev, Stephen Hemminger
In-Reply-To: <3017fb08-e1f2-376a-e748-7151810b440e@nxp.com>
On Tue, 20 Dec 2016 12:46:17 +0530
Shreyansh Jain <shreyansh.jain@nxp.com> wrote:
> On Tuesday 20 December 2016 03:29 AM, Stephen Hemminger wrote:
> > Since multiple buses and device types need to be supported.
> > Provide type field in driver.
> > ---
> > lib/librte_eal/common/include/rte_dev.h | 15 ++++++++++++---
> > lib/librte_eal/common/include/rte_pci.h | 1 +
> > lib/librte_eal/common/include/rte_vdev.h | 1 +
> > 3 files changed, 14 insertions(+), 3 deletions(-)
> >
> > diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h
> > index e5471a22..3f4e26e6 100644
> > --- a/lib/librte_eal/common/include/rte_dev.h
> > +++ b/lib/librte_eal/common/include/rte_dev.h
> > @@ -144,12 +144,21 @@ void rte_eal_device_insert(struct rte_device *dev);
> > void rte_eal_device_remove(struct rte_device *dev);
> >
> > /**
> > + * Type of device driver
> > + */
> > +enum rte_driver_type {
> > + PMD_VIRTUAL,
> > + PMD_PCI,
> > +};
>
> So the expectation is that if a new device type is introduced (anything
> other than virtual or PCI), this enum is expanded?
>
> Broadly, we have two possible ways being discussed on ML for device
> relationship with PMD/APIs:
>
> 1. the way you have done: each device belongs to a particular type (enum
> rte_driver_type) and based on its type, operations would be performed on
> it (using conditional operators, for example). We continue to have a
> common device list containing all type of devices.
It is more about providing feedback to applications in info_get which is
the only place they should care.
>
> 2. disassociating the device (rte_device) completely from its type and
> basing it on a Bus type. So, we have separate buses for each device type
> and hence no need for separation of logic based on device type.
>
> I think implementation similar to (1) existed before it was removed in
> 6751f6de.
>
> I have an (obvious) inclination towards (2) because that helps plugging
> in more drivers/device types without expecting the contributor to change
> the EAL - however trivial the change is.
>
The difference is that virtual devices don't actually live on bus.
So it is really a property of the device not a bus per say.
^ permalink raw reply
* Re: [PATCH 01/13] ethdev: increase length ethernet device internal name
From: Stephen Hemminger @ 2016-12-20 17:14 UTC (permalink / raw)
To: Shreyansh Jain; +Cc: dev, Stephen Hemminger
In-Reply-To: <3d2af45f-8a74-499b-06f2-450e02b8f1c0@nxp.com>
On Tue, 20 Dec 2016 12:23:25 +0530
Shreyansh Jain <shreyansh.jain@nxp.com> wrote:
> On Tuesday 20 December 2016 03:29 AM, Stephen Hemminger wrote:
> > Allow sufficicent space for UUID in string form (36+1).
> > Needed to use UUID with Hyper-V
> >
> > Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
> > ---
> > doc/guides/rel_notes/deprecation.rst | 3 +++
> > lib/librte_ether/rte_ethdev.h | 6 +++++-
> > 2 files changed, 8 insertions(+), 1 deletion(-)
> >
> > diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> > index 2d17bc6e..b83f23a1 100644
> > --- a/doc/guides/rel_notes/deprecation.rst
> > +++ b/doc/guides/rel_notes/deprecation.rst
> > @@ -58,6 +58,9 @@ Deprecation Notices
> > ``port`` field, may be moved or removed as part of this mbuf work. A
> > ``timestamp`` will also be added.
> >
> > +* ethdev: for 17.02 the size of internal device name will be increased
> > + to 40 characters to allow for storing UUID.
> > +
> > * The mbuf flags PKT_RX_VLAN_PKT and PKT_RX_QINQ_PKT are deprecated and
> > are respectively replaced by PKT_RX_VLAN_STRIPPED and
> > PKT_RX_QINQ_STRIPPED, that are better described. The old flags and
> > diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
> > index 96781792..3c85e331 100644
> > --- a/lib/librte_ether/rte_ethdev.h
> > +++ b/lib/librte_ether/rte_ethdev.h
> > @@ -1652,7 +1652,11 @@ struct rte_eth_dev_sriov {
> > };
> > #define RTE_ETH_DEV_SRIOV(dev) ((dev)->data->sriov)
> >
> > -#define RTE_ETH_NAME_MAX_LEN (32)
> > +/*
> > + * Internal identifier length
> > + * Sufficiently large to allow for UUID or PCI address
> > + */
> > +#define RTE_ETH_NAME_MAX_LEN 40
>
> Just to clarify my doubt: UUID is 36 byte long. So, 4 extra bytes are to
> keep the name length 4 byte aligned (along with one byte of \0)?
>
> Or, PCI based addressing can stretch 40 bytes?
UUID needs 37 bytes (36 + \0).
I just rounded up to next 4 byte boundary since it seemed like a good idea expecting
that it might have to grow later.
Alternatively we could just get rid of NAME_MAX_LEN and allow arbitrary length...
^ permalink raw reply
* Re: [PATCH v3 02/12] eal/bus: introduce bus abstraction
From: Stephen Hemminger @ 2016-12-20 17:11 UTC (permalink / raw)
To: Jan Blunck
Cc: Shreyansh Jain, dev, David Marchand, Thomas Monjalon,
Ferruh Yigit, jianbo.liu
In-Reply-To: <CALe+Z00LYrfzQE1916LoOqytcFjJ1xRXFL-wLvX03eham11Vvw@mail.gmail.com>
On Tue, 20 Dec 2016 14:17:14 +0100
Jan Blunck <jblunck@infradead.org> wrote:
> On Fri, Dec 16, 2016 at 2:10 PM, Shreyansh Jain <shreyansh.jain@nxp.com> wrote:
> > This patch introduces the rte_bus abstraction for devices and drivers in
> > EAL framework. The model is:
> > - One or more buses are connected to a CPU (or core)
> > - One or more devices are conneted to a Bus
> > - Drivers are running instances which manage one or more devices
> > - Bus is responsible for identifying devices (and interrupt propogation)
> > - Driver is responsible for initializing the device
> >
> > This patch adds a 'rte_bus' class which rte_driver and rte_device refer.
> > This way, each device (rte_xxx_device) would have reference to the bus
> > it is based on. As well as, each driver (rte_xxx_driver) would have link
> > to the bus and devices on it for servicing.
> >
> > __ rte_bus_list
> > /
> > +----------'---+
> > |rte_bus |
> > | driver_list------> List of rte_bus specific
> > | device_list---- devices
> > | | `-> List of rte_bus associated
> > | | drivers
> > +--|------|----+
> > _________/ \_________
> > +--------/----+ +-\---------------+
> > |rte_device | |rte_driver |
> > | rte_bus | | rte_bus |
> > | rte_driver | | ... |
> > | ... | +---------...-----+
> > | | |||
> > +---||--------+ |||
> > || |||
> > | \ \\\
> > | \_____________ \\\
> > | \ |||
> > +------|---------+ +----|----------+ |||
> > |rte_pci_device | |rte_xxx_device | |||
> > | .... | | .... | |||
> > +----------------+ +---------------+ / | \
> > / | \
> > _____________________/ / \
> > / ___/ \
> > +-------------'--+ +------------'---+ +--'------------+
> > |rte_pci_driver | |rte_vdev_driver | |rte_xxx_driver |
> > | .... | | .... | | .... |
> > +----------------+ +----------------+ +---------------+
> >
> > This patch only enables the bus references on rte_driver and rte_driver.
> > EAL wide global device and driver list continue to exist until an instance
> > of bus is added in subsequent patches.
> >
> > This patch also introduces RTE_REGISTER_BUS macro on the lines of
> > RTE_PMD_REGISTER_XXX. Key difference is that the constructor priority has
> > been explicitly set to 101 so as to execute bus registration before PMD.
> >
> > Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
> >
Ok, but let's keep this as bus type not bus. It gets really hard and complex
to enumerate all layers of PCI bus and bridges.
^ permalink raw reply
* Re: [PATCH 04/13] eal: introduce driver type
From: Stephen Hemminger @ 2016-12-20 17:09 UTC (permalink / raw)
To: Jan Blunck; +Cc: dev, Stephen Hemminger
In-Reply-To: <CALe+Z02fh5iw4ZAf5Qxikz9i32Cyig0OOZBqoUQJcq+6JB2zUg@mail.gmail.com>
On Tue, 20 Dec 2016 14:00:55 +0100
Jan Blunck <jblunck@infradead.org> wrote:
> On Mon, Dec 19, 2016 at 10:59 PM, Stephen Hemminger
> <stephen@networkplumber.org> wrote:
> > Since multiple buses and device types need to be supported.
> > Provide type field in driver.
> > ---
> > lib/librte_eal/common/include/rte_dev.h | 15 ++++++++++++---
> > lib/librte_eal/common/include/rte_pci.h | 1 +
> > lib/librte_eal/common/include/rte_vdev.h | 1 +
> > 3 files changed, 14 insertions(+), 3 deletions(-)
> >
> > diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h
> > index e5471a22..3f4e26e6 100644
> > --- a/lib/librte_eal/common/include/rte_dev.h
> > +++ b/lib/librte_eal/common/include/rte_dev.h
> > @@ -144,12 +144,21 @@ void rte_eal_device_insert(struct rte_device *dev);
> > void rte_eal_device_remove(struct rte_device *dev);
> >
> > /**
> > + * Type of device driver
> > + */
> > +enum rte_driver_type {
> > + PMD_VIRTUAL,
> > + PMD_PCI,
> > +};
> > +
> > +/**
> > * A structure describing a device driver.
> > */
> > struct rte_driver {
> > TAILQ_ENTRY(rte_driver) next; /**< Next in list. */
> > - const char *name; /**< Driver name. */
> > - const char *alias; /**< Driver alias. */
> > + const char *name; /**< Driver name. */
> > + const char *alias; /**< Driver alias. */
> > + enum rte_driver_type type; /**< Driver type. */
> > };
>
> I wonder who is the user of the type. It can't be the driver itself
> because it must be aware of what kind of low-level interface it
> serves. So this seems to be a helper to allow users of rte_driver to
> upcast to the object that embeds the rte_driver at runtime. I don't
> believe that this is a good interface because it often leads to ugly
> and error prone code.
The thing I ran into was the test code. The testpmd (and related code) is an
example of how some code might want to use dev_info_get to find out about a device
then take some action based on the driver type. Testpmd has code that manipulates
PCI registers. Right now it is broken when run on virtual devices.
^ permalink raw reply
* Re: [PATCH v3 25/25] doc: describe testpmd flow command
From: Ferruh Yigit @ 2016-12-20 17:06 UTC (permalink / raw)
To: Adrien Mazarguil, dev
In-Reply-To: <fcc4d34589201dc8b64fb94bb71c04005b8a5a5a.1482168851.git.adrien.mazarguil@6wind.com>
On 12/19/2016 5:49 PM, Adrien Mazarguil wrote:
> Document syntax, interaction with rte_flow and provide usage examples.
>
> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
> Acked-by: Olga Shern <olgas@mellanox.com>
> ---
<...>
> +
> +Check whether redirecting any Ethernet packet received on port 0 to RX queue
> +index 6 is supported::
> +
> + testpmd> flow validate 1 ingress pattern eth / end
Small detail, but since note mentions "port 0", command should be:
testpmd> flow validate 0 ingress pattern eth / end ...
<...>
^ permalink raw reply
* Re: [PATCH 15/18] net/ixgbe: parse flow director filter
From: Ferruh Yigit @ 2016-12-20 17:00 UTC (permalink / raw)
To: Wei Zhao, dev; +Cc: wenzhuo.lu
In-Reply-To: <1480675394-59179-16-git-send-email-wei.zhao1@intel.com>
On 12/2/2016 10:43 AM, Wei Zhao wrote:
> From: wei zhao1 <wei.zhao1@intel.com>
>
> check if the rule is a flow director rule, and get the flow director info.
>
> Signed-off-by: wei zhao1 <wei.zhao1@intel.com>
> Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
> ---
<...>
> + PATTERN_SKIP_VOID(rule, struct ixgbe_fdir_rule,
> + RTE_FLOW_ERROR_TYPE_ITEM_NUM);
> + if (item->type != RTE_FLOW_ITEM_TYPE_ETH &&
> + item->type != RTE_FLOW_ITEM_TYPE_IPV4 &&
> + item->type != RTE_FLOW_ITEM_TYPE_IPV6 &&
> + item->type != RTE_FLOW_ITEM_TYPE_UDP &&
> + item->type != RTE_FLOW_ITEM_TYPE_VXLAN &&
> + item->type != RTE_FLOW_ITEM_TYPE_NVGRE) {
This gives build error [1], there are a few more same usage:
.../drivers/net/ixgbe/ixgbe_ethdev.c:9238:17: error: comparison of
constant 241 with expression of type 'const enum rte_flow_item_type' is
always true [-Werror,-Wtautological-constant-out-of-range-compare]
item->type != RTE_FLOW_ITEM_TYPE_NVGRE) {
^ permalink raw reply
* Re: [PATCH 04/18] net/ixgbe: restore n-tuple filter
From: Ferruh Yigit @ 2016-12-20 16:58 UTC (permalink / raw)
To: Zhao1, Wei, dev@dpdk.org; +Cc: Lu, Wenzhuo
In-Reply-To: <1480675394-59179-5-git-send-email-wei.zhao1@intel.com>
On 12/2/2016 10:43 AM, Wei Zhao wrote:
> From: wei zhao1 <wei.zhao1@intel.com>
>
> Add support for restoring n-tuple filter in SW.
>
> Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
> Signed-off-by: wei zhao1 <wei.zhao1@intel.com>
> ---
> drivers/net/ixgbe/ixgbe_ethdev.c | 131 +++++++++++++++++++++++++--------------
> 1 file changed, 83 insertions(+), 48 deletions(-)
>
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
<...>
> @@ -2482,6 +2496,7 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
>
> /* resume enabled intr since hw reset */
> ixgbe_enable_intr(dev);
> + ixgbe_filter_restore(dev);
Just to double check, when you stop the device does 5tuple_filter reset?
If not reset, will adding same filters cause any problem?
>
> return 0;
>
<...>
^ permalink raw reply
* Re: [PATCH 02/18] net/ixgbe: store flow director filter
From: Ferruh Yigit @ 2016-12-20 16:58 UTC (permalink / raw)
To: Wei Zhao, dev; +Cc: wenzhuo.lu
In-Reply-To: <1480675394-59179-3-git-send-email-wei.zhao1@intel.com>
On 12/2/2016 10:42 AM, Wei Zhao wrote:
> From: wei zhao1 <wei.zhao1@intel.com>
>
> Add support for storing flow director filter in SW.
>
> Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
> Signed-off-by: wei zhao1 <wei.zhao1@intel.com>
> ---
> drivers/net/ixgbe/ixgbe_ethdev.c | 48 ++++++++++++++++++
> drivers/net/ixgbe/ixgbe_ethdev.h | 19 ++++++-
> drivers/net/ixgbe/ixgbe_fdir.c | 105 ++++++++++++++++++++++++++++++++++++++-
> 3 files changed, 169 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
> index 7f10cca..f8e5fe1 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
<...>
> @@ -1289,6 +1302,25 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev)
>
> /* initialize SYN filter */
> filter_info->syn_info = 0;
> + /* initialize flow director filter list & hash */
> + TAILQ_INIT(&fdir_info->fdir_list);
> + snprintf(fdir_hash_name, RTE_HASH_NAMESIZE,
> + "fdir_%s", eth_dev->data->name);
> + fdir_info->hash_handle = rte_hash_create(&fdir_hash_params);
Do we really create a hash table in device init? Is there a way to do
this if we know user will use it?
> + if (!fdir_info->hash_handle) {
> + PMD_INIT_LOG(ERR, "Failed to create fdir hash table!");
> + return -EINVAL;
And should we exit here? What if user will not use flow director at all?
> + }
> + fdir_info->hash_map = rte_zmalloc("ixgbe",
> + sizeof(struct ixgbe_fdir_filter *) *
> + IXGBE_MAX_FDIR_FILTER_NUM,
> + 0);
> + if (!fdir_info->hash_map) {
> + PMD_INIT_LOG(ERR,
> + "Failed to allocate memory for fdir hash map!");
> + return -ENOMEM;
> + }
> +
Can you please extract these into functions, to have more clear
init/uninit functions?
> return 0;
> }
>
> @@ -1297,6 +1329,9 @@ eth_ixgbe_dev_uninit(struct rte_eth_dev *eth_dev)
> {
> struct rte_pci_device *pci_dev;
> struct ixgbe_hw *hw;
> + struct ixgbe_hw_fdir_info *fdir_info =
> + IXGBE_DEV_PRIVATE_TO_FDIR_INFO(eth_dev->data->dev_private);
> + struct ixgbe_fdir_filter *fdir_filter;
>
> PMD_INIT_FUNC_TRACE();
>
> @@ -1330,6 +1365,19 @@ eth_ixgbe_dev_uninit(struct rte_eth_dev *eth_dev)
> rte_free(eth_dev->data->hash_mac_addrs);
> eth_dev->data->hash_mac_addrs = NULL;
>
> + /* remove all the fdir filters & hash */
> + if (fdir_info->hash_map)
> + rte_free(fdir_info->hash_map);
> + if (fdir_info->hash_handle)
> + rte_hash_free(fdir_info->hash_handle);
All rte_hash_xxx() APIs gives build error for shared library build, [1]
needs to be added into Makefile.
But, this makes hash library a dependency to the PMD, do you think is
there a way to escape from this?
[1]
+DEPDIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += lib/librte_net lib/librte_hash
> +
> + while ((fdir_filter = TAILQ_FIRST(&fdir_info->fdir_list))) {
> + TAILQ_REMOVE(&fdir_info->fdir_list,
> + fdir_filter,
> + entries);
> + rte_free(fdir_filter);
> + }
> +
> return 0;
> }
>
<...>
^ permalink raw reply
* Re: [PATCH 01/18] net/ixgbe: store SYN filter
From: Ferruh Yigit @ 2016-12-20 16:55 UTC (permalink / raw)
To: Wei Zhao, dev; +Cc: wenzhuo.lu
In-Reply-To: <1480675394-59179-2-git-send-email-wei.zhao1@intel.com>
On 12/2/2016 10:42 AM, Wei Zhao wrote:
> From: wei zhao1 <wei.zhao1@intel.com>
>
> Add support for storing SYN filter in SW.
Do you think does it makes more clear to refer as TCP SYN filter? Or SYN
filter is clear enough?
>
> Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
> Signed-off-by: wei zhao1 <wei.zhao1@intel.com>
Can you please update sign-off to your actual name?
> ---
> drivers/net/ixgbe/ixgbe_ethdev.c | 12 ++++++++++--
> drivers/net/ixgbe/ixgbe_ethdev.h | 2 ++
> 2 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
> index edc9b22..7f10cca 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -1287,6 +1287,8 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev)
> memset(filter_info->fivetuple_mask, 0,
> sizeof(uint32_t) * IXGBE_5TUPLE_ARRAY_SIZE);
>
> + /* initialize SYN filter */
> + filter_info->syn_info = 0;
can it be an option to memset all filter_info? (and of course move list
init after memset)
> return 0;
> }
>
> @@ -5509,15 +5511,19 @@ ixgbe_syn_filter_set(struct rte_eth_dev *dev,
> bool add)
> {
> struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> + struct ixgbe_filter_info *filter_info =
> + IXGBE_DEV_PRIVATE_TO_FILTER_INFO(dev->data->dev_private);
> + uint32_t syn_info;
> uint32_t synqf;
>
> if (filter->queue >= IXGBE_MAX_RX_QUEUE_NUM)
> return -EINVAL;
>
> + syn_info = filter_info->syn_info;
> synqf = IXGBE_READ_REG(hw, IXGBE_SYNQF);
>
> if (add) {
> - if (synqf & IXGBE_SYN_FILTER_ENABLE)
> + if (syn_info & IXGBE_SYN_FILTER_ENABLE)
If these checks will be done on syn_info, shouldn't syn_info be assigned
to synqf before this. Specially for first usage, synqf may be different
than hw register.
Or perhaps can keep continue to use synqf. Since synqf assigned to
filter_info->syn_info after updated.
> return -EINVAL;
> synqf = (uint32_t)(((filter->queue << IXGBE_SYN_FILTER_QUEUE_SHIFT) &
> IXGBE_SYN_FILTER_QUEUE) | IXGBE_SYN_FILTER_ENABLE);
> @@ -5527,10 +5533,12 @@ ixgbe_syn_filter_set(struct rte_eth_dev *dev,
> else
> synqf &= ~IXGBE_SYN_FILTER_SYNQFP;
> } else {
> - if (!(synqf & IXGBE_SYN_FILTER_ENABLE))
> + if (!(syn_info & IXGBE_SYN_FILTER_ENABLE))
> return -ENOENT;
> synqf &= ~(IXGBE_SYN_FILTER_QUEUE | IXGBE_SYN_FILTER_ENABLE);
> }
> +
> + filter_info->syn_info = synqf;
> IXGBE_WRITE_REG(hw, IXGBE_SYNQF, synqf);
> IXGBE_WRITE_FLUSH(hw);
> return 0;
<...>
^ permalink raw reply
* Re: [PATCH v3 02/25] doc: add rte_flow prog guide
From: Mcnamara, John @ 2016-12-20 16:30 UTC (permalink / raw)
To: Adrien Mazarguil, dev@dpdk.org
In-Reply-To: <a99dc8674ba978f01ec306866ecaefe2c3cc2172.1482168851.git.adrien.mazarguil@6wind.com>
Hi Adrien,
There seems to be an issue when building the PDF version of the docs
due to the width of some of the fields in 2 of the tables. I think
this may be a Sphinx/Latex bug since it doesn't happen without the
table:: directive.
If you replace the following tables with the format below (the text
in between is omitted) it resolves the issue:
.. _table_rte_flow_migration_tunnel:
.. table:: TUNNEL conversion
+-------------------------------------------------------+---------+
| Pattern | Actions |
+===+==========================+==========+=============+=========+
| 0 | ETH | ``spec`` | any | QUEUE |
| | +----------+-------------+ |
| | | ``last`` | unset | |
| | +----------+-------------+ |
| | | ``mask`` | any | |
+---+--------------------------+----------+-------------+ |
| 1 | IPV4, IPV6 | ``spec`` | any | |
| | +----------+-------------+ |
| | | ``last`` | unset | |
| | +----------+-------------+ |
| | | ``mask`` | any | |
+---+--------------------------+----------+-------------+ |
| 2 | ANY | ``spec`` | any | |
| | +----------+-------------+ |
| | | ``last`` | unset | |
| | +----------+---------+---+ |
| | | ``mask`` | ``num`` | 0 | |
+---+--------------------------+----------+---------+---+ |
| 3 | VXLAN, GENEVE, TEREDO, | ``spec`` | any | |
| | NVGRE, GRE, ... +----------+-------------+ |
| | | ``last`` | unset | |
| | +----------+-------------+ |
| | | ``mask`` | any | |
+---+--------------------------+----------+-------------+---------+
| 4 | END | END |
+---+---------------------------------------------------+---------+
<text>
.. _table_rte_flow_migration_fdir:
.. table:: FDIR conversion
+----------------------------------------+-----------------------+
| Pattern | Actions |
+===+===================+==========+=====+=======================+
| 0 | ETH, RAW | ``spec`` | any | QUEUE, DROP, PASSTHRU |
| | +----------+-----+ |
| | | ``last`` | N/A | |
| | +----------+-----+ |
| | | ``mask`` | any | |
+---+-------------------+----------+-----+-----------------------+
| 1 | IPV4, IPv6 | ``spec`` | any | MARK |
| | +----------+-----+ |
| | | ``last`` | N/A | |
| | +----------+-----+ |
| | | ``mask`` | any | |
+---+-------------------+----------+-----+ |
| 2 | TCP, UDP, SCTP | ``spec`` | any | |
| | +----------+-----+ |
| | | ``last`` | N/A | |
| | +----------+-----+ |
| | | ``mask`` | any | |
+---+-------------------+----------+-----+ |
| 3 | VF, PF (optional) | ``spec`` | any | |
| | +----------+-----+ |
| | | ``last`` | N/A | |
| | +----------+-----+ |
| | | ``mask`` | any | |
+---+-------------------+----------+-----+-----------------------+
| 4 | END | END |
+---+------------------------------------+-----------------------+
^ permalink raw reply
* Re: [PATCH v3 00/31] net/i40e: base code update
From: Gregory Etelson @ 2016-12-20 16:21 UTC (permalink / raw)
To: dev; +Cc: Ferruh Yigit, Jingjing Wu, helin.zhang
In-Reply-To: <4364070.FlkcxLpqix@polaris>
add dmesg output:
dmar: DRHD: handling fault status reg 502
dmar: DMAR:[DMA Read] Request device [04:00.0] fault addr 865bcc000
DMAR:[fault reason 02] Present bit in context entry is clear
dmar: DRHD: handling fault status reg 602
dmar: DMAR:[DMA Read] Request device [04:00.0] fault addr 865bcc000
DMAR:[fault reason 02] Present bit in context entry is clear
dmar: DRHD: handling fault status reg 702
dmar: DMAR:[DMA Read] Request device [04:00.0] fault addr 865bcc000
DMAR:[fault reason 02] Present bit in context entry is clear
dmar: DRHD: handling fault status reg 2
dmar: DMAR:[DMA Read] Request device [04:00.0] fault addr 865bcc000
DMAR:[fault reason 02] Present bit in context entry is clear
dmar: DRHD: handling fault status reg 102
dmar: DMAR:[DMA Read] Request device [04:00.0] fault addr 865bcc000
DMAR:[fault reason 02] Present bit in context entry is clear
dmar: DRHD: handling fault status reg 202
dmar: DMAR:[DMA Read] Request device [04:00.0] fault addr 865bcc000
DMAR:[fault reason 02] Present bit in context entry is clear
dmar: DRHD: handling fault status reg 302
dmar: DMAR:[DMA Read] Request device [04:00.0] fault addr 865bcc000
DMAR:[fault reason 02] Present bit in context entry is clear
dmar: DRHD: handling fault status reg 402
dmar: DMAR:[DMA Read] Request device [04:00.0] fault addr 865bcc000
DMAR:[fault reason 02] Present bit in context entry is clear
dmar: DRHD: handling fault status reg 502
dmar: DMAR:[DMA Read] Request device [04:00.0] fault addr 865bcc000
DMAR:[fault reason 02] Present bit in context entry is clear
dmar: DRHD: handling fault status reg 602
dmar: DMAR:[DMA Read] Request device [04:00.0] fault addr 865bcc000
DMAR:[fault reason 02] Present bit in context entry is clear
Hello,
I have several XL710-Q2 interfaces that fail with
`PMD: eth_i40e_dev_init(): Failed to init adminq: -54'
Rebase to the latest dpdk-next-net/master did not fix the fault
Firmware version is 5.04 0x80002505 0.0.0
lspci output looks the same for working and failed interfaces
Full traces with all I40*DEBUG options enabled follow.
Is there a way to extract more info to investigate this fault ?
Regards,
Gregory
EAL: Detected lcore 0 as core 0 on socket 0
EAL: Detected lcore 1 as core 0 on socket 1
EAL: Detected lcore 2 as core 1 on socket 0
EAL: Detected lcore 3 as core 1 on socket 1
EAL: Detected lcore 4 as core 2 on socket 0
EAL: Detected lcore 5 as core 2 on socket 1
EAL: Detected lcore 6 as core 3 on socket 0
EAL: Detected lcore 7 as core 3 on socket 1
EAL: Detected lcore 8 as core 6 on socket 0
EAL: Detected lcore 9 as core 6 on socket 1
EAL: Detected lcore 10 as core 7 on socket 0
EAL: Detected lcore 11 as core 7 on socket 1
EAL: Detected lcore 12 as core 0 on socket 0
EAL: Detected lcore 13 as core 0 on socket 1
EAL: Detected lcore 14 as core 1 on socket 0
EAL: Detected lcore 15 as core 1 on socket 1
EAL: Detected lcore 16 as core 2 on socket 0
EAL: Detected lcore 17 as core 2 on socket 1
EAL: Detected lcore 18 as core 3 on socket 0
EAL: Detected lcore 19 as core 3 on socket 1
EAL: Detected lcore 20 as core 6 on socket 0
EAL: Detected lcore 21 as core 6 on socket 1
EAL: Detected lcore 22 as core 7 on socket 0
EAL: Detected lcore 23 as core 7 on socket 1
EAL: Support maximum 128 logical core(s) by configuration.
EAL: Detected 24 lcore(s)
EAL: Debug logs available - lower performance
EAL: Setting up physically contiguous memory...
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7f4203a00000 (size = 0x200000)
EAL: Ask a virtual area of 0x1f7000000 bytes
EAL: Virtual area found at 0x7f400c800000 (size = 0x1f7000000)
EAL: Ask a virtual area of 0x800000 bytes
EAL: Virtual area found at 0x7f400be00000 (size = 0x800000)
EAL: Ask a virtual area of 0x2400000 bytes
EAL: Virtual area found at 0x7f4009800000 (size = 0x2400000)
EAL: Ask a virtual area of 0x4800000 bytes
EAL: Virtual area found at 0x7f4004e00000 (size = 0x4800000)
EAL: Ask a virtual area of 0x1800000 bytes
EAL: Virtual area found at 0x7f4003400000 (size = 0x1800000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7f4003000000 (size = 0x200000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7f4002c00000 (size = 0x200000)
EAL: Ask a virtual area of 0x1ffc00000 bytes
EAL: Virtual area found at 0x7f3e02e00000 (size = 0x1ffc00000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7f3e02a00000 (size = 0x200000)
EAL: Requesting 4096 pages of size 2MB from socket 0
EAL: Requesting 4096 pages of size 2MB from socket 1
EAL: TSC frequency is ~3400010 KHz
EAL: Master lcore 0 is ready (tid=5e938c0;cpuset=[0])
EAL: lcore 4 is ready (tid=1ffe700;cpuset=[4])
EAL: lcore 8 is ready (tid=ff7fa700;cpuset=[8])
EAL: lcore 2 is ready (tid=4a5d700;cpuset=[2])
EAL: lcore 3 is ready (tid=29ff700;cpuset=[3])
EAL: lcore 9 is ready (tid=fedf9700;cpuset=[9])
EAL: lcore 10 is ready (tid=fe3f8700;cpuset=[10])
EAL: lcore 15 is ready (tid=fb1f3700;cpuset=[15])
EAL: lcore 16 is ready (tid=fa7f2700;cpuset=[16])
EAL: lcore 14 is ready (tid=fbbf4700;cpuset=[14])
EAL: lcore 18 is ready (tid=f93f0700;cpuset=[18])
EAL: lcore 12 is ready (tid=fcff6700;cpuset=[12])
EAL: lcore 1 is ready (tid=545e700;cpuset=[1])
EAL: lcore 20 is ready (tid=f7fee700;cpuset=[20])
EAL: lcore 19 is ready (tid=f89ef700;cpuset=[19])
EAL: lcore 5 is ready (tid=15fd700;cpuset=[5])
EAL: lcore 11 is ready (tid=fd9f7700;cpuset=[11])
EAL: lcore 17 is ready (tid=f9df1700;cpuset=[17])
EAL: lcore 6 is ready (tid=bfc700;cpuset=[6])
EAL: lcore 21 is ready (tid=f75ed700;cpuset=[21])
EAL: lcore 13 is ready (tid=fc5f5700;cpuset=[13])
EAL: lcore 23 is ready (tid=f61eb700;cpuset=[23])
EAL: lcore 22 is ready (tid=f6bec700;cpuset=[22])
EAL: lcore 7 is ready (tid=1fb700;cpuset=[7])
EAL: PCI device 0000:04:00.0 on NUMA socket 0
EAL: probe driver: 8086:1583 net_i40e
EAL: PCI memory mapped at 0x7f3df4feb000
EAL: PCI memory mapped at 0x7f4204055000
PMD: eth_i40e_dev_init(): >>
PMD: i40e_enable_extended_tag(): Extended Tag has already been enabled
PMD: i40e_set_symmetric_hash_enable_per_port(): Symmetric hash has already been disabled
PMD: i40e_pf_reset(): Core and Global modules ready 0
PMD: i40e_init_shared_code(): i40e_init_shared_code
PMD: i40e_set_mac_type(): i40e_set_mac_type
PMD: i40e_set_mac_type(): i40e_set_mac_type found mac: 1, returns: 0
PMD: i40e_init_nvm(): i40e_init_nvm
PMD: i40e_check_write_reg(): [0x002507c0] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002507c0] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002507e0] original: 0x0001801e
PMD: i40e_check_write_reg(): [0x002507e0] after: 0x0001801e
PMD: i40e_check_write_reg(): [0x002676f8] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002676f8] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002676fc] original: 0x0001801e
PMD: i40e_check_write_reg(): [0x002676fc] after: 0x0001801e
PMD: i40e_check_write_reg(): [0x002672f8] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002672f8] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267af8] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267af8] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002672fc] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002672fc] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267afc] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267afc] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250840] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00250840] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250860] original: 0x0001801e
PMD: i40e_check_write_reg(): [0x00250860] after: 0x0001801e
PMD: i40e_check_write_reg(): [0x00267708] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267708] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026770c] original: 0x0001801e
PMD: i40e_check_write_reg(): [0x0026770c] after: 0x0001801e
PMD: i40e_check_write_reg(): [0x00267308] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267308] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b08] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b08] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026730c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x0026730c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b0c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b0c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250880] original: 0x80000000
PMD: i40e_check_write_reg(): [0x00250880] after: 0x80000000
PMD: i40e_check_write_reg(): [0x002508a0] original: 0x0001801f
PMD: i40e_check_write_reg(): [0x002508a0] after: 0x0001801f
PMD: i40e_check_write_reg(): [0x00267710] original: 0x80000000
PMD: i40e_check_write_reg(): [0x00267710] after: 0x80000000
PMD: i40e_check_write_reg(): [0x00267714] original: 0x0001801f
PMD: i40e_check_write_reg(): [0x00267714] after: 0x0001801f
PMD: i40e_check_write_reg(): [0x00267310] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267310] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b10] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b10] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267314] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267314] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b14] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b14] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002508c0] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002508c0] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002508e0] original: 0x00018018
PMD: i40e_check_write_reg(): [0x002508e0] after: 0x00018018
PMD: i40e_check_write_reg(): [0x00267718] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267718] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026771c] original: 0x00018018
PMD: i40e_check_write_reg(): [0x0026771c] after: 0x00018018
PMD: i40e_check_write_reg(): [0x00267318] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267318] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b18] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b18] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026731c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x0026731c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b1c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b1c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250900] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00250900] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250920] original: 0x00018018
PMD: i40e_check_write_reg(): [0x00250920] after: 0x00018018
PMD: i40e_check_write_reg(): [0x00267720] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267720] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267724] original: 0x00018018
PMD: i40e_check_write_reg(): [0x00267724] after: 0x00018018
PMD: i40e_check_write_reg(): [0x00267320] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267320] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b20] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b20] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267324] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267324] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b24] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b24] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250a40] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00250a40] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250a60] original: 0x0007fffe
PMD: i40e_check_write_reg(): [0x00250a60] after: 0x0007fffe
PMD: i40e_check_write_reg(): [0x00267748] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267748] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026774c] original: 0x0007fffe
PMD: i40e_check_write_reg(): [0x0026774c] after: 0x0007fffe
PMD: i40e_check_write_reg(): [0x00267348] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267348] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b48] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b48] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026734c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x0026734c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b4c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b4c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250ac0] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00250ac0] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250ae0] original: 0x0007fffe
PMD: i40e_check_write_reg(): [0x00250ae0] after: 0x0007fffe
PMD: i40e_check_write_reg(): [0x00267758] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267758] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026775c] original: 0x0007fffe
PMD: i40e_check_write_reg(): [0x0026775c] after: 0x0007fffe
PMD: i40e_check_write_reg(): [0x00267358] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267358] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b58] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b58] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026735c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x0026735c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b5c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b5c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250b00] original: 0x80000000
PMD: i40e_check_write_reg(): [0x00250b00] after: 0x80000000
PMD: i40e_check_write_reg(): [0x00250b20] original: 0x0007ffff
PMD: i40e_check_write_reg(): [0x00250b20] after: 0x0007ffff
PMD: i40e_check_write_reg(): [0x00267760] original: 0x80000000
PMD: i40e_check_write_reg(): [0x00267760] after: 0x80000000
PMD: i40e_check_write_reg(): [0x00267764] original: 0x0007ffff
PMD: i40e_check_write_reg(): [0x00267764] after: 0x0007ffff
PMD: i40e_check_write_reg(): [0x00267360] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267360] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b60] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b60] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267364] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267364] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b64] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b64] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250b40] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00250b40] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250b60] original: 0x0007fff8
PMD: i40e_check_write_reg(): [0x00250b60] after: 0x0007fff8
PMD: i40e_check_write_reg(): [0x00267768] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267768] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026776c] original: 0x0007fff8
PMD: i40e_check_write_reg(): [0x0026776c] after: 0x0007fff8
PMD: i40e_check_write_reg(): [0x00267368] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267368] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b68] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b68] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026736c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x0026736c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b6c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b6c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250b80] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00250b80] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250ba0] original: 0x0007fff8
PMD: i40e_check_write_reg(): [0x00250ba0] after: 0x0007fff8
PMD: i40e_check_write_reg(): [0x00267770] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267770] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267774] original: 0x0007fff8
PMD: i40e_check_write_reg(): [0x00267774] after: 0x0007fff8
PMD: i40e_check_write_reg(): [0x00267370] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267370] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b70] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b70] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267374] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267374] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b74] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b74] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250fc0] original: 0x00004000
PMD: i40e_check_write_reg(): [0x00250fc0] after: 0x00004000
PMD: i40e_check_write_reg(): [0x00250fe0] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00250fe0] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002677f8] original: 0x00004000
PMD: i40e_check_write_reg(): [0x002677f8] after: 0x00004000
PMD: i40e_check_write_reg(): [0x002677fc] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002677fc] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002673f8] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002673f8] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267bf8] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267bf8] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002673fc] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002673fc] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267bfc] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267bfc] after: 0x00000000
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_9006244102256549392 allocated with physical address: 36066607104
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_9094591617955485484 allocated with physical address: 36066598912
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4921817593146928058 allocated with physical address: 36066590720
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1649522919998970242 allocated with physical address: 36066582528
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_5592431459765142899 allocated with physical address: 36066574336
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3616263856304680647 allocated with physical address: 36066566144
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6135573337873051539 allocated with physical address: 36066557952
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_2979425320734363433 allocated with physical address: 36066549760
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_7004567199046153392 allocated with physical address: 36066541568
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_2400349342071320464 allocated with physical address: 36066533376
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1198569822703064929 allocated with physical address: 36066525184
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_2381874768605265457 allocated with physical address: 36066516992
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_946809976207957533 allocated with physical address: 36066508800
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8890428114805413440 allocated with physical address: 36066500608
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3659808187846474561 allocated with physical address: 36066492416
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6643860085814082754 allocated with physical address: 36066484224
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1077965980644684592 allocated with physical address: 36066476032
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_757788774034593920 allocated with physical address: 36066467840
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8871964809840853652 allocated with physical address: 36066459648
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1319458200989398807 allocated with physical address: 36066451456
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1260444229190182595 allocated with physical address: 36066443264
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4944475028266209581 allocated with physical address: 36066435072
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1981506286114228798 allocated with physical address: 36066426880
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6995706941756923838 allocated with physical address: 36066418688
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6845860763940517715 allocated with physical address: 36066410496
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6316736255568508052 allocated with physical address: 36066402304
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6596345420547494626 allocated with physical address: 36066394112
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_563052720231491541 allocated with physical address: 36066385920
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_5438500282421395772 allocated with physical address: 36066377728
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1489311620446309558 allocated with physical address: 36066369536
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1034342050721494823 allocated with physical address: 36066361344
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_895587109620334414 allocated with physical address: 36066353152
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_7244783987789076734 allocated with physical address: 36066344960
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8121331692218482053 allocated with physical address: 36066340864
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_357653678358899189 allocated with physical address: 36066332672
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8279673960611224875 allocated with physical address: 36066324480
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3128505479544499579 allocated with physical address: 36066316288
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8860600185294246181 allocated with physical address: 36066308096
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_2923794349289372856 allocated with physical address: 36066299904
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3555496033731071937 allocated with physical address: 36066291712
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_546014499550556726 allocated with physical address: 36066283520
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_2488579372291755051 allocated with physical address: 36066275328
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6650067233218882971 allocated with physical address: 36066267136
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_2356739082095908089 allocated with physical address: 36066258944
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4594387210783084948 allocated with physical address: 36066250752
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8514595240639990241 allocated with physical address: 36066242560
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3355784826824932814 allocated with physical address: 36066234368
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6035703664050813578 allocated with physical address: 36066226176
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1826820887759906590 allocated with physical address: 36066217984
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3162038796587606143 allocated with physical address: 36066209792
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4571605943746334657 allocated with physical address: 36066201600
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8896333848084252224 allocated with physical address: 36066193408
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4966872707505717693 allocated with physical address: 36066185216
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3893530533784472947 allocated with physical address: 36066177024
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1217637539560590694 allocated with physical address: 36066168832
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_5878423844769130040 allocated with physical address: 36066160640
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8739981701704134140 allocated with physical address: 36066152448
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8562536557899098522 allocated with physical address: 36066144256
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4304574794556610162 allocated with physical address: 36066136064
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_7499349118597146913 allocated with physical address: 36066127872
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_936617606270126154 allocated with physical address: 36066119680
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4843208302417061252 allocated with physical address: 36066111488
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4297764810681972379 allocated with physical address: 36066103296
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3836696837872975483 allocated with physical address: 36066095104
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_72325700428175156 allocated with physical address: 36066086912
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6444087963138592179 allocated with physical address: 36066078720
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_357653678358899189 to be freed with physical address: 36066332672
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8279673960611224875 to be freed with physical address: 36066324480
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3128505479544499579 to be freed with physical address: 36066316288
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8860600185294246181 to be freed with physical address: 36066308096
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_2923794349289372856 to be freed with physical address: 36066299904
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3555496033731071937 to be freed with physical address: 36066291712
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_546014499550556726 to be freed with physical address: 36066283520
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_2488579372291755051 to be freed with physical address: 36066275328
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6650067233218882971 to be freed with physical address: 36066267136
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_2356739082095908089 to be freed with physical address: 36066258944
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4594387210783084948 to be freed with physical address: 36066250752
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8514595240639990241 to be freed with physical address: 36066242560
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3355784826824932814 to be freed with physical address: 36066234368
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6035703664050813578 to be freed with physical address: 36066226176
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1826820887759906590 to be freed with physical address: 36066217984
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3162038796587606143 to be freed with physical address: 36066209792
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4571605943746334657 to be freed with physical address: 36066201600
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8896333848084252224 to be freed with physical address: 36066193408
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4966872707505717693 to be freed with physical address: 36066185216
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3893530533784472947 to be freed with physical address: 36066177024
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1217637539560590694 to be freed with physical address: 36066168832
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_5878423844769130040 to be freed with physical address: 36066160640
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8739981701704134140 to be freed with physical address: 36066152448
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8562536557899098522 to be freed with physical address: 36066144256
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4304574794556610162 to be freed with physical address: 36066136064
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_7499349118597146913 to be freed with physical address: 36066127872
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_936617606270126154 to be freed with physical address: 36066119680
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4843208302417061252 to be freed with physical address: 36066111488
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4297764810681972379 to be freed with physical address: 36066103296
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3836696837872975483 to be freed with physical address: 36066095104
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_72325700428175156 to be freed with physical address: 36066086912
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6444087963138592179 to be freed with physical address: 36066078720
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8121331692218482053 to be freed with physical address: 36066340864
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_9094591617955485484 to be freed with physical address: 36066598912
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4921817593146928058 to be freed with physical address: 36066590720
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1649522919998970242 to be freed with physical address: 36066582528
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_5592431459765142899 to be freed with physical address: 36066574336
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3616263856304680647 to be freed with physical address: 36066566144
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6135573337873051539 to be freed with physical address: 36066557952
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_2979425320734363433 to be freed with physical address: 36066549760
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_7004567199046153392 to be freed with physical address: 36066541568
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_2400349342071320464 to be freed with physical address: 36066533376
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1198569822703064929 to be freed with physical address: 36066525184
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_2381874768605265457 to be freed with physical address: 36066516992
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_946809976207957533 to be freed with physical address: 36066508800
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8890428114805413440 to be freed with physical address: 36066500608
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3659808187846474561 to be freed with physical address: 36066492416
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6643860085814082754 to be freed with physical address: 36066484224
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1077965980644684592 to be freed with physical address: 36066476032
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_757788774034593920 to be freed with physical address: 36066467840
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8871964809840853652 to be freed with physical address: 36066459648
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1319458200989398807 to be freed with physical address: 36066451456
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1260444229190182595 to be freed with physical address: 36066443264
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4944475028266209581 to be freed with physical address: 36066435072
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1981506286114228798 to be freed with physical address: 36066426880
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6995706941756923838 to be freed with physical address: 36066418688
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6845860763940517715 to be freed with physical address: 36066410496
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6316736255568508052 to be freed with physical address: 36066402304
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6596345420547494626 to be freed with physical address: 36066394112
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_563052720231491541 to be freed with physical address: 36066385920
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_5438500282421395772 to be freed with physical address: 36066377728
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1489311620446309558 to be freed with physical address: 36066369536
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1034342050721494823 to be freed with physical address: 36066361344
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_895587109620334414 to be freed with physical address: 36066353152
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_7244783987789076734 to be freed with physical address: 36066344960
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_9006244102256549392 to be freed with physical address: 36066607104
PMD: eth_i40e_dev_init(): Failed to init adminq: -54
EAL: Error - exiting with code: 1
Cause: Requested device 0000:04:00.0 cannot be used
On Monday, 12 December 2016 10:32:24 IST Ferruh Yigit wrote:
> On 12/10/2016 11:24 AM, Jingjing Wu wrote:
> > i40e base code upate. The main changes are:
> > - add clause22 and clause45 implementation for PHY registers accessing
> > - replace existing legacy memcpy() calls with i40e_memcpy() calls.
> > - use BIT() macro instead of bit fields
> > - add clear all WoL filters implementation
> > - add ERROR state for NVM update state machine
> > - add broadcast promiscuous control per VLAN
> > - remove unused X722_SUPPORT and I40E_NDIS_SUPPORT MARCOs
> >
> > v3:
> > * update commit log of few patches as issue fix
> >
> > v2:
> > * comments rework
> > * complie issue fix
> > * rebase to dpdk-next-net
> >
> > Jingjing Wu (31):
> > net/i40e/base: add encap csum VF offload flag
> > net/i40e/base: fix flow control set for 25G
> > net/i40e/base: remove unnecessary code
> > net/i40e/base: fix bit test mask
> > net/i40e/base: group base mode VF offload flags
> > net/i40e/base: fix long link down notification time
> > net/i40e/base: add media type detection for 25G link
> > net/i40e/base: add clause22 and clause45 implementation
> > net/i40e/base: add bus number info
> > net/i40e/base: add protocols when discover capabilities
> > net/i40e/base: fix unknown PHYs incorrect identification
> > net/i40e/base: replace memcpy
> > net/i40e/base: deprecating unused macro
> > net/i40e/base: remove FPK HyperV VF device ID
> > net/i40e/base: add FEC bits to PHY capabilities
> > net/i40e/base: use BIT() macro instead of bit fields
> > net/i40e/base: adjust 25G PHY type values
> > net/i40e/base: implement clear all WoL filters
> > net/i40e/base: implement set VSI full promisc mode
> > net/i40e/base: fix wol failure on PF reset
> > net/i40e/base: save link FEC info from link up event
> > net/i40e/base: fix NVM access intefering
> > net/i40e/base: change shift values to hex
> > net/i40e/base: comment that udp port must be in Host order
> > net/i40e/base: remove duplicate definitions
> > net/i40e/base: add ERROR state for NVM update state machine
> > net/i40e/base: add broadcast promiscuous control per VLAN
> > net/i40e/base: fix division by zero
> > net/i40e/base: fix byte order
> > net/i40e/base: remove unused macro
> > net/i40e: remove unused macro from PMD
> >
> <...>
>
> Series applied to dpdk-next-net/master, thanks.
>
>
^ permalink raw reply
* Re: [PATCH v3 07/25] app/testpmd: add flow command
From: Ferruh Yigit @ 2016-12-20 16:13 UTC (permalink / raw)
To: Adrien Mazarguil, dev
In-Reply-To: <a0b3dd1abb3a4c45786cae7f874084c1a13e34d1.1482168851.git.adrien.mazarguil@6wind.com>
Hi Adrien,
On 12/19/2016 5:48 PM, Adrien Mazarguil wrote:
> Managing generic flow API functions from command line requires the use of
> dynamic tokens for convenience as flow rules are not fixed and cannot be
> defined statically.
>
> This commit adds specific flexible parser code and object for a new "flow"
> command in separate file.
>
> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
> Acked-by: Olga Shern <olgas@mellanox.com>
<...>
> +/** Initialize context. */
> +static void
> +cmd_flow_context_init(struct context *ctx)
> +{
> + /* A full memset() is not necessary. */
> + ctx->curr = 0;
> + ctx->prev = 0;
It seems you have cleaned up all compiler warnings, including bunch of
ICC e188 ones, instead of ignoring them. Thank you for your effort.
These ones are only remaining ones as far as I can see:
ctx->curr = ZERO;
ctx->prev = ZERO;
Thanks,
ferruh
<...>
^ permalink raw reply
* Re: [PATCH v3 7/9] ethdev: Move filling of rte_eth_dev_info->pci_dev to dev_infos_get()
From: Stephen Hemminger @ 2016-12-20 15:41 UTC (permalink / raw)
To: Jan Blunck; +Cc: dev, shreyansh.jain, david.marchand
In-Reply-To: <1482232315-21626-8-git-send-email-jblunck@infradead.org>
On Tue, 20 Dec 2016 12:11:53 +0100
Jan Blunck <jblunck@infradead.org> wrote:
> Only the device itself can decide its PCI or not.
>
> Signed-off-by: Jan Blunck <jblunck@infradead.org>
> ---
> drivers/net/bnx2x/bnx2x_ethdev.c | 1 +
> drivers/net/bnxt/bnxt_ethdev.c | 2 ++
> drivers/net/cxgbe/cxgbe_ethdev.c | 2 ++
> drivers/net/e1000/em_ethdev.c | 1 +
> drivers/net/e1000/igb_ethdev.c | 2 ++
> drivers/net/ena/ena_ethdev.c | 2 ++
> drivers/net/enic/enic_ethdev.c | 1 +
> drivers/net/fm10k/fm10k_ethdev.c | 1 +
> drivers/net/i40e/i40e_ethdev.c | 1 +
> drivers/net/i40e/i40e_ethdev_vf.c | 1 +
> drivers/net/ixgbe/ixgbe_ethdev.c | 2 ++
> drivers/net/mlx4/mlx4.c | 2 ++
> drivers/net/mlx5/mlx5_ethdev.c | 2 ++
> drivers/net/nfp/nfp_net.c | 1 +
> drivers/net/qede/qede_ethdev.c | 1 +
> drivers/net/szedata2/rte_eth_szedata2.c | 1 +
> drivers/net/thunderx/nicvf_ethdev.c | 2 ++
> drivers/net/virtio/virtio_ethdev.c | 1 +
> drivers/net/vmxnet3/vmxnet3_ethdev.c | 2 ++
> lib/librte_ether/rte_ethdev.c | 1 -
> 20 files changed, 28 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
> index c331ccd..551dbad 100644
> --- a/drivers/net/bnx2x/bnx2x_ethdev.c
> +++ b/drivers/net/bnx2x/bnx2x_ethdev.c
> @@ -431,6 +431,7 @@ static void
> bnx2x_dev_infos_get(struct rte_eth_dev *dev, __rte_unused struct rte_eth_dev_info *dev_info)
> {
> struct bnx2x_softc *sc = dev->data->dev_private;
> + dev_info->pci_dev = ETH_DEV_PCI_DEV(dev);
> dev_info->max_rx_queues = sc->max_rx_queues;
> dev_info->max_tx_queues = sc->max_tx_queues;
> dev_info->min_rx_bufsize = BNX2X_MIN_RX_BUF_SIZE;
> diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
> index cd50f11..bf39fbe 100644
> --- a/drivers/net/bnxt/bnxt_ethdev.c
> +++ b/drivers/net/bnxt/bnxt_ethdev.c
> @@ -303,6 +303,8 @@ static void bnxt_dev_info_get_op(struct rte_eth_dev *eth_dev,
> struct bnxt *bp = (struct bnxt *)eth_dev->data->dev_private;
> uint16_t max_vnics, i, j, vpool, vrxq;
>
> + dev_info->pci_dev = ETH_DEV_PCI_DEV(eth_dev);
> +
> /* MAC Specifics */
> dev_info->max_mac_addrs = MAX_NUM_MAC_ADDR;
> dev_info->max_hash_mac_addrs = 0;
> diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c
> index 8bfdda8..8938b08 100644
> --- a/drivers/net/cxgbe/cxgbe_ethdev.c
> +++ b/drivers/net/cxgbe/cxgbe_ethdev.c
> @@ -147,6 +147,8 @@ static void cxgbe_dev_info_get(struct rte_eth_dev *eth_dev,
> .nb_align = 1,
> };
>
> + device_info->pci_dev = ETH_DEV_PCI_DEV(eth_dev);
> +
> device_info->min_rx_bufsize = CXGBE_MIN_RX_BUFSIZE;
> device_info->max_rx_pktlen = CXGBE_MAX_RX_PKTLEN;
> device_info->max_rx_queues = max_queues;
> diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
> index 7f2f521..3d34e5b 100644
> --- a/drivers/net/e1000/em_ethdev.c
> +++ b/drivers/net/e1000/em_ethdev.c
> @@ -1048,6 +1048,7 @@ eth_em_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
> {
> struct e1000_hw *hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>
> + dev_info->pci_dev = ETH_DEV_PCI_DEV(dev);
> dev_info->min_rx_bufsize = 256; /* See BSIZE field of RCTL register. */
> dev_info->max_rx_pktlen = em_get_max_pktlen(hw);
> dev_info->max_mac_addrs = hw->mac.rar_entry_count;
> diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
> index b25c66e..7d77561 100644
> --- a/drivers/net/e1000/igb_ethdev.c
> +++ b/drivers/net/e1000/igb_ethdev.c
> @@ -1983,6 +1983,7 @@ eth_igb_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
> {
> struct e1000_hw *hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>
> + dev_info->pci_dev = ETH_DEV_PCI_DEV(dev);
> dev_info->min_rx_bufsize = 256; /* See BSIZE field of RCTL register. */
> dev_info->max_rx_pktlen = 0x3FFF; /* See RLPML register. */
> dev_info->max_mac_addrs = hw->mac.rar_entry_count;
> @@ -2111,6 +2112,7 @@ eth_igbvf_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
> {
> struct e1000_hw *hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>
> + dev_info->pci_dev = ETH_DEV_PCI_DEV(dev);
> dev_info->min_rx_bufsize = 256; /* See BSIZE field of RCTL register. */
> dev_info->max_rx_pktlen = 0x3FFF; /* See RLPML register. */
> dev_info->max_mac_addrs = hw->mac.rar_entry_count;
> diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
> index c17d969..051275e 100644
> --- a/drivers/net/ena/ena_ethdev.c
> +++ b/drivers/net/ena/ena_ethdev.c
> @@ -1436,6 +1436,8 @@ static void ena_infos_get(struct rte_eth_dev *dev,
> ena_dev = &adapter->ena_dev;
> ena_assert_msg(ena_dev != NULL, "Uninitialized device");
>
> + dev_info->pci_dev = ETH_DEV_PCI_DEV(dev);
> +
> dev_info->speed_capa =
> ETH_LINK_SPEED_1G |
> ETH_LINK_SPEED_2_5G |
> diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
> index 553a88e..bb5dfe6 100644
> --- a/drivers/net/enic/enic_ethdev.c
> +++ b/drivers/net/enic/enic_ethdev.c
> @@ -459,6 +459,7 @@ static void enicpmd_dev_info_get(struct rte_eth_dev *eth_dev,
> struct enic *enic = pmd_priv(eth_dev);
>
> ENICPMD_FUNC_TRACE();
> + device_info->pci_dev = ETH_DEV_PCI_DEV(eth_dev);
> /* Scattered Rx uses two receive queues per rx queue exposed to dpdk */
> device_info->max_rx_queues = enic->conf_rq_count / 2;
> device_info->max_tx_queues = enic->conf_wq_count;
> diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
> index e1250f6..5d0bce5 100644
> --- a/drivers/net/fm10k/fm10k_ethdev.c
> +++ b/drivers/net/fm10k/fm10k_ethdev.c
> @@ -1392,6 +1392,7 @@ fm10k_dev_infos_get(struct rte_eth_dev *dev,
>
> PMD_INIT_FUNC_TRACE();
>
> + dev_info->pci_dev = ETH_DEV_PCI_DEV(dev);
> dev_info->min_rx_bufsize = FM10K_MIN_RX_BUF_SIZE;
> dev_info->max_rx_pktlen = FM10K_MAX_PKT_SIZE;
> dev_info->max_rx_queues = hw->mac.max_queues;
> diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
> index 8a63a8c..29c0277 100644
> --- a/drivers/net/i40e/i40e_ethdev.c
> +++ b/drivers/net/i40e/i40e_ethdev.c
> @@ -2583,6 +2583,7 @@ i40e_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
> struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> struct i40e_vsi *vsi = pf->main_vsi;
>
> + dev_info->pci_dev = ETH_DEV_PCI_DEV(dev);
> dev_info->max_rx_queues = vsi->nb_qps;
> dev_info->max_tx_queues = vsi->nb_qps;
> dev_info->min_rx_bufsize = I40E_BUF_SIZE_MIN;
> diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
> index 781e658..caef72c 100644
> --- a/drivers/net/i40e/i40e_ethdev_vf.c
> +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> @@ -2217,6 +2217,7 @@ i40evf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
> struct i40e_vf *vf = I40EVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
>
> memset(dev_info, 0, sizeof(*dev_info));
> + dev_info->pci_dev = ETH_DEV_PCI_DEV(dev);
> dev_info->max_rx_queues = vf->vsi_res->num_queue_pairs;
> dev_info->max_tx_queues = vf->vsi_res->num_queue_pairs;
> dev_info->min_rx_bufsize = I40E_BUF_SIZE_MIN;
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
> index f17da46..c88b7bf 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -3043,6 +3043,7 @@ ixgbe_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
> struct rte_eth_conf *dev_conf = &dev->data->dev_conf;
> struct rte_pci_device *pci_dev = ETH_DEV_PCI_DEV(dev);
>
> + dev_info->pci_dev = ETH_DEV_PCI_DEV(dev);
> dev_info->max_rx_queues = (uint16_t)hw->mac.max_rx_queues;
> dev_info->max_tx_queues = (uint16_t)hw->mac.max_tx_queues;
> if (RTE_ETH_DEV_SRIOV(dev).active == 0) {
> @@ -3175,6 +3176,7 @@ ixgbevf_dev_info_get(struct rte_eth_dev *dev,
> struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> struct rte_pci_device *pci_dev = ETH_DEV_PCI_DEV(dev);
>
> + dev_info->pci_dev = ETH_DEV_PCI_DEV(dev);
> dev_info->max_rx_queues = (uint16_t)hw->mac.max_rx_queues;
> dev_info->max_tx_queues = (uint16_t)hw->mac.max_tx_queues;
> dev_info->min_rx_bufsize = 1024; /* cf BSIZEPACKET in SRRCTL reg */
> diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
> index da61a85..5455fea 100644
> --- a/drivers/net/mlx4/mlx4.c
> +++ b/drivers/net/mlx4/mlx4.c
> @@ -4421,6 +4421,8 @@ mlx4_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)
> unsigned int max;
> char ifname[IF_NAMESIZE];
>
> + info->pci_dev = ETH_DEV_PCI_DEV(dev);
> +
> if (priv == NULL)
> return;
> priv_lock(priv);
> diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
> index c0f73e9..489a4f6 100644
> --- a/drivers/net/mlx5/mlx5_ethdev.c
> +++ b/drivers/net/mlx5/mlx5_ethdev.c
> @@ -562,6 +562,8 @@ mlx5_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)
> unsigned int max;
> char ifname[IF_NAMESIZE];
>
> + info->pci_dev = ETH_DEV_PCI_DEV(dev);
> +
> priv_lock(priv);
> /* FIXME: we should ask the device for these values. */
> info->min_rx_bufsize = 32;
> diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
> index 7299fad..c49d38a 100644
> --- a/drivers/net/nfp/nfp_net.c
> +++ b/drivers/net/nfp/nfp_net.c
> @@ -1008,6 +1008,7 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>
> hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>
> + dev_info->pci_dev = ETH_DEV_PCI_DEV(dev);
> dev_info->driver_name = dev->driver->pci_drv.driver.name;
> dev_info->max_rx_queues = (uint16_t)hw->max_rx_queues;
> dev_info->max_tx_queues = (uint16_t)hw->max_tx_queues;
> diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
> index 959ff0f..2c4de92 100644
> --- a/drivers/net/qede/qede_ethdev.c
> +++ b/drivers/net/qede/qede_ethdev.c
> @@ -652,6 +652,7 @@ qede_dev_info_get(struct rte_eth_dev *eth_dev,
>
> PMD_INIT_FUNC_TRACE(edev);
>
> + dev_info->pci_dev = ETH_DEV_PCI_DEV(eth_dev);
> dev_info->min_rx_bufsize = (uint32_t)(ETHER_MIN_MTU +
> QEDE_ETH_OVERHEAD);
> dev_info->max_rx_pktlen = (uint32_t)ETH_TX_MAX_NON_LSO_PKT_LEN;
> diff --git a/drivers/net/szedata2/rte_eth_szedata2.c b/drivers/net/szedata2/rte_eth_szedata2.c
> index 6d80a5b..6356257 100644
> --- a/drivers/net/szedata2/rte_eth_szedata2.c
> +++ b/drivers/net/szedata2/rte_eth_szedata2.c
> @@ -1030,6 +1030,7 @@ eth_dev_info(struct rte_eth_dev *dev,
> struct rte_eth_dev_info *dev_info)
> {
> struct pmd_internals *internals = dev->data->dev_private;
> + dev_info->pci_dev = ETH_DEV_PCI_DEV(dev);
> dev_info->if_index = 0;
> dev_info->max_mac_addrs = 1;
> dev_info->max_rx_pktlen = (uint32_t)-1;
> diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
> index 099b252..daac853 100644
> --- a/drivers/net/thunderx/nicvf_ethdev.c
> +++ b/drivers/net/thunderx/nicvf_ethdev.c
> @@ -1339,6 +1339,8 @@ nicvf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>
> PMD_INIT_FUNC_TRACE();
>
> + dev_info->pci_dev = pci_dev;
> +
> dev_info->min_rx_bufsize = ETHER_MIN_MTU;
> dev_info->max_rx_pktlen = NIC_HW_MAX_FRS;
> dev_info->max_rx_queues =
> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
> index 023101d..2eb6a06 100644
> --- a/drivers/net/virtio/virtio_ethdev.c
> +++ b/drivers/net/virtio/virtio_ethdev.c
> @@ -1625,6 +1625,7 @@ virtio_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
> uint64_t tso_mask;
> struct virtio_hw *hw = dev->data->dev_private;
>
> + dev_info->pci_dev = hw->dev;
> dev_info->max_rx_queues =
> RTE_MIN(hw->max_queue_pairs, VIRTIO_MAX_RX_QUEUES);
> dev_info->max_tx_queues =
> diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> index bcb3751..f7c0382 100644
> --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
> +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> @@ -709,6 +709,8 @@ static void
> vmxnet3_dev_info_get(__rte_unused struct rte_eth_dev *dev,
> struct rte_eth_dev_info *dev_info)
> {
> + dev_info->pci_dev = ETH_DEV_PCI_DEV(dev);
> +
> dev_info->max_rx_queues = VMXNET3_MAX_RX_QUEUES;
> dev_info->max_tx_queues = VMXNET3_MAX_TX_QUEUES;
> dev_info->min_rx_bufsize = 1518 + RTE_PKTMBUF_HEADROOM;
> diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
> index fde8112..4288577 100644
> --- a/lib/librte_ether/rte_ethdev.c
> +++ b/lib/librte_ether/rte_ethdev.c
> @@ -1556,7 +1556,6 @@ rte_eth_dev_info_get(uint8_t port_id, struct rte_eth_dev_info *dev_info)
>
> RTE_FUNC_PTR_OR_RET(*dev->dev_ops->dev_infos_get);
> (*dev->dev_ops->dev_infos_get)(dev, dev_info);
> - dev_info->pci_dev = dev->pci_dev;
> dev_info->driver_name = dev->data->drv_name;
> dev_info->nb_rx_queues = dev->data->nb_rx_queues;
> dev_info->nb_tx_queues = dev->data->nb_tx_queues;
If dev_info_get sets a pointer to device (rather than pci_dev) then it can
stay in generic code.
^ permalink raw reply
* Re: [PATCH v3 00/31] net/i40e: base code update
From: Gregory Etelson @ 2016-12-20 15:40 UTC (permalink / raw)
To: dev; +Cc: Ferruh Yigit, Jingjing Wu, helin.zhang
In-Reply-To: <1a2f298c-8eaa-ecb2-9ec8-a6e4f3340bad@intel.com>
Hello,
I have several XL710-Q2 interfaces that fail with
`PMD: eth_i40e_dev_init(): Failed to init adminq: -54'
Rebase to the latest dpdk-next-net/master did not fix the fault
Firmware version is 5.04 0x80002505 0.0.0
lspci output looks the same for working and failed interfaces
Full traces with all I40*DEBUG options enabled follow.
Is there a way to extract more info to investigate this fault ?
Regards,
Gregory
EAL: Detected lcore 0 as core 0 on socket 0
EAL: Detected lcore 1 as core 0 on socket 1
EAL: Detected lcore 2 as core 1 on socket 0
EAL: Detected lcore 3 as core 1 on socket 1
EAL: Detected lcore 4 as core 2 on socket 0
EAL: Detected lcore 5 as core 2 on socket 1
EAL: Detected lcore 6 as core 3 on socket 0
EAL: Detected lcore 7 as core 3 on socket 1
EAL: Detected lcore 8 as core 6 on socket 0
EAL: Detected lcore 9 as core 6 on socket 1
EAL: Detected lcore 10 as core 7 on socket 0
EAL: Detected lcore 11 as core 7 on socket 1
EAL: Detected lcore 12 as core 0 on socket 0
EAL: Detected lcore 13 as core 0 on socket 1
EAL: Detected lcore 14 as core 1 on socket 0
EAL: Detected lcore 15 as core 1 on socket 1
EAL: Detected lcore 16 as core 2 on socket 0
EAL: Detected lcore 17 as core 2 on socket 1
EAL: Detected lcore 18 as core 3 on socket 0
EAL: Detected lcore 19 as core 3 on socket 1
EAL: Detected lcore 20 as core 6 on socket 0
EAL: Detected lcore 21 as core 6 on socket 1
EAL: Detected lcore 22 as core 7 on socket 0
EAL: Detected lcore 23 as core 7 on socket 1
EAL: Support maximum 128 logical core(s) by configuration.
EAL: Detected 24 lcore(s)
EAL: Debug logs available - lower performance
EAL: Setting up physically contiguous memory...
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7f4203a00000 (size = 0x200000)
EAL: Ask a virtual area of 0x1f7000000 bytes
EAL: Virtual area found at 0x7f400c800000 (size = 0x1f7000000)
EAL: Ask a virtual area of 0x800000 bytes
EAL: Virtual area found at 0x7f400be00000 (size = 0x800000)
EAL: Ask a virtual area of 0x2400000 bytes
EAL: Virtual area found at 0x7f4009800000 (size = 0x2400000)
EAL: Ask a virtual area of 0x4800000 bytes
EAL: Virtual area found at 0x7f4004e00000 (size = 0x4800000)
EAL: Ask a virtual area of 0x1800000 bytes
EAL: Virtual area found at 0x7f4003400000 (size = 0x1800000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7f4003000000 (size = 0x200000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7f4002c00000 (size = 0x200000)
EAL: Ask a virtual area of 0x1ffc00000 bytes
EAL: Virtual area found at 0x7f3e02e00000 (size = 0x1ffc00000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7f3e02a00000 (size = 0x200000)
EAL: Requesting 4096 pages of size 2MB from socket 0
EAL: Requesting 4096 pages of size 2MB from socket 1
EAL: TSC frequency is ~3400010 KHz
EAL: Master lcore 0 is ready (tid=5e938c0;cpuset=[0])
EAL: lcore 4 is ready (tid=1ffe700;cpuset=[4])
EAL: lcore 8 is ready (tid=ff7fa700;cpuset=[8])
EAL: lcore 2 is ready (tid=4a5d700;cpuset=[2])
EAL: lcore 3 is ready (tid=29ff700;cpuset=[3])
EAL: lcore 9 is ready (tid=fedf9700;cpuset=[9])
EAL: lcore 10 is ready (tid=fe3f8700;cpuset=[10])
EAL: lcore 15 is ready (tid=fb1f3700;cpuset=[15])
EAL: lcore 16 is ready (tid=fa7f2700;cpuset=[16])
EAL: lcore 14 is ready (tid=fbbf4700;cpuset=[14])
EAL: lcore 18 is ready (tid=f93f0700;cpuset=[18])
EAL: lcore 12 is ready (tid=fcff6700;cpuset=[12])
EAL: lcore 1 is ready (tid=545e700;cpuset=[1])
EAL: lcore 20 is ready (tid=f7fee700;cpuset=[20])
EAL: lcore 19 is ready (tid=f89ef700;cpuset=[19])
EAL: lcore 5 is ready (tid=15fd700;cpuset=[5])
EAL: lcore 11 is ready (tid=fd9f7700;cpuset=[11])
EAL: lcore 17 is ready (tid=f9df1700;cpuset=[17])
EAL: lcore 6 is ready (tid=bfc700;cpuset=[6])
EAL: lcore 21 is ready (tid=f75ed700;cpuset=[21])
EAL: lcore 13 is ready (tid=fc5f5700;cpuset=[13])
EAL: lcore 23 is ready (tid=f61eb700;cpuset=[23])
EAL: lcore 22 is ready (tid=f6bec700;cpuset=[22])
EAL: lcore 7 is ready (tid=1fb700;cpuset=[7])
EAL: PCI device 0000:04:00.0 on NUMA socket 0
EAL: probe driver: 8086:1583 net_i40e
EAL: PCI memory mapped at 0x7f3df4feb000
EAL: PCI memory mapped at 0x7f4204055000
PMD: eth_i40e_dev_init(): >>
PMD: i40e_enable_extended_tag(): Extended Tag has already been enabled
PMD: i40e_set_symmetric_hash_enable_per_port(): Symmetric hash has already been disabled
PMD: i40e_pf_reset(): Core and Global modules ready 0
PMD: i40e_init_shared_code(): i40e_init_shared_code
PMD: i40e_set_mac_type(): i40e_set_mac_type
PMD: i40e_set_mac_type(): i40e_set_mac_type found mac: 1, returns: 0
PMD: i40e_init_nvm(): i40e_init_nvm
PMD: i40e_check_write_reg(): [0x002507c0] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002507c0] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002507e0] original: 0x0001801e
PMD: i40e_check_write_reg(): [0x002507e0] after: 0x0001801e
PMD: i40e_check_write_reg(): [0x002676f8] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002676f8] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002676fc] original: 0x0001801e
PMD: i40e_check_write_reg(): [0x002676fc] after: 0x0001801e
PMD: i40e_check_write_reg(): [0x002672f8] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002672f8] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267af8] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267af8] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002672fc] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002672fc] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267afc] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267afc] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250840] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00250840] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250860] original: 0x0001801e
PMD: i40e_check_write_reg(): [0x00250860] after: 0x0001801e
PMD: i40e_check_write_reg(): [0x00267708] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267708] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026770c] original: 0x0001801e
PMD: i40e_check_write_reg(): [0x0026770c] after: 0x0001801e
PMD: i40e_check_write_reg(): [0x00267308] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267308] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b08] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b08] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026730c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x0026730c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b0c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b0c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250880] original: 0x80000000
PMD: i40e_check_write_reg(): [0x00250880] after: 0x80000000
PMD: i40e_check_write_reg(): [0x002508a0] original: 0x0001801f
PMD: i40e_check_write_reg(): [0x002508a0] after: 0x0001801f
PMD: i40e_check_write_reg(): [0x00267710] original: 0x80000000
PMD: i40e_check_write_reg(): [0x00267710] after: 0x80000000
PMD: i40e_check_write_reg(): [0x00267714] original: 0x0001801f
PMD: i40e_check_write_reg(): [0x00267714] after: 0x0001801f
PMD: i40e_check_write_reg(): [0x00267310] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267310] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b10] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b10] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267314] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267314] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b14] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b14] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002508c0] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002508c0] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002508e0] original: 0x00018018
PMD: i40e_check_write_reg(): [0x002508e0] after: 0x00018018
PMD: i40e_check_write_reg(): [0x00267718] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267718] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026771c] original: 0x00018018
PMD: i40e_check_write_reg(): [0x0026771c] after: 0x00018018
PMD: i40e_check_write_reg(): [0x00267318] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267318] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b18] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b18] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026731c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x0026731c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b1c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b1c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250900] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00250900] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250920] original: 0x00018018
PMD: i40e_check_write_reg(): [0x00250920] after: 0x00018018
PMD: i40e_check_write_reg(): [0x00267720] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267720] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267724] original: 0x00018018
PMD: i40e_check_write_reg(): [0x00267724] after: 0x00018018
PMD: i40e_check_write_reg(): [0x00267320] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267320] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b20] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b20] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267324] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267324] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b24] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b24] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250a40] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00250a40] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250a60] original: 0x0007fffe
PMD: i40e_check_write_reg(): [0x00250a60] after: 0x0007fffe
PMD: i40e_check_write_reg(): [0x00267748] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267748] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026774c] original: 0x0007fffe
PMD: i40e_check_write_reg(): [0x0026774c] after: 0x0007fffe
PMD: i40e_check_write_reg(): [0x00267348] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267348] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b48] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b48] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026734c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x0026734c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b4c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b4c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250ac0] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00250ac0] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250ae0] original: 0x0007fffe
PMD: i40e_check_write_reg(): [0x00250ae0] after: 0x0007fffe
PMD: i40e_check_write_reg(): [0x00267758] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267758] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026775c] original: 0x0007fffe
PMD: i40e_check_write_reg(): [0x0026775c] after: 0x0007fffe
PMD: i40e_check_write_reg(): [0x00267358] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267358] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b58] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b58] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026735c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x0026735c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b5c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b5c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250b00] original: 0x80000000
PMD: i40e_check_write_reg(): [0x00250b00] after: 0x80000000
PMD: i40e_check_write_reg(): [0x00250b20] original: 0x0007ffff
PMD: i40e_check_write_reg(): [0x00250b20] after: 0x0007ffff
PMD: i40e_check_write_reg(): [0x00267760] original: 0x80000000
PMD: i40e_check_write_reg(): [0x00267760] after: 0x80000000
PMD: i40e_check_write_reg(): [0x00267764] original: 0x0007ffff
PMD: i40e_check_write_reg(): [0x00267764] after: 0x0007ffff
PMD: i40e_check_write_reg(): [0x00267360] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267360] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b60] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b60] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267364] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267364] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b64] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b64] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250b40] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00250b40] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250b60] original: 0x0007fff8
PMD: i40e_check_write_reg(): [0x00250b60] after: 0x0007fff8
PMD: i40e_check_write_reg(): [0x00267768] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267768] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026776c] original: 0x0007fff8
PMD: i40e_check_write_reg(): [0x0026776c] after: 0x0007fff8
PMD: i40e_check_write_reg(): [0x00267368] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267368] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b68] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b68] after: 0x00000000
PMD: i40e_check_write_reg(): [0x0026736c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x0026736c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b6c] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b6c] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250b80] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00250b80] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250ba0] original: 0x0007fff8
PMD: i40e_check_write_reg(): [0x00250ba0] after: 0x0007fff8
PMD: i40e_check_write_reg(): [0x00267770] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267770] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267774] original: 0x0007fff8
PMD: i40e_check_write_reg(): [0x00267774] after: 0x0007fff8
PMD: i40e_check_write_reg(): [0x00267370] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267370] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b70] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b70] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267374] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267374] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b74] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267b74] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00250fc0] original: 0x00004000
PMD: i40e_check_write_reg(): [0x00250fc0] after: 0x00004000
PMD: i40e_check_write_reg(): [0x00250fe0] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00250fe0] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002677f8] original: 0x00004000
PMD: i40e_check_write_reg(): [0x002677f8] after: 0x00004000
PMD: i40e_check_write_reg(): [0x002677fc] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002677fc] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002673f8] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002673f8] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267bf8] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267bf8] after: 0x00000000
PMD: i40e_check_write_reg(): [0x002673fc] original: 0x00000000
PMD: i40e_check_write_reg(): [0x002673fc] after: 0x00000000
PMD: i40e_check_write_reg(): [0x00267bfc] original: 0x00000000
PMD: i40e_check_write_reg(): [0x00267bfc] after: 0x00000000
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_9006244102256549392 allocated with physical address: 36066607104
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_9094591617955485484 allocated with physical address: 36066598912
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4921817593146928058 allocated with physical address: 36066590720
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1649522919998970242 allocated with physical address: 36066582528
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_5592431459765142899 allocated with physical address: 36066574336
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3616263856304680647 allocated with physical address: 36066566144
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6135573337873051539 allocated with physical address: 36066557952
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_2979425320734363433 allocated with physical address: 36066549760
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_7004567199046153392 allocated with physical address: 36066541568
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_2400349342071320464 allocated with physical address: 36066533376
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1198569822703064929 allocated with physical address: 36066525184
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_2381874768605265457 allocated with physical address: 36066516992
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_946809976207957533 allocated with physical address: 36066508800
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8890428114805413440 allocated with physical address: 36066500608
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3659808187846474561 allocated with physical address: 36066492416
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6643860085814082754 allocated with physical address: 36066484224
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1077965980644684592 allocated with physical address: 36066476032
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_757788774034593920 allocated with physical address: 36066467840
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8871964809840853652 allocated with physical address: 36066459648
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1319458200989398807 allocated with physical address: 36066451456
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1260444229190182595 allocated with physical address: 36066443264
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4944475028266209581 allocated with physical address: 36066435072
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1981506286114228798 allocated with physical address: 36066426880
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6995706941756923838 allocated with physical address: 36066418688
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6845860763940517715 allocated with physical address: 36066410496
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6316736255568508052 allocated with physical address: 36066402304
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6596345420547494626 allocated with physical address: 36066394112
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_563052720231491541 allocated with physical address: 36066385920
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_5438500282421395772 allocated with physical address: 36066377728
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1489311620446309558 allocated with physical address: 36066369536
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1034342050721494823 allocated with physical address: 36066361344
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_895587109620334414 allocated with physical address: 36066353152
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_7244783987789076734 allocated with physical address: 36066344960
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8121331692218482053 allocated with physical address: 36066340864
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_357653678358899189 allocated with physical address: 36066332672
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8279673960611224875 allocated with physical address: 36066324480
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3128505479544499579 allocated with physical address: 36066316288
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8860600185294246181 allocated with physical address: 36066308096
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_2923794349289372856 allocated with physical address: 36066299904
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3555496033731071937 allocated with physical address: 36066291712
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_546014499550556726 allocated with physical address: 36066283520
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_2488579372291755051 allocated with physical address: 36066275328
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6650067233218882971 allocated with physical address: 36066267136
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_2356739082095908089 allocated with physical address: 36066258944
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4594387210783084948 allocated with physical address: 36066250752
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8514595240639990241 allocated with physical address: 36066242560
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3355784826824932814 allocated with physical address: 36066234368
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6035703664050813578 allocated with physical address: 36066226176
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1826820887759906590 allocated with physical address: 36066217984
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3162038796587606143 allocated with physical address: 36066209792
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4571605943746334657 allocated with physical address: 36066201600
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8896333848084252224 allocated with physical address: 36066193408
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4966872707505717693 allocated with physical address: 36066185216
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3893530533784472947 allocated with physical address: 36066177024
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_1217637539560590694 allocated with physical address: 36066168832
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_5878423844769130040 allocated with physical address: 36066160640
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8739981701704134140 allocated with physical address: 36066152448
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_8562536557899098522 allocated with physical address: 36066144256
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4304574794556610162 allocated with physical address: 36066136064
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_7499349118597146913 allocated with physical address: 36066127872
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_936617606270126154 allocated with physical address: 36066119680
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4843208302417061252 allocated with physical address: 36066111488
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_4297764810681972379 allocated with physical address: 36066103296
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_3836696837872975483 allocated with physical address: 36066095104
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_72325700428175156 allocated with physical address: 36066086912
PMD: i40e_allocate_dma_mem_d(): memzone i40e_dma_6444087963138592179 allocated with physical address: 36066078720
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_357653678358899189 to be freed with physical address: 36066332672
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8279673960611224875 to be freed with physical address: 36066324480
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3128505479544499579 to be freed with physical address: 36066316288
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8860600185294246181 to be freed with physical address: 36066308096
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_2923794349289372856 to be freed with physical address: 36066299904
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3555496033731071937 to be freed with physical address: 36066291712
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_546014499550556726 to be freed with physical address: 36066283520
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_2488579372291755051 to be freed with physical address: 36066275328
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6650067233218882971 to be freed with physical address: 36066267136
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_2356739082095908089 to be freed with physical address: 36066258944
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4594387210783084948 to be freed with physical address: 36066250752
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8514595240639990241 to be freed with physical address: 36066242560
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3355784826824932814 to be freed with physical address: 36066234368
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6035703664050813578 to be freed with physical address: 36066226176
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1826820887759906590 to be freed with physical address: 36066217984
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3162038796587606143 to be freed with physical address: 36066209792
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4571605943746334657 to be freed with physical address: 36066201600
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8896333848084252224 to be freed with physical address: 36066193408
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4966872707505717693 to be freed with physical address: 36066185216
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3893530533784472947 to be freed with physical address: 36066177024
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1217637539560590694 to be freed with physical address: 36066168832
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_5878423844769130040 to be freed with physical address: 36066160640
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8739981701704134140 to be freed with physical address: 36066152448
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8562536557899098522 to be freed with physical address: 36066144256
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4304574794556610162 to be freed with physical address: 36066136064
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_7499349118597146913 to be freed with physical address: 36066127872
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_936617606270126154 to be freed with physical address: 36066119680
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4843208302417061252 to be freed with physical address: 36066111488
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4297764810681972379 to be freed with physical address: 36066103296
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3836696837872975483 to be freed with physical address: 36066095104
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_72325700428175156 to be freed with physical address: 36066086912
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6444087963138592179 to be freed with physical address: 36066078720
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8121331692218482053 to be freed with physical address: 36066340864
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_9094591617955485484 to be freed with physical address: 36066598912
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4921817593146928058 to be freed with physical address: 36066590720
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1649522919998970242 to be freed with physical address: 36066582528
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_5592431459765142899 to be freed with physical address: 36066574336
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3616263856304680647 to be freed with physical address: 36066566144
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6135573337873051539 to be freed with physical address: 36066557952
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_2979425320734363433 to be freed with physical address: 36066549760
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_7004567199046153392 to be freed with physical address: 36066541568
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_2400349342071320464 to be freed with physical address: 36066533376
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1198569822703064929 to be freed with physical address: 36066525184
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_2381874768605265457 to be freed with physical address: 36066516992
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_946809976207957533 to be freed with physical address: 36066508800
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8890428114805413440 to be freed with physical address: 36066500608
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_3659808187846474561 to be freed with physical address: 36066492416
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6643860085814082754 to be freed with physical address: 36066484224
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1077965980644684592 to be freed with physical address: 36066476032
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_757788774034593920 to be freed with physical address: 36066467840
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_8871964809840853652 to be freed with physical address: 36066459648
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1319458200989398807 to be freed with physical address: 36066451456
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1260444229190182595 to be freed with physical address: 36066443264
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_4944475028266209581 to be freed with physical address: 36066435072
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1981506286114228798 to be freed with physical address: 36066426880
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6995706941756923838 to be freed with physical address: 36066418688
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6845860763940517715 to be freed with physical address: 36066410496
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6316736255568508052 to be freed with physical address: 36066402304
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_6596345420547494626 to be freed with physical address: 36066394112
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_563052720231491541 to be freed with physical address: 36066385920
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_5438500282421395772 to be freed with physical address: 36066377728
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1489311620446309558 to be freed with physical address: 36066369536
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_1034342050721494823 to be freed with physical address: 36066361344
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_895587109620334414 to be freed with physical address: 36066353152
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_7244783987789076734 to be freed with physical address: 36066344960
PMD: i40e_free_dma_mem_d(): memzone i40e_dma_9006244102256549392 to be freed with physical address: 36066607104
PMD: eth_i40e_dev_init(): Failed to init adminq: -54
EAL: Error - exiting with code: 1
Cause: Requested device 0000:04:00.0 cannot be used
On Monday, 12 December 2016 10:32:24 IST Ferruh Yigit wrote:
> On 12/10/2016 11:24 AM, Jingjing Wu wrote:
> > i40e base code upate. The main changes are:
> > - add clause22 and clause45 implementation for PHY registers accessing
> > - replace existing legacy memcpy() calls with i40e_memcpy() calls.
> > - use BIT() macro instead of bit fields
> > - add clear all WoL filters implementation
> > - add ERROR state for NVM update state machine
> > - add broadcast promiscuous control per VLAN
> > - remove unused X722_SUPPORT and I40E_NDIS_SUPPORT MARCOs
> >
> > v3:
> > * update commit log of few patches as issue fix
> >
> > v2:
> > * comments rework
> > * complie issue fix
> > * rebase to dpdk-next-net
> >
> > Jingjing Wu (31):
> > net/i40e/base: add encap csum VF offload flag
> > net/i40e/base: fix flow control set for 25G
> > net/i40e/base: remove unnecessary code
> > net/i40e/base: fix bit test mask
> > net/i40e/base: group base mode VF offload flags
> > net/i40e/base: fix long link down notification time
> > net/i40e/base: add media type detection for 25G link
> > net/i40e/base: add clause22 and clause45 implementation
> > net/i40e/base: add bus number info
> > net/i40e/base: add protocols when discover capabilities
> > net/i40e/base: fix unknown PHYs incorrect identification
> > net/i40e/base: replace memcpy
> > net/i40e/base: deprecating unused macro
> > net/i40e/base: remove FPK HyperV VF device ID
> > net/i40e/base: add FEC bits to PHY capabilities
> > net/i40e/base: use BIT() macro instead of bit fields
> > net/i40e/base: adjust 25G PHY type values
> > net/i40e/base: implement clear all WoL filters
> > net/i40e/base: implement set VSI full promisc mode
> > net/i40e/base: fix wol failure on PF reset
> > net/i40e/base: save link FEC info from link up event
> > net/i40e/base: fix NVM access intefering
> > net/i40e/base: change shift values to hex
> > net/i40e/base: comment that udp port must be in Host order
> > net/i40e/base: remove duplicate definitions
> > net/i40e/base: add ERROR state for NVM update state machine
> > net/i40e/base: add broadcast promiscuous control per VLAN
> > net/i40e/base: fix division by zero
> > net/i40e/base: fix byte order
> > net/i40e/base: remove unused macro
> > net/i40e: remove unused macro from PMD
> >
> <...>
>
> Series applied to dpdk-next-net/master, thanks.
>
>
^ permalink raw reply
* Re: [PATCH v3 2/9] ethdev: Helper to convert to struct rte_pci_device
From: Stephen Hemminger @ 2016-12-20 15:38 UTC (permalink / raw)
To: Jan Blunck; +Cc: dev, shreyansh.jain, david.marchand
In-Reply-To: <1482232315-21626-3-git-send-email-jblunck@infradead.org>
On Tue, 20 Dec 2016 12:11:48 +0100
Jan Blunck <jblunck@infradead.org> wrote:
> Signed-off-by: Jan Blunck <jblunck@infradead.org>
> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
> ---
> lib/librte_ether/rte_ethdev.h | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
> index 9678179..3adbb2b 100644
> --- a/lib/librte_ether/rte_ethdev.h
> +++ b/lib/librte_ether/rte_ethdev.h
> @@ -1644,6 +1644,12 @@ struct rte_eth_dev {
> uint8_t attached; /**< Flag indicating the port is attached */
> } __rte_cache_aligned;
>
> +/**
> + * @internal
> + * Helper for drivers that need to convert from rte_eth_dev to rte_pci_device.
> + */
> +#define ETH_DEV_PCI_DEV(ptr) ((ptr)->pci_dev)
> +
> struct rte_eth_dev_sriov {
> uint8_t active; /**< SRIOV is active with 16, 32 or 64 pools */
> uint8_t nb_q_per_pool; /**< rx queue number per pool */
An inline might be better than macro, since a function is typed
versus a macro.
^ permalink raw reply
* Re: [PATCH v5 00/29] Support VFD and DPDK PF + kernel VF on i40e
From: Ferruh Yigit @ 2016-12-20 15:31 UTC (permalink / raw)
To: Vincent JARDIN, Chen, Jing D, Thomas Monjalon
Cc: dev@dpdk.org, Wu, Jingjing, Zhang, Helin
In-Reply-To: <932774d3-e0f7-7b44-1635-9015b8be6c0e@6wind.com>
On 12/20/2016 3:18 PM, Vincent JARDIN wrote:
> Le 20/12/2016 à 05:48, Chen, Jing D a écrit :
>> That's a collaboration with another team. we'll follow-up that but not guarantee
>> it will happen.
>> May I ask if my reply make it clear? Still NAC for this patch?
>
> Yes still nack, I am not confident with this PF approach since you are
> breaking Linux PF behavior. It does not provide guarantees with PF.
> Something is missing to guarantee the compatibilities.
Hi Vincent, Mark,
What do you think separating the mentioned patch (patch 24/29) from
patchset and submit as a standalone patch, so that it can be discussed
more without blocking the patchset?
Thanks,
ferruh
>
> Thank you,
> Vincent
>
^ permalink raw reply
* Re: [PATCH 0/3] buildtools/devtools/usertools
From: Ferruh Yigit @ 2016-12-20 15:24 UTC (permalink / raw)
To: Thomas Monjalon, dev
In-Reply-To: <1481839149-26684-1-git-send-email-thomas.monjalon@6wind.com>
On 12/15/2016 9:59 PM, Thomas Monjalon wrote:
> The current tools/ and scripts/ directory names are not
> self describing.
> These patches create devtools/ and usertools/ directories.
I think classifying scripts is a good idea.
>
> Thomas Monjalon (3):
> scripts: move to buildtools
> scripts: move to devtools
> tools: move to usertools
>
<...>
Series Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
^ permalink raw reply
* Re: [PATCH v5 18/29] app/testpmd: use VFD APIs on i40e
From: Vincent JARDIN @ 2016-12-20 15:19 UTC (permalink / raw)
To: Ferruh Yigit, dev
Cc: Jingjing Wu, Helin Zhang, Wenzhuo Lu, Chen Jing D,
Bernard Iremonger
In-Reply-To: <625f5a53-e51e-7fb0-b477-c452e9217f41@intel.com>
Le 19/12/2016 à 12:03, Ferruh Yigit a écrit :
> And it is always possible to move these into ethdev layer, when multiple
> PMDs supports same feature.
> I agree this is something that needs to keep an eye on it, and be sure
> if an API is generic, move it into eth_dev layer.
you are right, you have a good point, it is better to try this approach,
and let's generalize later.
thank you for your comments,
Vincent
^ permalink raw reply
* Re: [PATCH v5 00/29] Support VFD and DPDK PF + kernel VF on i40e
From: Vincent JARDIN @ 2016-12-20 15:18 UTC (permalink / raw)
To: Chen, Jing D, Thomas Monjalon
Cc: dev@dpdk.org, Yigit, Ferruh, Wu, Jingjing, Zhang, Helin
In-Reply-To: <4341B239C0EFF9468EE453F9E9F4604D3C5B8BD7@shsmsx102.ccr.corp.intel.com>
Le 20/12/2016 à 05:48, Chen, Jing D a écrit :
> That's a collaboration with another team. we'll follow-up that but not guarantee
> it will happen.
> May I ask if my reply make it clear? Still NAC for this patch?
Yes still nack, I am not confident with this PF approach since you are
breaking Linux PF behavior. It does not provide guarantees with PF.
Something is missing to guarantee the compatibilities.
Thank you,
Vincent
^ permalink raw reply
* Re: [PATCH v1] examples/ethtool: fix segfault querying non-PCI devices
From: Thomas Monjalon @ 2016-12-20 15:11 UTC (permalink / raw)
To: Remy Horton; +Cc: dev
In-Reply-To: <1480474049-3828-1-git-send-email-remy.horton@intel.com>
2016-11-30 10:47, Remy Horton:
> Doing a device information query on a non-PCI device such as
> vhost was resulting in the dereferencing of a NULL pointer
> (the absent PCI data), causing a segmentation fault.
>
> Fixes: bda68ab9d1e7 ("examples/ethtool: add user-space ethtool sample application")
>
> Signed-off-by: Remy Horton <remy.horton@intel.com>
[...]
> --- a/doc/guides/rel_notes/release_17_02.rst
> +++ b/doc/guides/rel_notes/release_17_02.rst
> @@ -70,6 +70,9 @@ Libraries
> Examples
> ~~~~~~~~
>
> + * **examples/ethtool Fixed crash with non-PCI devices.**
> + Querying a non-PCI device was dereferencing non-existent PCI data
> + resulting in a segmentation fault.
indentation fixed here
Applied, thanks
^ permalink raw reply
* Re: [PATCH v2] doc: introduce PVP reference benchmark
From: Maxime Coquelin @ 2016-12-20 14:54 UTC (permalink / raw)
To: Thomas Monjalon
Cc: Mcnamara, John, yuanhan.liu@linux.intel.com, Yang, Zhiyong,
ktraynor@redhat.com, dev
In-Reply-To: <15125480.nLCo42mjm8@xps13>
On 12/20/2016 11:03 AM, Thomas Monjalon wrote:
>>>>> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
>>>>
>>>> There is one trailing whitespace warning but apart from that:
>>>>
>>>> Acked-by: John McNamara <john.mcnamara@intel.com>
>>>
>>> Thanks John,
>>>
>>> Do you want me to send a v3, fixing the trailing whitespace & collecting
>>> the acks?
>>
>> No need (unless the tree maintainer says otherwise).
>> It was one trailing whitespace. Just something to look out for in future.
>
> Removed when applying.
> Fixed some heading issues also:
>
> --- a/doc/guides/howto/pvp_reference_benchmark.rst
> +++ b/doc/guides/howto/pvp_reference_benchmark.rst
> @@ -160,7 +160,7 @@ Testpmd launch
> --portmask=f --disable-hw-vlan -i --rxq=1 --txq=1
> --nb-cores=4 --forward-mode=io
>
> -With this command, isolated CPUs 2 to 5 will be used as lcores for PMD threads.
> + With this command, isolated CPUs 2 to 5 will be used as lcores for PMD threads.
>
> #. In testpmd interactive mode, set the portlist to obtain the correct port
> chaining:
> @@ -176,7 +176,8 @@ VM launch
>
> The VM may be launched either by calling QEMU directly, or by using libvirt.
>
> -#. Qemu way:
> +Qemu way
> +^^^^^^^^
>
> Launch QEMU with two Virtio-net devices paired to the vhost-user sockets
> created by testpmd. Below example uses default Virtio-net options, but options
> @@ -210,7 +211,8 @@ where isolated CPUs 6 and 7 will be used as lcores for Virtio PMDs:
> export PYTHONPATH=$PYTHONPATH:<QEMU path>/scripts/qmp
> ./qmp-vcpu-pin -s /tmp/qmp.socket 1 6 7
>
> -#. Libvirt way:
> +Libvirt way
> +^^^^^^^^^^^
>
> Some initial steps are required for libvirt to be able to connect to testpmd's
> sockets.
Thanks Thomas for handling these fixes.
Maxime
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox