Yongseok Koh [Mon, 2 Apr 2018 17:01:22 +0000 (10:01 -0700)]
doc: add timestamp offload to mlx5 features
Fixes:
78c7406b7b5a ("net/mlx5: add Rx HW timestamp")
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Nélio Laranjeiro [Thu, 5 Apr 2018 15:07:21 +0000 (17:07 +0200)]
net/mlx5: add parameter for Netlink support in VF
All Netlink request the PMD will do can also be done by a iproute2 command
line interface, enabling VF behavior configuration without having to modify
the application nor reaching PMD limits (e.g. MAC address number limit).
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Nélio Laranjeiro [Thu, 5 Apr 2018 15:07:20 +0000 (17:07 +0200)]
net/mlx5: use Netlink to enable promisc/allmulti mode
VF devices are not able to receive promisc or allmulti traffic unless it
fully requests it though Netlink. This will cause the request to be
processed by the PF which will handle the request and enable it.
This requires the VF to be trusted by the PF.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Nélio Laranjeiro [Thu, 5 Apr 2018 15:07:19 +0000 (17:07 +0200)]
net/mlx5: use Netlink to add/remove MAC addresses
VF devices are not able to receive traffic unless it fully requests it
though Netlink. This will cause the request to be processed by the PF
which will add/remove the MAC address to the VF table if the VF is trusted.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Chas Williams [Tue, 13 Feb 2018 22:56:18 +0000 (17:56 -0500)]
net/ixgbe: update link status on start
dev->data->eth_link isn't updated until the first interrupt. If a
link is carrier down, then this interrupt may never happen. Before we
finished starting the PMD, call ixgbe_dev_link_update() to ensure we
have a valid status.
Signed-off-by: Chas Williams <chas3@att.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Chas Williams [Thu, 1 Feb 2018 22:39:07 +0000 (17:39 -0500)]
net/ixgbe: fix busy wait during checking link status
If we haven't set wait_to_complete, there is no need to busy wait
until we have a link status. Applications, like bonding, use the
wait_to_complete flag to indicate that they will be doing their own
busy wait and will likely be polling again shortly.
Fixes:
dc66e5fd01b9 ("net/ixgbe: improve link state check on VF")
Cc: stable@dpdk.org
Signed-off-by: Chas Williams <chas3@att.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Wei Zhao [Wed, 4 Apr 2018 08:06:03 +0000 (16:06 +0800)]
net/i40e: fix flow RSS queue index check
There need a queue index check for RSS queue region
in order to aviod error from configuration.
Fixes:
ecad87d22383 ("net/i40e: move RSS to flow API")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Tested-by: Yuan Peng <yuan.peng@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Wei Zhao [Tue, 3 Apr 2018 06:09:08 +0000 (14:09 +0800)]
net/i40e: fix flow RSS queue region
Queue region comparison error in configuration parameters.
Fixes:
ecad87d22383 ("net/i40e: move RSS to flow API")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Tested-by: Yuan Peng <yuan.peng@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Chas Williams [Mon, 19 Feb 2018 00:39:55 +0000 (19:39 -0500)]
net/e1000: add MAC address set to em
Based on the equivalent code in the igb driver.
Signed-off-by: Chas Williams <chas3@att.com>
Reviewed-by: David Marchand <david.marchand@6wind.com>
Acked-by: Wei Zhao <wei.zhao1@intel.com>
Ferruh Yigit [Thu, 22 Mar 2018 18:17:46 +0000 (18:17 +0000)]
doc: sort qede feature list
Sort list to be same order as default.ini. No value changed.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Andrew Rybchenko [Wed, 4 Apr 2018 14:23:57 +0000 (15:23 +0100)]
net/sfc: support choice of FW subvariant without Tx checksum
If running FW variant supports subvariant without checksumming
on transmit and all transmit queues do not use checksumming,
it may be disabled.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Wed, 4 Apr 2018 14:23:56 +0000 (15:23 +0100)]
net/sfc/base: support FW subvariant choice
If DPDK application or OS does not need checksumming on transmit,
it may be disabled in firmware to achieve higher packet rates.
Choice must be done before VIS allocation and is allowed if
no other non-preboot and firmware subvariant-unaware drivers are
attached.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Reviewed-by: Andrew Lee <alee@solarflare.com>
Andrew Rybchenko [Wed, 4 Apr 2018 14:23:55 +0000 (15:23 +0100)]
net/sfc/base: report no Tx checksum FW subvariant support
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Reviewed-by: Andrew Lee <alee@solarflare.com>
Andrew Rybchenko [Wed, 4 Apr 2018 14:23:54 +0000 (15:23 +0100)]
net/sfc/base: add firmware subvariant aware driver option
FW subvariants allow to tweak NIC global features. For example,
if no drivers require checksumming on transmit, it may be disabled
in FW to increase packet rate.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Reviewed-by: Andrew Lee <alee@solarflare.com>
Andrew Rybchenko [Wed, 4 Apr 2018 14:23:53 +0000 (15:23 +0100)]
net/sfc/base: update MCDI headers
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Vipin Varghese [Mon, 2 Apr 2018 21:37:48 +0000 (03:07 +0530)]
net/tap: add tun log and documentation
The changes add TUN|TAP specific logs and documentation support.
Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
Vipin Varghese [Mon, 2 Apr 2018 21:37:47 +0000 (03:07 +0530)]
net/tap: support tun
The change adds functional TUN PMD logic to the existing TAP PMD.
TUN PMD can be initialized with 'net_tunX' where 'X' represents unique id.
PMD supports argument interface, while MAC address and remote are not
supported.
Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
Hyong Youb Kim [Wed, 4 Apr 2018 23:54:55 +0000 (16:54 -0700)]
doc: update enic guide and features
Documentation updates including for 1400 series VIC adapters.
Remove VLAN filter from the features file as the driver does not
support that API. Hardware does support VLAN filtering, but it is not
controlled through the driver.
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
Hyong Youb Kim [Wed, 4 Apr 2018 23:54:54 +0000 (16:54 -0700)]
net/enic: support drop flow action
1330 and 1400 series adapters support the drop action. Check for its
availability and set the necessary flag when creating NIC filters.
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
John Daley [Wed, 4 Apr 2018 23:54:53 +0000 (16:54 -0700)]
net/enic: fix crash on MTU update with non-setup queues
The enic code called from rte_eth_dev_set_mtu() was assuming that the
Rx queues are already set up via a call to rte_eth_tx_queue_setup().
OVS calls rte_eth_dev_set_mtu() before rte_eth_rx_queue_setup() and
a null pointer was dereferenced.
Fixes:
c3e09182bcd6 ("net/enic: support scatter Rx in MTU update")
Cc: stable@dpdk.org
Signed-off-by: John Daley <johndale@cisco.com>
Reviewed-by: Hyong Youb Kim <hyonkim@cisco.com>
John Daley [Wed, 4 Apr 2018 23:54:52 +0000 (16:54 -0700)]
net/enic: support UDP RSS on 1400 series adapters
Recent models support IPv4/IPv6 UDP RSS. There is no control bit to
enable UDP RSS alone. Instead, the NIC enables/disables TCP and UDP
RSS together.
Signed-off-by: John Daley <johndale@cisco.com>
Reviewed-by: Hyong Youb Kim <hyonkim@cisco.com>
Hyong Youb Kim [Wed, 4 Apr 2018 23:54:50 +0000 (16:54 -0700)]
net/enic: do not flush descriptor cache when opening vNIC
The firmware on new hardware models flushes the global descriptor
cache by default. Use CMD_OPENF_IG_DESCCACHE to avoid cache
flushing. This flag has no effect on older models.
Suggested-by: Govindarajulu Varadarajan <gvaradar@cisco.com>
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:51 +0000 (08:36 -0400)]
net/axgbe: support meson build
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:50 +0000 (08:36 -0400)]
net/axgbe: add workaround for ethernet training
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:49 +0000 (08:36 -0400)]
net/axgbe: support 32-bit build mode
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:48 +0000 (08:36 -0400)]
net/axgbe: support generic Rx/Tx stats
This patch adds support for port statistics api defined
for ethernet PMDs.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:47 +0000 (08:36 -0400)]
net/axgbe: support promiscuous mode
This patch enables promiscuous and multicast support for AXGBE PMD.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:46 +0000 (08:36 -0400)]
net/axgbe: add configure flow control while link adjustment
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:45 +0000 (08:36 -0400)]
net/axgbe: add link status update
Added support to update device link status atomically.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:44 +0000 (08:36 -0400)]
doc: add guide for AMD axgbe Ethernet PMD
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:43 +0000 (08:36 -0400)]
net/axgbe: add Rx/Tx data path
Supported scalar implementation for RX data path.
Supported scalar and vector implementation for TX data path.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:42 +0000 (08:36 -0400)]
net/axgbe: add DMA programming and start/stop
This patch adds support to program DMA and DPDK device start
and stop apis.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:41 +0000 (08:36 -0400)]
net/axgbe: add Rx/Tx setup
Add support for data path setup apis defined for PMDs.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:40 +0000 (08:36 -0400)]
net/axgbe: add interrupt handler for autonegotiation
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:39 +0000 (08:36 -0400)]
net/axgbe: add phy programming APIs
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:38 +0000 (08:36 -0400)]
net/axgbe: add phy init and related APIs
Added device phy initialization, read/write and other
maintenance apis to be used within PMD.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:37 +0000 (08:36 -0400)]
net/axgbe: add structs for MAC init and reset
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:36 +0000 (08:36 -0400)]
net/axgbe: add phy register map and helper macros
Added phy related register definitions.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:35 +0000 (08:36 -0400)]
net/axgbe: add register map and related macros
Added DMA and MAC related register definitions.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Ravi Kumar [Fri, 6 Apr 2018 12:36:34 +0000 (08:36 -0400)]
net/axgbe: add minimal init and uninit support
Add ethernet poll mode driver for AMD 10G devices embedded in
AMD EPYC™ EMBEDDED 3000 family processors.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Pavan Nikhilesh [Fri, 6 Apr 2018 11:30:31 +0000 (17:00 +0530)]
net/tap: fix memcpy with incorrect size
Fix incorrect sizeof operation being used for getting mac addr size.
Found while compiling with arm64 clang.
drivers/net/tap/rte_eth_tap.c:1410:40: error: argument to 'sizeof' in
'memcpy' call is the same pointer type 'struct ether_addr *' as the
destination; expected 'struct ether_addr' or an explicit length
[-Werror,-Wsizeof-pointer-memaccess]
rte_memcpy(&pmd->eth_addr, mac_addr, sizeof(mac_addr));
~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~
Fixes:
bcab6c1d27fa ("net/tap: allow user MAC to be passed as args")
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Zhiyong Yang <zhiyong.yang@intel.com>
Alejandro Lucero [Thu, 15 Mar 2018 14:30:37 +0000 (14:30 +0000)]
net/nfp: support new HW offloads API
In next 18.05 the old hw offload API will be removed. This patch adds
support for just the new hw offload API.
Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
Alejandro Lucero [Thu, 5 Apr 2018 14:42:47 +0000 (15:42 +0100)]
net/nfp: remove files
New CPP interface makes NSPU interface obsolete. These files are
not needed anymore.
Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
Alejandro Lucero [Thu, 5 Apr 2018 14:42:46 +0000 (15:42 +0100)]
doc: update NFP guide
New CPP interface changes the way firmware upload is managed by
the PMD. It also supports different firmware file names for
having specific firmware applications per card.
Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
Alejandro Lucero [Thu, 5 Apr 2018 14:42:45 +0000 (15:42 +0100)]
net/nfp: use new CPP interface
PF PMD support was based on NSPU interface. This patch changes the
PMD for using the new CPP user space interface which gives more
flexibility for adding new functionalities.
This change just affects initialization with the datapath being the
same than before.
Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
Alejandro Lucero [Thu, 5 Apr 2018 14:42:44 +0000 (15:42 +0100)]
net/nfp: support CPP
CPP refers to the internal NFP Command Push Pull bus. This patch allows
to create CPP commands from user space allowing to access any single
part of the chip.
This CPP interface is the base for having other functionalities like
mutexes when accessing specific chip components, chip resources management,
firmware upload or using the NSP, an embedded arm processor which can
perform tasks on demand.
NSP was the previous only way for doing things in the chip by the PMD,
where a NSPU interface was used for commands like firmware upload or
port link configuration. CPP interface supersedes NSPU, but it is still
possible to use NSP through CPP.
CPP interface adds a great flexibility for doing things like extended
stats or firmware debugging.
Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
Matej Vido [Wed, 4 Apr 2018 13:46:35 +0000 (15:46 +0200)]
net/szedata2: implement dynamic logging
Signed-off-by: Matej Vido <vido@cesnet.cz>
Matej Vido [Wed, 4 Apr 2018 13:45:47 +0000 (15:45 +0200)]
net/szedata2: convert license headers to SPDX tags
Signed-off-by: Matej Vido <vido@cesnet.cz>
Matej Vido [Wed, 4 Apr 2018 13:42:21 +0000 (15:42 +0200)]
net/szedata2: fix format string for PCI address
For fscanf() function SCN macros should be used but PRI macros were
wrongly used.
Also use correct sizes of variables for read values.
Fixes:
83556fd2c0fc ("szedata2: change to physical device type")
Cc: stable@dpdk.org
Signed-off-by: Matej Vido <vido@cesnet.cz>
Matej Vido [Wed, 4 Apr 2018 13:42:20 +0000 (15:42 +0200)]
net/szedata2: add stat of mbuf allocation failures
Signed-off-by: Matej Vido <vido@cesnet.cz>
Matej Vido [Wed, 4 Apr 2018 13:42:19 +0000 (15:42 +0200)]
net/szedata2: use dynamically allocated queues
Previously the queues were the part of private data structure of the
Ethernet device.
Now the queues are allocated at setup thus numa-aware allocation is
possible.
Signed-off-by: Matej Vido <vido@cesnet.cz>
Matej Vido [Wed, 4 Apr 2018 13:42:18 +0000 (15:42 +0200)]
net/szedata2: fix total stats
Counters from all queues have to be summed up for total stats
even though the number of queue stats counters is not sufficient.
Fixes:
83556fd2c0fc ("szedata2: change to physical device type")
Cc: stable@dpdk.org
Signed-off-by: Matej Vido <vido@cesnet.cz>
Ferruh Yigit [Thu, 22 Mar 2018 18:13:24 +0000 (18:13 +0000)]
net/bonding: switch to new offloading API
Switch to new ethdev offloading API.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Radu Nicolau <radu.nicolau@intel.com>
Chas Williams [Fri, 23 Mar 2018 17:05:32 +0000 (13:05 -0400)]
net/bonding: clear started state if start fails
There are several error paths where the bonding device may not start.
Clear dev_started before we return if we take one of these paths.
Fixes:
2efb58cbab6e ("bond: new link bonding library")
Cc: stable@dpdk.org
Signed-off-by: Chas Williams <chas3@att.com>
Acked-by: Radu Nicolau <radu.nicolau@intel.com>
Chas Williams [Tue, 3 Apr 2018 16:01:22 +0000 (12:01 -0400)]
net/bonding: fix setting VLAN ID on slave ports
The pos returned is just the offset of the slab. You need to use this
to offset the bits in the slab.
Fixes:
c771e4ef38 ("net/bonding: enable slave VLAN filter")
Cc: stable@dpdk.org
Signed-off-by: Chas Williams <chas3@att.com>
Acked-by: Radu Nicolau <radu.nicolau@intel.com>
Stephen Hemminger [Thu, 5 Apr 2018 15:12:28 +0000 (08:12 -0700)]
net/octeontx: fix uninitialized speed variable
This is fix for Coverity Defect 268319 about uninitialized speed
in an error case. Also drop unnecessary assignment.
Coverity issue: 268319
Fixes:
4fac7c0a147e ("net/octeontx: add link update")
CC: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Santosh Shukla [Mon, 2 Apr 2018 16:05:33 +0000 (16:05 +0000)]
net/octeontx: remove redundant driver name update
Cc: stable@dpdk.org
Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Reviewed-by: David Marchand <david.marchand@6wind.com>
Andrew Rybchenko [Tue, 20 Mar 2018 11:26:26 +0000 (11:26 +0000)]
ethdev: fix library version in meson build
Fixes:
653e038efc9b ("ethdev: remove versioning of filter control function")
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Shagun Agrawal [Wed, 4 Apr 2018 03:53:37 +0000 (09:23 +0530)]
net/cxgbe: update to Rx/Tx offload API
Update to new Rx/Tx offload API. Always set CRC stripping during
configuration, since it can't be disabled.
Signed-off-by: Shagun Agrawal <shaguna@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Shagun Agrawal [Wed, 4 Apr 2018 03:53:36 +0000 (09:23 +0530)]
net/cxgbe: add option to keep outer VLAN tag in QinQ
Add devargs option to keep outer VLAN tag in Q-in-Q packets.
Signed-off-by: Shagun Agrawal <shaguna@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Kumar Sanghvi [Wed, 4 Apr 2018 03:53:35 +0000 (09:23 +0530)]
doc: add VF in CXGBE guide
Add documentation on running DPDK on SR-IOV virtual functions for
Chelsio NICs.
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Matej Vido [Tue, 3 Apr 2018 15:06:21 +0000 (17:06 +0200)]
net/szedata2: convert to new offload API
Offload API is currently used only to setup correct receive function
for scattered packets.
Use offloads member instead of bitfield and advertise correct
capabilities.
Signed-off-by: Matej Vido <vido@cesnet.cz>
Scott Branden [Mon, 2 Apr 2018 22:34:32 +0000 (15:34 -0700)]
net/bnxt: convert to SPDX license tag
Update the license header on bnxt files to be the standard
BSD-3-Clause license used for the rest of DPDK,
bring the files in compliance with the DPDK licensing policy.
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Pavan Nikhilesh [Thu, 5 Apr 2018 13:23:32 +0000 (18:53 +0530)]
net/octeontx: use the new offload APIs
Use the new Rx/Tx offload APIs and remove the old style offloads.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Yongseok Koh [Mon, 12 Mar 2018 17:05:45 +0000 (10:05 -0700)]
net/mlx5: remove excessive data prefetch
In Enhanced Multi-Packet Send (eMPW), entire packet data is prefetched to
LLC if it isn't inlined. Even though this helps reducing jitter when HW
fetches data by DMA, this can thresh the LLC with evicting precious data.
And if the size of queue is large and there are many queues, this might not
be effective. Also, if application runs on a remote node from the PCIe
link, it may not be helpful and can even cause bad results.
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Bin Huang [Fri, 30 Mar 2018 05:13:38 +0000 (13:13 +0800)]
net/mlx5: add packet type index for TCP ack
According to CQE format:
- l4_hdr_type:
0 - None
1 - TCP header was present in the packet
2 - UDP header was present in the packet
3 - TCP header was present in the packet with Empty
TCP ACK indication. (TCP packet <ACK> flag is set,
and packet carries no data)
4 - TCP header was present in the packet with TCP ACK indication.
(TCP packet <ACK> flag is set, and packet carries data).
A packet should be identified as TCP packet if l4_hdr_type is 1, 3 or 4.
Add corresponding idx of TCP ACK to ptype table.
previous discussion:
https://www.mail-archive.com/users@dpdk.org/msg02980.html
Signed-off-by: Bin Huang <bin.huang@hxt-semitech.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Bruce Richardson [Thu, 29 Mar 2018 13:36:20 +0000 (14:36 +0100)]
net/mlx: fix warnings for unused compiler arguments
When linking the mlx glue code libraries using CC, the linker arguments in
LDFLAGS are not prefixed with -Wl. [The EXTRA_LDFLAGS are though.] This
leads to warning messages on build:
clang-5.0: warning: argument unused during compilation: '-e xport-dynamic'
Fix this by checking for $LINK_USING_CC in the Makefiles and prefixing the
LDFLAGS appropriately if set.
Fixes:
27cea11686ff ("net/mlx4: spawn rdma-core dependency plug-in")
Fixes:
59b91bec12c6 ("net/mlx5: spawn rdma-core dependency plug-in")
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Rami Rosen [Wed, 28 Mar 2018 01:07:09 +0000 (21:07 -0400)]
net/mlx4: fix a typo in header file
This patch fixes a trivial typo in mlx4 header file.
Fixes:
3d555728c933 ("net/mlx4: separate Rx/Tx definitions")
Cc: stable@dpdk.org
Signed-off-by: Rami Rosen <rami.rosen@intel.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Tiwei Bie [Fri, 9 Mar 2018 00:32:16 +0000 (08:32 +0800)]
net/virtio: move to new offloads API
Ethdev offloads API has changed since:
commit
ce17eddefc20 ("ethdev: introduce Rx queue offloads API")
commit
cba7f53b717d ("ethdev: introduce Tx queue offloads API")
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Wei Zhao [Tue, 3 Apr 2018 06:09:36 +0000 (14:09 +0800)]
net/i40e: fix flow RSS TCI use
Vlan tci configuration from testpmd is stored in big endian, changing
it to little endian is needed before using it.
Fixes:
ecad87d22383 ("net/i40e: move RSS to flow API")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Tested-by: Yuan Peng <yuan.peng@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Wei Dai [Tue, 3 Apr 2018 02:54:56 +0000 (10:54 +0800)]
net/e1000: convert to new Tx offloads API
Ethdev Tx offloads API has changed since:
commit
cba7f53b717d ("ethdev: introduce Tx queue offloads API")
This commit support the new Tx offloads API.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Wei Dai [Tue, 3 Apr 2018 02:54:55 +0000 (10:54 +0800)]
net/e1000: convert to new Rx offloads API
Ethdev Rx offloads API has changed since:
commit
ce17eddefc20 ("ethdev: introduce Rx queue offloads API")
This commit support the new Rx offloads API.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Wei Dai [Thu, 22 Mar 2018 03:41:03 +0000 (11:41 +0800)]
net/ixgbe: convert to new Tx offloads API
Ethdev Tx offloads API has changed since:
commit
cba7f53b717d ("ethdev: introduce Tx queue offloads API")
This commit support the new Tx offloads API.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Wei Dai [Thu, 22 Mar 2018 03:41:02 +0000 (11:41 +0800)]
net/ixgbe: convert to new Rx offloads API
Ethdev Rx offloads API has changed since:
commit
ce17eddefc20 ("ethdev: introduce Rx queue offloads API")
This commit support the new Rx offloads API.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Wei Dai [Thu, 22 Mar 2018 03:41:01 +0000 (11:41 +0800)]
net/ixgbe: support VLAN strip per queue offloading in VF
VLAN strip is a per queue offloading in VF. With this patch
it can be enabled or disabled on any Rx queue in VF.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Wei Dai [Thu, 22 Mar 2018 03:41:00 +0000 (11:41 +0800)]
net/ixgbe: support VLAN strip per queue offloading in PF
VLAN strip is a per queue offloading in PF. With this patch
it can be enabled or disabled on any Rx queue in PF.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Yanglong Wu [Fri, 30 Mar 2018 08:22:12 +0000 (16:22 +0800)]
net/i40e: convert to new Tx offloads API
Ethdev Tx offloads API has changed since:
commit
cba7f53b717d ("ethdev: introduce Tx queue offloads API")
This commit support the new Tx offloads API.
Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Yanglong Wu [Fri, 30 Mar 2018 08:22:11 +0000 (16:22 +0800)]
net/i40e: convert to new Rx offloads API
Ethdev Rx offloads API has changed since:
commit
cba7f53b717d ("ethdev: introduce Rx queue offloads API")
This commit support the new Rx offloads API.
Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Wenzhuo Lu [Thu, 1 Mar 2018 06:41:46 +0000 (14:41 +0800)]
net/avf: convert to new Rx and Tx offload API
Ethdev Tx offloads API has changed since:
commit
cba7f53b717d ("ethdev: introduce Tx queue offloads API")
This commit support the new Rx and Tx offloads API.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Wei Dai [Wed, 28 Mar 2018 08:00:37 +0000 (16:00 +0800)]
net/fm10k: convert to new Tx offloads API
Ethdev Tx offloads API has changed since:
commit
cba7f53b717d ("ethdev: introduce Tx queue offloads API")
This commit support the new Rx and Tx offloads API.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Wei Dai [Wed, 28 Mar 2018 08:00:36 +0000 (16:00 +0800)]
net/fm10k: convert to new Rx offloads API
Ethdev Rx offloads API has changed since:
commit
ce17eddefc20 ("ethdev: introduce Rx queue offloads API")
This commit support the new Rx offloads API.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Zhiyong Yang [Fri, 30 Mar 2018 08:31:50 +0000 (16:31 +0800)]
net/virtio-user: fix port id type
virtio-user port_id range should be increased from 8 bits to 16 bits.
Fixes:
f8244c6399d9 ("ethdev: increase port id range")
Cc: stable@dpdk.org
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Zhihong Wang [Mon, 2 Apr 2018 11:46:56 +0000 (19:46 +0800)]
vhost: add APIs for live migration
This patch adds APIs to enable live migration for non-builtin data paths.
At src side, last_avail/used_idx from the device need to be set into the
virtio_net structure, and the log_base and log_size from the virtio_net
structure need to be set into the device.
At dst side, last_avail/used_idx need to be read from the virtio_net
structure and set into the device.
Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Zhihong Wang [Mon, 2 Apr 2018 11:46:55 +0000 (19:46 +0800)]
vhost: adapt library for selective datapath
This patch adapts vhost lib for selective datapath by calling device ops
at the corresponding stage.
Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Zhihong Wang [Mon, 2 Apr 2018 11:46:54 +0000 (19:46 +0800)]
vhost: add APIs for datapath configuration
This patch adds APIs for datapath configuration.
The did of the vhost-user socket can be set to identify the backend device,
in this case each vhost-user socket can have only 1 connection. The did is
set to -1 by default when the software datapath is used.
Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Zhihong Wang [Mon, 2 Apr 2018 11:46:53 +0000 (19:46 +0800)]
vhost: support selective datapath
This patch set introduces support for selective datapath in DPDK vhost-user
lib. vDPA stands for vhost Data Path Acceleration. The idea is to support
virtio ring compatible devices to serve virtio driver directly to enable
datapath acceleration.
A set of device ops is defined for device specific operations:
a. get_queue_num: Called to get supported queue number of the device.
b. get_features: Called to get supported features of the device.
c. get_protocol_features: Called to get supported protocol features of
the device.
d. dev_conf: Called to configure the actual device when the virtio
device becomes ready.
e. dev_close: Called to close the actual device when the virtio device
is stopped.
f. set_vring_state: Called to change the state of the vring in the
actual device when vring state changes.
g. set_features: Called to set the negotiated features to device.
h. migration_done: Called to allow the device to response to RARP
sending.
i. get_vfio_group_fd: Called to get the VFIO group fd of the device.
j. get_vfio_device_fd: Called to get the VFIO device fd of the device.
k. get_notify_area: Called to get the notify area info of the queue.
Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Zhihong Wang [Mon, 2 Apr 2018 11:46:52 +0000 (19:46 +0800)]
vhost: export vhost feature definitions
This patch exports vhost-user protocol features to support device driver
development.
Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Ferruh Yigit [Fri, 13 Apr 2018 21:20:59 +0000 (22:20 +0100)]
doc: reduce initial offload API rework scope to drivers
Do ethdev new offloading API switch in two steps.
In v18.05 target is implementing the new ethdev-PMD offload interface,
which means converting all PMDs to new offloading API.
Next target is removing the old ethdev offload API.
It will effect applications and will force them to implement new
offloading API.
Fixes:
3004d3454192 ("doc: update deprecation of ethdev offload API")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Shreyansh Jain [Thu, 12 Apr 2018 12:33:58 +0000 (18:03 +0530)]
hash: fix comment for lookup
rte_hash_lookup_with_hash() has wrong comment for its 'sig' param.
Fixes:
1a9f648be291 ("hash: fix for multi-process apps")
Cc: stable@dpdk.org
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Allain Legacy [Mon, 19 Mar 2018 14:25:23 +0000 (09:25 -0500)]
ip_frag: fix double free of chained mbufs
The first mbuf and the last mbuf to be visited in the preceding loop
are not set to NULL in the fragmentation table. This creates the
possibility of a double free when the fragmentation table is later freed
with rte_ip_frag_table_destroy().
Fixes:
95908f52393d ("ip_frag: free mbufs on reassembly table destroy")
Cc: stable@dpdk.org
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Gowrishankar Muthukrishnan [Fri, 13 Apr 2018 11:22:30 +0000 (16:52 +0530)]
bus/fslmc: fix 64-bit format specifiers
Instead of llX, use C99 standard "PRIu64" in format specifier. Former one
breaks compile in ppc64le.
Fixes:
c2c167fdb3 ("bus/fslmc: support memory event callbacks for VFIO")
Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Jeff Guo [Fri, 13 Apr 2018 08:30:40 +0000 (16:30 +0800)]
app/testpmd: enable device hotplug monitoring
Use testpmd for example, to show how an application uses device event
APIs to monitor the hotplug events, including both hot removal event
and hot insertion event.
The process is that, testpmd first enable hotplug by below commands,
E.g. ./build/app/testpmd -c 0x3 --n 4 -- -i --hot-plug
then testpmd starts the device event monitor by calling the new API
(rte_dev_event_monitor_start) and register the user's callback by call
the API (rte_dev_event_callback_register), when device being hotplug
insertion or hotplug removal, the device event monitor detects the event
and call user's callbacks, user could process the event in the callback
accordingly.
This patch only shows the event monitoring, device attach/detach would
not be involved here, will add from other hotplug patch set.
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Reviewed-by: Jianfeng Tan <jianfeng.tan@intel.com>
Jeff Guo [Fri, 13 Apr 2018 08:30:39 +0000 (16:30 +0800)]
eal/linux: add uevent parse and process
In order to handle the uevent which has been detected from the kernel
side, add uevent parse and process function to translate the uevent into
device event, which user has subscribed to monitor.
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Reviewed-by: Jianfeng Tan <jianfeng.tan@intel.com>
Jeff Guo [Fri, 13 Apr 2018 08:30:38 +0000 (16:30 +0800)]
eal: add device event monitor framework
This patch aims to add a general device event monitor framework at
EAL device layer, for device hotplug awareness and actions adopted
accordingly. It could also expand for all other types of device event
monitor, but not in this scope at the stage.
To get started, users firstly call below new added APIs to enable/disable
the device event monitor mechanism:
- rte_dev_event_monitor_start
- rte_dev_event_monitor_stop
Then users shell register or unregister callbacks through the new added
APIs. Callbacks can be some device specific, or for all devices.
-rte_dev_event_callback_register
-rte_dev_event_callback_unregister
Use hotplug case for example, when device hotplug insertion or hotplug
removal, we will get notified from kernel, then call user's callbacks
accordingly to handle it, such as detach or attach the device from the
bus, and could benefit further fail-safe or live-migration.
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Reviewed-by: Jianfeng Tan <jianfeng.tan@intel.com>
Jeff Guo [Fri, 13 Apr 2018 08:30:37 +0000 (16:30 +0800)]
eal: add device event handle in interrupt thread
Add new interrupt handle type of RTE_INTR_HANDLE_DEV_EVENT, for
device event interrupt monitor.
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Reviewed-by: Jianfeng Tan <jianfeng.tan@intel.com>
Anatoly Burakov [Tue, 10 Apr 2018 10:23:30 +0000 (11:23 +0100)]
vfio: fix device hotplug when several devices per group
We only need to perform DMA mapping for first device in first group.
At the time of mapping, we haven't yet added the device into the group,
so the count is expected to be zero.
Fixes:
810bfa64c673 ("vfio: fix index for tracking devices in a group")
Fixes:
a9c349e3a100 ("vfio: fix device unplug when several devices per group")
Fixes:
94c0776b1bad ("vfio: support hotplug")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Hemant Agrawal [Thu, 12 Apr 2018 06:23:37 +0000 (11:53 +0530)]
vfio: export some internal functions
This patch moves some of the internal vfio functions from
eal_vfio.h to rte_vfio.h for common uses with "rte_" prefix.
This patch also change the FSLMC bus usages from the internal
VFIO functions to external ones with "rte_" prefix
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Hemant Agrawal [Thu, 12 Apr 2018 06:23:36 +0000 (11:53 +0530)]
doc: add VFIO API in doxygen
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Neil Horman [Thu, 12 Apr 2018 11:16:40 +0000 (07:16 -0400)]
mem: set fd to -1 for anonymous mmap
https://dpdk.org/tracker/show_bug.cgi?id=18
Indicated that several mmap call sites in the [linux|bsd]app eal code
set fd that was not -1 in their calls while using MAP_ANONYMOUS. While
probably not a huge deal, the man page does say the fd should be -1 for
portability, as some implementations don't ignore fd as they should for
MAP_ANONYMOUS.
Suggested-by: Solal Pirelli <solal.pirelli@gmail.com>
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Nipun Gupta [Mon, 9 Apr 2018 10:22:51 +0000 (15:52 +0530)]
bus/fslmc: configure separate portal for Ethernet Rx
In case of Receive from Ethernet we add a new pull request (prefetch)
but do not fetch the results from that pull request until next
dequeue operation. This keeps the portal in busy mode.
This patch updates the portals bifurcation to have separate portals
to receive packets for Ethernet and all other devices to use a
common portal.
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>