Marvin Liu [Thu, 24 Oct 2019 16:08:23 +0000 (00:08 +0800)]
vhost: add packed ring batch enqueue
Batch enqueue function will first check whether descriptors are cache
aligned. It will also check prerequisites in the beginning. Batch
enqueue function do not support chained mbufs, single packet enqueue
function will handle it.
Signed-off-by: Marvin Liu <yong.liu@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Marvin Liu [Thu, 24 Oct 2019 16:08:22 +0000 (00:08 +0800)]
vhost: try to unroll for each loop
Create macro for adding unroll pragma before for each loop. Batch
functions will be contained of several small loops which can be
optimized by compilers' loop unrolling pragma.
Signed-off-by: Marvin Liu <yong.liu@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Alvin Zhang [Tue, 8 Oct 2019 10:52:31 +0000 (18:52 +0800)]
net/i40e: fix exception with multi-driver
If support-multi-driver is enabled, the global registers should not
be configured. But with the current code base, if creating a flow
with rte_flow API, the global register GLQF_FD_MSK may be changed.
Yahui Cao [Thu, 24 Oct 2019 12:56:37 +0000 (20:56 +0800)]
net/ice: fix IPv6 UDP port matching
Reverse the src and dest notion, since the HW expects them to be from Tx
perspective where as the input from user is from Rx filter view.
Fixes: f5cafa961fae ("net/ice: add flow director create and destroy") Signed-off-by: Yahui Cao <yahui.cao@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
Ciara Power [Wed, 23 Oct 2019 12:53:00 +0000 (13:53 +0100)]
ethdev: fix include of ethernet header file
The include for rte_ether.h in each of these files should not use
quotes, as the header file is not in the librte_ethdev directory.
These are now updated to use <> symbols, to search directories
pre-designated by the compiler.
Fixes: 57668ed7bc08 ("net: move ethernet definitions to the net library") Cc: stable@dpdk.org Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
Wisam Jaddo [Thu, 17 Oct 2019 08:13:52 +0000 (08:13 +0000)]
app/testpmd: fix missing GENEVE item in raw encap
Fixes: 0f4203fe9d18 ("app/testpmd: support GENEVE pattern item in flow rules") Cc: stable@dpdk.org Signed-off-by: Wisam Jaddo <wisamm@mellanox.com> Acked-by: Ori Kam <orika@mellanox.com>
Anand Sunkad [Thu, 17 Oct 2019 13:20:50 +0000 (13:20 +0000)]
net/memif: support multiple Tx
When Multiple slave/master Memif's interfaces are created in single
process data transmission over second connection is not successful.
Issue is because of "mq->in_port" is not initialized with
"dev->data->port_id" in memif_tx_queue_setup() function, and while
transmitting packets over second connection in eth_memif_tx function
it refer "mq->in_port" which is always zero, which leads to data
transmission always in 0th port.
To mitigate the issue,"mq->in_port" is initialized with
"dev->data->port_id" in memif_tx_queue_setup() function.
Signed-off-by: Anand Sunkad <anand.sunkad@benisontech.com> Reviewed-by: Jakub Grajciar <jgrajcia@cisco.com>
Jakub Grajciar [Wed, 23 Oct 2019 08:07:32 +0000 (10:07 +0200)]
net/memif: fix Unix domain address length
Define MEMIF_SOCKET_UN_SIZE to size of unix domain socket address.
Report error in case of longer path.
Fixes: b923866c6974 ("net/memif: allow for full key size in socket name") Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ting Xu [Tue, 22 Oct 2019 16:26:36 +0000 (16:26 +0000)]
app/testpmd: add GTP parsing and Tx checksum offload
Enable testpmd to forward GTP packet in csum fwd mode.
A GTP header structure (without optional fields and extension header)
is defined in new rte_gtp.h.
A parser function in testpmd is added. GTPU and GTPC packets are both
supported, with respective UDP destination port and GTP message type.
Olivier Matz [Sat, 26 Oct 2019 12:39:01 +0000 (14:39 +0200)]
mbuf: support dynamic fields and flags
Many features require to store data inside the mbuf. As the room in mbuf
structure is limited, it is not possible to have a field for each
feature. Also, changing fields in the mbuf structure can break the API
or ABI.
This commit addresses these issues, by enabling the dynamic registration
of fields or flags:
- a dynamic field is a named area in the rte_mbuf structure, with a
given size (>= 1 byte) and alignment constraint.
- a dynamic flag is a named bit in the rte_mbuf structure.
The typical use case is a PMD that registers space for an offload
feature, when the application requests to enable this feature. As
the space in mbuf is limited, the space should only be reserved if it
is going to be used (i.e when the application explicitly asks for it).
The registration can be done at any moment, but it is not possible
to unregister fields or flags.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Anatoly Burakov [Thu, 24 Oct 2019 12:36:50 +0000 (13:36 +0100)]
eal: fix memory config allocation for multi-process
Currently, mem config will be mapped without using the virtual
area reservation infrastructure, which means it will be mapped
at an arbitrary location. This may cause failures to map the
shared config in secondary process due to things like PCI
whitelist arguments allocating memory in a space where the
primary has allocated the shared mem config.
Fix this by using virtual area reservation to reserve space for
the mem config, thereby avoiding the problem and reserving the
shared config (hopefully) far away from any normal memory
allocations.
Anatoly Burakov [Thu, 24 Oct 2019 12:36:49 +0000 (13:36 +0100)]
mem: make base address hint OS specific
Not all OS's follow Linux's memory layout, which may lead to
problems following the suggested common address hint absent
of a base-virtaddr flag. Make this address hint OS-specific.
Michal Krawczyk [Thu, 24 Oct 2019 12:10:46 +0000 (14:10 +0200)]
vfio: fix truncated BAR offset for 32-bit
When 32-bit application is built on 64-bit system it is possible that
the offset of the resource is outside of the 32-bit value.
The problem with the unsigned long is, that it is 32-bit and not 64-bit
when using armhf compiler. Although the system is returning u64 value,
we are losing it's value if it's higher than 32-bit in the conversion
process. It can further cause mmap to fail due to offset being 0 or to
map not intended memory region.
To make it more portable, the uint64_t value is now being used for
storing offset instead of unsigned long. The size of being 32-bit seems
to be fine as the 32-bit application won't be able to access bigger
memory and it is further converted to size_t anyway. But for better
readability and to be consistent, it's type was changed to size_t as
well.
Fixes: 0205f873557c ("vfio: fix overflow of BAR region offset and size") Cc: stable@dpdk.org Signed-off-by: Michal Krawczyk <mk@semihalf.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Multiple global variable are defined in multiple unit test files with
same name, but all unit test files are linked into single executable,
which means those variables share same storage which is not the
intention, fixed by making global variables 'static'.
Issue has been detected by '-fno-common' gcc flag.
Fixes: fdeb30fa7102 ("test/bitrate: add unit tests for bitrate library") Fixes: c3eabff124e6 ("distributor: add unit tests") Fixes: 0e925aef2779 ("app/test: add EFD functional and perf tests") Fixes: 359e17bf081f ("app/test: improve hash unit tests") Fixes: c7eb0972e74b ("test/hash: add lock-free r/w concurrency") Fixes: 1e3676a06e4c ("test/latency: add unit tests for latencystats library") Fixes: 0cc67a96e486 ("test/member: add functional and perf tests") Fixes: e6a14121f4ae ("test/rcu: remove arbitrary limit on max core count") Fixes: 104dbec2081a ("test/rcu: increase size of core numbers") Cc: stable@dpdk.org Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
app/testpmd: fix global variable multiple definitions
Some flow config related global variables are defined in a header file
which was causing multiple definitions of the variables, fixed it by
moving them to the .c file.
Issue has been detected by '-fno-common' gcc flag.
Also while being there,
removed duplicated 'ACTION_RAW_ENCAP_MAX_DAT definition,
moved 'vxlan_encap_conf' & 'nvgre_encap_conf' initialization to
'cmdline_flow.c' which is better location than 'testpmd.c'
relocated 'action_raw_encap_data' & 'action_raw_decap_data' struct
definitions slightly within the file
compress/octeontx: fix global variable multiple definitions
'octtx_zip_logtype_driver' global variable is defined in a header file
which was causing multiple definitions of the variable, fixed it by
moving it to the .c file.
Issue has been detected by '-fno-common' gcc flag.
crypto/virtio: fix global variable multiple definitions
'virtio_hw_internal' global variable is defined in both 'crypto/virtio'
and 'net/virtio' PMDs. This means they share same storage when
application linked with static DPDK library, which is not the intention.
Fixing by adding 'crypto_' prefix to the 'crypto/virtio' driver.
Issue has been detected by '-fno-common' gcc flag.
crypto/null: fix global variable multiple definitions
'null_logtype_driver' global variable is defined in a header file which
was causing multiple definitions of the variable, fixed it by moving it
to the .c file.
Issue has been detected by '-fno-common' gcc flag.
Filtering related global variables are defined in a header file which
was causing multiple definitions of the variables, fixed it by moving
them to the .c file.
Issue has been detected by '-fno-common' gcc flag.
bus/fslmc: fix global variable multiple definitions
'qman_version' global variable is defined in a header file which was
causing multiple definitions of the variable, fixed it by moving it to
the .c file.
Issue has been detected by '-fno-common' gcc flag.
Fixes: 293c0ca94c36 ("bus/fslmc: support memory backed portals with QBMAN 5.0") Cc: stable@dpdk.org Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Sachin Saxena <sachin.saxena@nxp.com>
Right now inclusion of rte_mbuf.h header can cause inclusion of
some arch/os specific headers.
That prevents it to be included directly by some
non-DPDK (but related) entities: KNI, BPF programs, etc.
To overcome that problem usually a separate definitions of rte_mbuf
structure is created within these entities.
That aproach has a lot of drawbacks: code duplication, error prone, etc.
This patch moves rte_mbuf structure definition (and some related macros)
into a separate file that can be included by both rte_mbuf.h and
other non-DPDK entities.
Note that it doesn't introduce any change for current DPDK code.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Michel Machado <michel@digirati.com.br> Acked-by: Olivier Matz <olivier.matz@6wind.com>
Right now RTE_CACHE_ and IOVA definitions are located inside rte_memory.h
That might cause an unwanted inclusions of arch/os specific header files.
See [1] for particular problem example.
Probably the simplest way to deal with such problems -
move these definitions into rte_commmon.h
Note that this move doesn't introduce any change in functionality.
[1] https://bugs.dpdk.org/show_bug.cgi?id=321
Suggested-by: Vipin Varghese <vipin.varghese@intel.com> Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Michel Machado <michel@digirati.com.br>
Jasvinder Singh [Wed, 16 Oct 2019 14:17:28 +0000 (15:17 +0100)]
sched: add 64-bit values
To support high bandwidth network interfaces, all rates (port,
subport level token bucket and traffic class rates, pipe level
token bucket and traffic class rates) and stats counters defined
in public data structures (rte_sched.h) are modified to support
64 bit counters.
Jasvinder Singh [Fri, 25 Oct 2019 10:51:22 +0000 (11:51 +0100)]
examples/ip_pipeline: add subport config flexibility to TM
Modify ip pipeline traffic management function to allow different
subports of the same port to have different configuration in terms
of number of pipes, pipe queue sizes, etc.
Jasvinder Singh [Fri, 25 Oct 2019 10:51:21 +0000 (11:51 +0100)]
net/softnic: add subport config flexibility to TM
Modify softnic traffic management function to allow different
subports of the same port to have different configuration in
terms of number of pipes, pipe queue sizes, etc.
Jasvinder Singh [Fri, 25 Oct 2019 10:51:19 +0000 (11:51 +0100)]
sched: update queue stats read for config flexibility
Modify pipe queue stats read function to allow different subports
of the same port to have different configuration in terms of number
of pipes, pipe queue sizes, etc.
Jasvinder Singh [Fri, 25 Oct 2019 10:51:18 +0000 (11:51 +0100)]
sched: update pkt dequeue for flexible config
Modify scheduler packet dequeue operation to allow different
subports of the same port to have different configuration in terms
of number of pipes, pipe queue sizes, etc.
Jasvinder Singh [Fri, 25 Oct 2019 10:51:17 +0000 (11:51 +0100)]
sched: update grinder functions for config flexibility
Modify packet grinder functions of the schedule to allow different
subports of the same port to have different configuration in terms
of number of pipes, pipe queue sizes, etc.
Jasvinder Singh [Fri, 25 Oct 2019 10:51:16 +0000 (11:51 +0100)]
sched: update memory compute to support flexiblity
Update memory footprint compute function for allowing subports of
the same port to have different configuration in terms of number of
pipes, pipe queue sizes, etc.
Jasvinder Singh [Fri, 25 Oct 2019 10:51:15 +0000 (11:51 +0100)]
sched: modify pkt enqueue for config flexibility
Modify scheduler packet enqueue operation of the scheduler to allow
different subports of the same port to have different configuration
in terms of number of pipes, pipe queue sizes, etc.
Jasvinder Singh [Fri, 25 Oct 2019 10:51:14 +0000 (11:51 +0100)]
sched: modify pipe functions for config flexibility
Modify pipe level functions to allow different subports of the same
port to have different configuration in terms of number of pipes,
pipe queue sizes, etc.
Jasvinder Singh [Fri, 25 Oct 2019 10:51:13 +0000 (11:51 +0100)]
sched: add pipe config to subport level
Add pipes configuration from the port level to allow different
subports of the same port to have different configuration in terms
of number of pipes, pipe queue sizes, etc.
Jasvinder Singh [Fri, 25 Oct 2019 10:51:12 +0000 (11:51 +0100)]
sched: remove pipe params config from port level
Remove pipes configuration from the port level to allow different
subports of the same port to have different configuration in terms
of number of pipes, pipe queue sizes, etc.
Jasvinder Singh [Fri, 25 Oct 2019 10:51:11 +0000 (11:51 +0100)]
sched: modify internal structs for config flexibility
Update internal structures related to port and subport to allow
different subports of the same port to have different configuration
in terms of number of pipes, pipe queue sizes, etc.
Jasvinder Singh [Fri, 25 Oct 2019 10:51:10 +0000 (11:51 +0100)]
sched: add pipe config params to subport struct
Add pipe configuration parameters to subport level structure to
allow different subports of the same port to have different
configuration in terms of number of pipes, pipe queue sizes, etc.
Gagandeep Singh [Wed, 23 Oct 2019 06:06:02 +0000 (11:36 +0530)]
net/enetc: enable dpaax library
dpaaX is used to maintain a local copy of PA->VA translations.
Using the rte_mem_virt2iova or rte_mem_virt2phy is expensive. This
library is an attempt to reduce the overall cost associated with
this translation.
This patch enables this dpaaX library by populating a dpaaX's
table for PA to VA translation. This change will also help the
caam JR driver in PA to VA translation when used with enetc driver
over enetc supported SoCs.
Matan Azrad [Tue, 22 Oct 2019 07:33:35 +0000 (07:33 +0000)]
net/mlx5: fix DevX event registration timing
The DevX counter management triggers an asynchronous event to get back
the new counters values from the HW.
The counter management doesn't trigger 2 parallel events for the same
pool, hence, the pool cannot be updated again in the event waiting time.
When the port is stopped, the DevX event mechanism wrongly was
destroyed what remained all the waiting pools in waiting state forever.
As a result, the counters of the stuck pools were never updated again.
Separate the DevX interrupt installation from the dev installation and
remove the DevX interrupt unregistration\registration from the
stop\start operations.
Now, the DevX interrupt should be installed in probe and uninstalled in
close.
This patch enables the unaligned chunks feature for AF_XDP which allows
chunks to be placed at arbitrary places in the umem, as opposed to them
being required to be aligned to 2k. This allows for DPDK application
mempools to be mapped directly into the umem and in turn enable zero copy
transfer between umem and the PMD.
This patch replaces the zero copy via external mbuf mechanism introduced
in commit e9ff8bb71943 ("net/af_xdp: enable zero copy by external mbuf").
The pmd_zero copy vdev argument is also removed as now the PMD will
auto-detect presence of the unaligned chunks feature and enable it if so
and otherwise fall back to copy mode if not detected.
Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
Kiran Kumar K [Tue, 22 Oct 2019 04:16:48 +0000 (09:46 +0530)]
ethdev: add HIGIG2 key field to flow API
Add new rte_flow_item_higig2_hdr in order to match higig2 header.
It is a layer 2.5 protocol and used in Broadcom switches.
Header format is based on the following document.
http://read.pudn.com/downloads558/doc/comm/2301468/HiGig_protocol.pdf
Signed-off-by: Kiran Kumar K <kirankumark@marvell.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
Ciara Power [Mon, 21 Oct 2019 12:22:38 +0000 (13:22 +0100)]
drivers/net: enable promiscuous and multicast by default
The promiscuous and multicast fields are now initialised as enabled for
some virtual PMDs. This allows the devices to be used when running
applications that attempt to enable promiscuous or multicast mode.
Signed-off-by: Ciara Power <ciara.power@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Ciara Power [Mon, 21 Oct 2019 12:22:37 +0000 (13:22 +0100)]
ethdev: check device promiscuous state
The promiscuous enable and disable functions now check the
promiscuous state of the device before checking if the dev_ops
function exists for the device.
This change is necessary to allow sample applications run on
virtual PMDs, as previously -ENOTSUP returned when the promiscuous
enable function was called. This caused the sample application to
fail unnecessarily.
Signed-off-by: Ciara Power <ciara.power@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Flavia Musatescu [Fri, 18 Oct 2019 14:24:31 +0000 (15:24 +0100)]
net/af_packet: improve Tx statistics accuracy
When sendto call fails and ENOBUFS/EAGAIN error is being set
some of the packets are actually successfully transmitted.
There is no available count of those packets, so in order to
make the statistics more accurate, all the previously enqueued
packets will be considered successful, even though this is not
entirely correct.
Xiaoyu Min [Thu, 17 Oct 2019 10:49:46 +0000 (13:49 +0300)]
net/mlx5: fix crash on hash Rx queue handling for drop
When to create hrxq for the drop, it could fail on creating qp and goto
the error handle which will release created ind_table by calling drop
release function, which takes rte_ethdev as the only parameter and uses
the priv->drop_queue.hrxq as input to release.
Unfortunately, at this point, the hrxq is not allocated and
priv->drop_queue.hrxq is still NULL, which leads to a segfault.
This patch fixes the above by allocating the hrxq at first place and
when the error happens, hrxq is released as the last one.
This patch also release other allocated resources by the correct order,
which is missing previously.
Fixes: 78be885295b8 ("net/mlx5: handle drop queues as regular queues") Cc: stable@dpdk.org Reported-by: Zengmo Gao <gaozengmo@jd.com> Signed-off-by: Xiaoyu Min <jackmin@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
This commit adds FDIR ID support to the AVX2 based receive
path routine. Support for both 16B and 32B descriptors is
implemented.
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> Tested-by: Mesut Ali Ergin <mesut.a.ergin@intel.com>
This commit adds an implementation to the SSE vector implementation of
RX routine and moves some common defines from a c file to the header
file.
I40e can have 16 and 32 byte descriptors, and the Flow
Director ID data and indication-bit are in different locations
for each size descriptor. The support is implemented in two
separate functions as they require vastly different operations.
The 16B descriptor re-purposes the "filter-status" u32 field
to indicate FDIR ID when the FLM bit is set. No extra loads
are required, however we do have to store to mbuf->fdir.hi,
which is not stored to in the RX path before this patch.
The 32B descriptor requires loading the 2nd 16 bytes of each
descriptor, to get the FLEXBH_STAT and FD Filter ID from
qword3. The resulting data must also be stored to mbuf->fdir.hi,
same as the 16B code path.
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> Tested-by: Mesut Ali Ergin <mesut.a.ergin@intel.com>
net/i40e: cache flow director enable value in Rx queue
This commit adds a fdir_enable flag in a uint8_t sized hole
the rx queue structure The flag enables the rx code path to
easily identify if fdir is active. This can be used to skip
fdir id processing when it is not required.
The flag is zero by default (as rxq is zmalloc-ed at startup),
and the flag is set to 1 on configuration of a flow director rule.
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> Tested-by: Mesut Ali Ergin <mesut.a.ergin@intel.com>
One issue caught by Coverity 340835
*unlock: axgbe_phy_set_mode unlocks pdata->phy_mutex
*double_unlock: axgbe_phy_sfp_detect unlocks pdata->phy_mutex
while it is unlocked.
In axgbe_phy_sfp_detect()/axgbe_phy_set_redrv_mode(),
axgbe_phy_get_comm_ownership() and axgbe_phy_put_comm_ownership()
are invoked subsequently.
Currently in axgbe_phy_get_comm_ownership(), during one of the case
'phy_data->comm_owned' is not protected and before returning 0, lock is
not called and unlock is called in axgbe_phy_put_comm_ownership()
directly which is incorrect.
Ideally, the variable 'phy_data->comm_owned' needs to be protected.
During success scenario, lock is called in
axgbe_phy_get_comm_ownership() followed by unlock in
axgbe_phy_put_comm_ownership(). In failure case, unlock is invoked in
axgbe_phy_get_comm_ownership() itself appropriately.
The fix is to protect 'phy_data->comm_owned' in the identified case
ensuring locks/unlocks properly exist.
Moti Haimovsky [Wed, 16 Oct 2019 07:34:03 +0000 (10:34 +0300)]
net/mlx5: retry on link update failure
mlx5_link_update immediately returns when called with no-wait parameter
and its call for retrieving the link status returns with EAGAIN error.
This is too harsh on busy systems where a first call fails with EAGAIN
from time to time.
This patch adds a (very limited) retry on such cases in order to allow
retrieving the link status.
Ali Alnubani [Thu, 17 Oct 2019 07:19:31 +0000 (10:19 +0300)]
net/mlx5: fix build with strict alignment enabled
This patch converts some of the casts to unaligned integer types.
The memcpy call is replaced with explicit copying because it
may require type qualifiers in some environments.
David Marchand [Fri, 27 Sep 2019 11:58:02 +0000 (13:58 +0200)]
net: add missing endianness annotations
OVS currently maintains a copy of those headers with the right endianness
annotations so that sparse checks can pass.
We introduced rte_beXX_t for better readibility in v17.08.
Let's make use of them, OVS then only needs to override those rte_beXX_t
types by exposing a tweaked rte_byteorder.h header.
Other existing dpdk users won't be affected since rte_beXX_t types are
mapped to uintXX_t types.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
common/octeontx2: upgrade mbox definition to version 2
Sync mail box data structures to version 0x0002.
This patch checks for mismatch in mail box revision and
avoids initializing octeontx2 pci device if
there is a mismatch.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
Ying A Wang [Thu, 17 Oct 2019 18:31:59 +0000 (02:31 +0800)]
net/ice: cleanup RSS/FDIR profile on device init
When app restarts, RSS/FDIR profile ID will increase which may
run out of all the profile resources.
The patch cleanup RSS/FDIR profile resources when device init
to fix this issue.
Fixes: d7d150b93070 ("net/ice: enable RSS when device init") Cc: stable@dpdk.org Signed-off-by: Ying A Wang <ying.a.wang@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
Yahui Cao [Fri, 18 Oct 2019 11:15:56 +0000 (19:15 +0800)]
net/ice: add flow director create and destroy
Add ice_create_fdir_filter to create a rule. If a flow is matched by
flow director filter, filter rule will be set to HW. For now common
pattern and queue/passthru/drop/mark actions are supported.
Signed-off-by: Yahui Cao <yahui.cao@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
Beilei Xing [Fri, 18 Oct 2019 11:15:54 +0000 (19:15 +0800)]
net/ice: enable flow director engine
Enable flow director engine, including initialization and teardown.
- Control VSI create and release.
- Queue pair allocated, set up and release.
- Programming packet create and release.
- FDIR profile create and release.