Didier Pallard [Wed, 28 Mar 2018 15:43:44 +0000 (17:43 +0200)]
net/vmxnet3: gather offload data on first and last segment
Offloads are split between first and last segment of a packet.
Call a single vmxnet3_rx_offload function that will contain all
offload operations. This patch does not introduce any code modification.
Pass a vmxnet3_hw as parameter to the function, it is not presently
used in this patch, but will be later used for TSO offloads.
Signed-off-by: Didier Pallard <didier.pallard@6wind.com>
Acked-by: Yong Wang <yongwang@vmware.com>
Didier Pallard [Wed, 28 Mar 2018 15:43:43 +0000 (17:43 +0200)]
net/vmxnet3: return unknown IPv4 extension len ptype
Rather than parsing IP header to get proper ptype to return, just return
RTE_PTYPE_L3_IPV4_EXT_UNKNOWN, that tells application that we have an IP
packet with unknown header length.
Signed-off-by: Didier Pallard <didier.pallard@6wind.com>
Acked-by: Yong Wang <yongwang@vmware.com>
Didier Pallard [Wed, 28 Mar 2018 15:43:42 +0000 (17:43 +0200)]
net: export IPv6 header extensions skip function
skip_ip6_ext function can be exported as a helper, it may be used
by some PMD to skip IPv6 header extensions.
Signed-off-by: Didier Pallard <didier.pallard@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Yong Wang <yongwang@vmware.com>
Nélio Laranjeiro [Tue, 17 Apr 2018 09:01:36 +0000 (11:01 +0200)]
net/mlx5: fix flow director mask
During the transition to resurrect flow director on top of rte_flow, mask
handling was removed by mistake.
Fixes:
4c3e9bcdd52e ("net/mlx5: support flow director")
Cc: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Nélio Laranjeiro [Tue, 17 Apr 2018 09:01:35 +0000 (11:01 +0200)]
net/mlx5: split L3/L4 in flow director
This will help to bring back the mask handler which was removed when this
feature was rewritten on top of rte_flow.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Xueming Li [Fri, 13 Apr 2018 15:00:36 +0000 (23:00 +0800)]
net/mlx5: fix invalid flow item check
This patch fixed invalid flow item check.
Fixes:
a6d83b6a9209 ("net/mlx5: standardize on negative errno values")
Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Yongseok Koh [Tue, 17 Apr 2018 18:39:14 +0000 (11:39 -0700)]
net/mlx4: fix alignment of memory region
The memory region is [start, end), so if the memseg of 'end' isn't
allocated yet, the returned memseg will have zero entries and this will
make 'end' zero (nil).
Fixes:
c2fe5823224a ("net/mlx4: use virt2memseg instead of iteration")
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Yongseok Koh [Tue, 17 Apr 2018 18:39:13 +0000 (11:39 -0700)]
net/mlx5: fix alignment of memory region
The memory region is [start, end), so if the memseg of 'end' isn't
allocated yet, the returned memseg will have zero entries and this will
make 'end' zero (nil).
Fixes:
718e35999c96 ("net/mlx5: use virt2memseg instead of iteration")
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Ajit Khaparde [Fri, 20 Apr 2018 14:22:02 +0000 (07:22 -0700)]
net/bnxt: fix mbuf data offset initialization
Initialize mbuf->data_off to RTE_PKTMBUF_HEADROOM after allocation.
Without this, it might be possible that the DMA address provided
to the HW may not be in sync to what is indicated to the application
in bnxt_rx_pkt.
Fixes:
2eb53b134aae ("net/bnxt: add initial Rx code")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Fri, 20 Apr 2018 14:22:01 +0000 (07:22 -0700)]
net/bnxt: avoid invalid vnic id in set L2 Rx mask
In some cases bnxt_hwrm_cfa_l2_set_rx_mask is being called before
VNICs are allocated. The FW returns an error in such cases.
Move bnxt_init_nic to bnxt_dev_init such that the ids are initialized
to an invalid id.
Prevent sending the command to the FW only with a valid vnic id.
Fixes:
244bc98b0da7 ("net/bnxt: set L2 Rx mask")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Fri, 20 Apr 2018 14:22:00 +0000 (07:22 -0700)]
net/bnxt: cache address of doorbell to subsequent access
While creating TX, Rx, CQ rings use cached DB address instead of
getting it from the PCI memory resource.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Chas Williams [Sun, 18 Mar 2018 01:45:52 +0000 (21:45 -0400)]
net/vmxnet3: keep link state consistent
The vmxnet3 never attempts link speed negotiation. As a virtual device
the link speed is vague at best. However, it is important for certain
applications, like bonding, to see a consistent link_status. 802.3ad
requires that only links of the same cost (link speed) be enslaved.
Keeping the link status consistent in vmxnet3 avoids races with bonding
enslavement.
Fixes:
1e3a958f40b3 ("ethdev: fix link autonegotiation value")
Cc: stable@dpdk.org
Signed-off-by: Chas Williams <chas3@att.com>
Acked-by: Yong Wang <yongwang@vmware.com>
Ferruh Yigit [Tue, 17 Apr 2018 11:30:35 +0000 (12:30 +0100)]
drivers/net: update link status
Update link status related feature document items and minor updates in
some link status related functions.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Junjie Chen [Thu, 12 Apr 2018 16:43:07 +0000 (12:43 -0400)]
net/vhost: update license to SPDX format
Update license to SPDX, also add Intel license.
Signed-off-by: Junjie Chen <junjie.j.chen@intel.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Takanari Hayama <taki@igel.co.jp>
Shraddha Joshi [Thu, 19 Apr 2018 18:19:01 +0000 (11:19 -0700)]
net/vmxnet3: increase Rx data ring descriptor size
Vmxnet3 driver supports receive data ring viz. a set of small sized
buffers that are always mapped by the emulation. If a packet fits into
the receive data ring buffer, the emulation delivers the packet via the
receive data ring.
Increasing the receive data ring descriptor size from 128 to 256
showed performance gains as high as 5% for packets smaller than 256.
Signed-off-by: Shraddha Joshi <jshraddha@vmware.com>
Acked-by: Jin Heo <heoj@vmware.com>
Acked-by: Guolin Yang <gyang@vmware.com>
Acked-by: Boon Ang <bang@vmware.com>
Acked-by: Yong Wang <yongwang@vmware.com>
Rasesh Mody [Wed, 18 Apr 2018 20:15:09 +0000 (13:15 -0700)]
net/bnx2x: make init and driver logtype names consistent
Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
Rasesh Mody [Wed, 18 Apr 2018 20:15:08 +0000 (13:15 -0700)]
net/bnx2x: fix for PCI FLR after ungraceful exit
This patch provides a fix for PCI function level reset after an
ungraceful exit from an application. The fix is to enable internal
target read as part of device attach before getting device information
from device config space, device itself and shared memory. In addition
to that, add a 200ms delay for the recovery flow to complete.
Fixes:
540a211084a7 ("bnx2x: driver core")
Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
Tomasz Duszynski [Thu, 19 Apr 2018 10:48:01 +0000 (12:48 +0200)]
net/mvpp2: update maintainers
Jacek will no longer be maintaining mvpp2 net PMD.
Special thanks to him for his development and support.
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
Adrien Mazarguil [Thu, 19 Apr 2018 10:07:45 +0000 (12:07 +0200)]
ethdev: fix missing include in flow API
Fixes:
b1a4b4cbc0a8 ("ethdev: introduce generic flow API")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Adrien Mazarguil [Thu, 19 Apr 2018 10:07:44 +0000 (12:07 +0200)]
ethdev: fix shallow copy of flow API RSS action
The rss_conf field is defined as a pointer to struct rte_eth_rss_conf.
Even assuming it is permanently allocated and a pointer copy is safe,
pointed data may change and not reflect an applied flow rule anymore.
This patch aligns with testpmd by making a deep copy instead.
Fixes:
18da437b5f63 ("ethdev: add flow rule copy function")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Adrien Mazarguil [Thu, 19 Apr 2018 10:07:42 +0000 (12:07 +0200)]
app/testpmd: fix missing boolean values in flow command
Original implementation lacks the on/off toggle.
This patch shows up as a fix because it has been a popular request ever
since the first DPDK release with the original implementation but was never
addressed.
Fixes:
abc3d81aca1b ("app/testpmd: add item raw to flow command")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Adrien Mazarguil [Thu, 19 Apr 2018 10:07:40 +0000 (12:07 +0200)]
app/testpmd: fix missing RSS fields in flow action
Users cannot override the default RSS settings when entering a RSS action,
only a list of queues can be provided.
This patch enables them to set a RSS hash key and types for a flow rule.
Fixes:
05d34c6e9d2c ("app/testpmd: add queue actions to flow command")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Adrien Mazarguil [Thu, 19 Apr 2018 10:07:37 +0000 (12:07 +0200)]
app/testpmd: fix RSS flow action configuration
Except for a list of queues, RSS configuration (hash key and fields) cannot
be specified from the flow command line and testpmd does not provide safe
defaults either.
In order to validate their implementation with testpmd, PMDs had to
interpret its NULL RSS configuration parameters somehow, however this has
never been valid to begin with.
This patch makes testpmd always provide default values.
The list of RSS types to use is exclusively taken from the global "rss_hf"
variable, itself configured through the "port config all rss" command or
--rss-ip/--rss-udp command-line options.
Fixes:
05d34c6e9d2c ("app/testpmd: add queue actions to flow command")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Adrien Mazarguil [Thu, 19 Apr 2018 10:07:35 +0000 (12:07 +0200)]
app/testpmd: fix lack of flow action configuration
Configuration structure is not optional with flow rule actions that expect
one; this pointer is not supposed to be NULL and PMDs should not have to
verify it.
Like pattern item spec/last/mask fields, it is currently set when at least
one configuration parameter is provided on the command line. This patch
sets it as soon as an action is created instead.
Fixes:
7a91969ad35e ("app/testpmd: add various actions to flow command")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Adrien Mazarguil [Thu, 19 Apr 2018 10:07:33 +0000 (12:07 +0200)]
app/testpmd: fix flow completion for RSS queues
The lack of a working completion for RSS queues was overlooked during
development; until now only "end" was displayed as a valid token.
Fixes:
05d34c6e9d2c ("app/testpmd: add queue actions to flow command")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Adrien Mazarguil [Thu, 19 Apr 2018 10:07:31 +0000 (12:07 +0200)]
net/bnxt: fix matching of flow API item masks
Some values are interpreted without endian conversion and/or without
taking the proper mask into account.
Fixes:
5ef3b79fdfe6 ("net/bnxt: support flow filter ops")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Adrien Mazarguil [Thu, 19 Apr 2018 10:07:29 +0000 (12:07 +0200)]
net/mlx5: fix RSS flow action bounds check
The number of queues provided by the application is not checked against
parser's supported maximum.
Fixes:
3d821d6fea40 ("net/mlx5: support RSS action flow rule")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Adrien Mazarguil [Thu, 19 Apr 2018 10:07:27 +0000 (12:07 +0200)]
net/mlx4: fix ignored RSS hash types
When an unsupported hash type is part of a RSS configuration structure, it
is silently ignored instead of triggering an error. This may lead
applications to assume that such types are accepted, while they are in fact
not part of the resulting flow rules.
Fixes:
078b8b452e6b ("net/mlx4: add RSS flow rule action support")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Adrien Mazarguil [Thu, 19 Apr 2018 10:07:25 +0000 (12:07 +0200)]
net/mlx4: fix RSS resource leak in case of error
When memory cannot be allocated for a flow rule, its RSS context reference
is not dropped.
Fixes:
078b8b452e6b ("net/mlx4: add RSS flow rule action support")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Pablo de Lara [Tue, 17 Apr 2018 13:39:04 +0000 (14:39 +0100)]
net/ixgbe: enable vector PMD for icc 32 bits
IXGBE vector PMD was re-enabled for 32 bits, but only for gcc.
This commit enables it for icc too.
Fixes:
e6672d2f0f88 ("net/ixgbe: enable ixgbe vector PMD for i686")
Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Pavan Nikhilesh [Tue, 17 Apr 2018 20:04:58 +0000 (01:34 +0530)]
net/axgbe: fix incorrect cache alignment macro
Due to missing ____cacheline_aligned definition compiler treats it as a
global variable replace it with proper cache alignment macro.
Fixes:
9e890103267e ("net/axgbe: add Rx/Tx setup")
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
John Daley [Wed, 18 Apr 2018 00:00:20 +0000 (17:00 -0700)]
net/enic: fix uninitialized variable
A local variable was used without initialization and triggered a
coverity issue.
Is is fixed here, but there is no ill effect of not initializing
the variable in this case. 'rxq_interrupt_offset' is irrelevant
if 'rxq_interrupt_enable' is not set (the condition caught by
coverity).
Coverity issue: 268314
Fixes:
fc2c8c0668fd ("net/enic: use Tx completion index instead of messages")
Cc: stable@dpdk.org
Signed-off-by: John Daley <johndale@cisco.com>
Reviewed-by: Hyong Youb Kim <hyonkim@cisco.com>
Nitin Saxena [Mon, 16 Apr 2018 10:44:47 +0000 (10:44 +0000)]
net/thunderx: fix MTU configuration for jumbo packets
thunderx pmd driver passes dev_info.max_rx_pktlen as
9200 (via rte_eth_dev_info_get()) to application.
But, when application tries to set MTU as
(9200 - sizeof(ethernet_header_t)) the operation fails
because of missing CRC and VLAN additions.
This patch fixes the following for thunderx pmd driver:
- Sets NIC_HW_MAX_FRS to 9216 (instead of 9200)
- Sets NIC_HW_MAX_MTU to 9190 (NIC_HW_MAX_FRS - ETH_HLEN
- ETHER_CRC_LEN - 2*VLAN_HLEN)
- Sets dev_info->max_rx_pkt_len to NIC_HW_MAX_MTU +
ETH_HLEN (instead of 9200)
- Allows rte_eth_dev_set_mtu() to pass if application
(like VPP) calls rte_eth_dev_set_mtu() before
rte_eth_dev_start() by putting appropriate check for
dev->data->dev_started
Fixes:
65d9804edc05 ("net/thunderx: support MTU configuration")
Cc: stable@dpdk.org
Signed-off-by: Nitin Saxena <nitin.saxena@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Wei Dai [Mon, 16 Apr 2018 08:14:25 +0000 (16:14 +0800)]
net/ixgbe: fix segfault in configuring VF VLAN strip
This patch fixes a segment fault in ixgbevf_vlan_offload_set( )
when a Rx queue with index < max_rx_queues is not setup.
For such queue, rxq = dev->data->rx_queues[i] is null pointer.
Fixes:
860a94d3c692 ("net/ixgbe: support VLAN strip per queue offloading in VF")
Signed-off-by: Wei Dai <wei.dai@intel.com>
Tested-by: Xueqin Lin <xueqin.lin@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Wei Dai [Tue, 17 Apr 2018 07:43:50 +0000 (15:43 +0800)]
net/ixgbe: fix missing support of multi-segs offloading
This patch adds missing supported Tx multi-segs offloading.
Fixes:
51215925a32f ("net/ixgbe: convert to new Tx offloads API")
Cc: stable@dpdk.org
Signed-off-by: Wei Dai <wei.dai@intel.com>
Tested-by: Lei Yao <lei.a.yao@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Helin Zhang [Mon, 16 Apr 2018 07:30:05 +0000 (03:30 -0400)]
net/ixgbe: add access and locking APIs for MDIO
Add ixgbe MDIO lock/unlock and access APIs to read and write registers
using specific device address. This provides MDIO access to any devices
that are not associated with the autoprobed PHY.Export these APIs via
the map file
Signed-off-by: Shweta Choudaha <shweta.choudaha@att.com>
Reviewed-by: Chas Williams <chas3@att.com>
Reviewed-by: Luca Boccassi <bluca@debian.org>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Somnath Kotur [Tue, 17 Apr 2018 01:11:26 +0000 (18:11 -0700)]
net/bnxt: add device ID for Stratus VF
Fixes:
1cd45aeb3270 ("net/bnxt: support Stratus VF device")
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Ajit Khaparde [Tue, 17 Apr 2018 01:11:25 +0000 (18:11 -0700)]
net/bnxt: avoid freeing memzone multiple times
Since we are storing the mem_zone address for each ring created,
we are freeing the same address multiple times.
For example the memory zone created for Rx is being freed during
Rx ring cleanup, AGG ring cleanup and CQ cleanup.
Avoid this by storing the memory zone address in RXQ instead and
free it as a part of queue_release dev_op.
In the same way do the same for TX queues as well.
Fixes:
51c87ebafc7d ("net/bnxt: add Tx queue create/destroy")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 17 Apr 2018 01:11:24 +0000 (18:11 -0700)]
net/bnxt: use UINT64_MAX to initialize filter ids
Use UINT64_MAX to initialize l2, ntuple, em filter_id fields
instead of hardcoded -1;
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 17 Apr 2018 01:11:23 +0000 (18:11 -0700)]
net/bnxt: free memory allocated for VF filters
Memory allocated to hold VF filter info is not being freed currently.
This can cause potential memory leak.
Fixes:
7a5b0874440e ("net/bnxt: support to add a VF MAC address")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 17 Apr 2018 01:11:22 +0000 (18:11 -0700)]
net/bnxt: reset L2 filter id once filter is freed
The fw_l2_filter_id for a ntuple filter is needed only for the lifetime
of the ntuple filter. Once the filter is free, reset the field.
The associated l2_filter will be freed as a part of its own cleanup.
Fixes:
5ef3b79fdfe6 ("net/bnxt: support flow filter ops")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 17 Apr 2018 01:11:21 +0000 (18:11 -0700)]
net/bnxt: maintain mbuf alloc failure counter per queue
Currently we have a single counter for mbuf alloc failure.
Make it per RxQ instead.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 17 Apr 2018 01:11:20 +0000 (18:11 -0700)]
net/bnxt: add code to determine the Tx COS queue
The hwrm_queue_qportcfg command has been extended to determine
the COS queue that a Tx ring needs to use. This patch adds code
to determine the information from the FW and use it while
creating the Tx rings.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 17 Apr 2018 01:11:19 +0000 (18:11 -0700)]
net/bnxt: fix flow destroy
bnxt_hwrm_clear_l2_filter needs to be called only if the filter type
is L2 and not otherwise.
Also check for the return value of bnxt_hwrm_clear_l2_filter().
Fixes:
5ef3b79fdfe6 ("net/bnxt: support flow filter ops")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 17 Apr 2018 01:11:18 +0000 (18:11 -0700)]
net/bnxt: fix L2 filter cleanup
We are wrongly freeing up a filter in the driver while it is still
configured in the HW. This can cause incorrect L2 filter id to be
used for filters created subsequently.
This filter will be cleared on cleanup anyway.
Fixes:
5ef3b79fdfe6 ("net/bnxt: support flow filter ops")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 17 Apr 2018 01:11:17 +0000 (18:11 -0700)]
net/bnxt: fix Rx checksum flags for tunnel frames
Fix Rx checksum status for tunnel frames as seen by hardware.
Current code does not handle cases for tunnel frames correctly.
Fixes:
7ec39d8c524b ("net/bnxt: update status of Rx IP/L4 CKSUM")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 17 Apr 2018 01:11:16 +0000 (18:11 -0700)]
net/bnxt: fix incorrect ntuple flag setting
We are wrongly setting the Rx path flag while creating the ntuple filter.
It needs to be set for L2 or Exact Match filters only.
Fixes:
5ef3b79fdfe6 ("net/bnxt: support flow filter ops")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 17 Apr 2018 01:11:15 +0000 (18:11 -0700)]
net/bnxt: fix endianness of flag
In bnxt_hwrm_vnic_alloc, use rte_cpu_to_le_32 while setting the flags.
Fixes:
2691827e82c0 ("net/bnxt: add HWRM VNIC alloc")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 17 Apr 2018 01:11:14 +0000 (18:11 -0700)]
net/bnxt: set padding flags in Rx descriptor
Set the RX_PROD_PKT_BD_FLAGS_EOP_PAD in Rx buffer descriptors.
Fixes:
2eb53b134aae ("net/bnxt: add initial Rx code")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 17 Apr 2018 01:11:13 +0000 (18:11 -0700)]
net/bnxt: set default log level to informational
Set the default log level to RTE_LOG_INFO from RTE_LOG_NOTICE.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Hyong Youb Kim [Mon, 16 Apr 2018 21:49:10 +0000 (14:49 -0700)]
net/enic: enable overlay offload for VXLAN and GENEVE
Recent NIC models support overlay offload. The overlay offload
feature enables the following on the NIC.
- Rx/Tx checksum offloads for both inner and outer packets.
- Rx inner packet type classification.
- TSO.
- Inner RSS.
TX descriptors do not require any changes, except the header length
for TSO. The NIC parses outer/inner packets and performs offloads on
them as necessary. The header length for tunneled TSO includes both
inner and outer headers.
The NIC actually parses and performs the above for NVGRE as well. DPDK
currently has no offload flags for NVGRE, and the hardware has no
controls to individually enable tunnel types either. So do nothing for
now.
The driver enables overlay offload by default. Add a devargs
'disable-overlay=<0|1>' to allow the app to disable it.
Also update the enic guide doc.
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
Vipin Varghese [Fri, 13 Apr 2018 05:58:47 +0000 (11:28 +0530)]
net/tap: fix protocol field for non-IP
When non IP packets are sent on TUN interface, the logic put Ipv6 as
protocol field in header. With the current patch, the check is modified
for ipv4, ipv6 and non ip.
Fixes:
204d026a3922 ("net/tap: support tun")
Suggested-by: Ophir Munk <ophirmu@mellanox.com>
Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Hemant Agrawal [Mon, 9 Apr 2018 08:58:33 +0000 (14:28 +0530)]
net/vmxnet3: change the SPDX tag style
Cc: skhare@vmware.com
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Yong Wang <yongwang@vmware.com>
Ivan Malov [Tue, 17 Apr 2018 15:18:38 +0000 (16:18 +0100)]
net/sfc: add missing Rx fini on RSS setup fail path
Fixes:
4ec1fc3ba881 ("net/sfc: add basic stubs for RSS support on driver attach")
Cc: stable@dpdk.org
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
David Marchand [Mon, 16 Apr 2018 09:40:17 +0000 (11:40 +0200)]
net/enic: add primary MAC address handler
Modified enic_del_mac_address() to get a return value from the vnic layer.
Reused the .mac_addr_add and .mac_addr_del callbacks code to implement
primary mac address handler.
Signed-off-by: David Marchand <david.marchand@6wind.com>
Acked-by: Hyong Youb Kim <hyonkim@cisco.com>
Alejandro Lucero [Tue, 17 Apr 2018 09:16:53 +0000 (10:16 +0100)]
net/nfp: support MAC address change
This patch allows to use another MAC address than the one coming
with the NIC by default.
The change requires to tell the vNIC after writing into the port
BAR space. The change will fail if the port is enabled and the
vNIC does not support a live address change.
Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
Yangchao Zhou [Tue, 17 Apr 2018 05:59:08 +0000 (13:59 +0800)]
net/nfp: fix possible resource leak
Fixes:
c7e9729da6b5 ("net/nfp: support CPP")
Signed-off-by: Yangchao Zhou <zhouyates@gmail.com>
Acked-by: Alejandro Lucero <alejandro.lucero@netronome.com>
Shahaf Shuler [Tue, 17 Apr 2018 08:33:24 +0000 (11:33 +0300)]
ethdev: remove new to old offloads API helpers
According to
commit
315ee8374e0e ("doc: reduce initial offload API rework scope
to drivers")
All PMDs should have moved to the new offloads API. Therefore it is safe
to remove the new->old convert helps.
The old->new helpers will remain to support application which still use
the old API.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Xiao Wang [Tue, 17 Apr 2018 07:06:24 +0000 (15:06 +0800)]
doc: add ifcvf driver document and release note
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Xiao Wang [Tue, 17 Apr 2018 07:06:23 +0000 (15:06 +0800)]
net/ifcvf: add ifcvf vDPA driver
The IFCVF vDPA (vhost data path acceleration) driver provides support for
the Intel FPGA 100G VF (IFCVF). IFCVF's datapath is virtio ring compatible,
it works as a HW vhost backend which can send/receive packets to/from
virtio directly by DMA.
Different VF devices serve different virtio frontends which are in
different VMs, so each VF needs to have its own DMA address translation
service. During the driver probe a new container is created, with this
container vDPA driver can program DMA remapping table with the VM's memory
region information.
Key vDPA driver ops implemented:
- ifcvf_dev_config:
Enable VF data path with virtio information provided by vhost lib,
including IOMMU programming to enable VF DMA to VM's memory, VFIO
interrupt setup to route HW interrupt to virtio driver, create notify
relay thread to translate virtio driver's kick to a MMIO write onto HW,
HW queues configuration.
- ifcvf_dev_close:
Revoke all the setup in ifcvf_dev_config.
Live migration feature is supported by IFCVF and this driver enables
it. For the dirty page logging, VF helps to log for packet buffer write,
driver helps to make the used ring as dirty when device stops.
Because vDPA driver needs to set up MSI-X vector to interrupt the
guest, only vfio-pci is supported currently.
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Signed-off-by: Rosen Xu <rosen.xu@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Xiao Wang [Tue, 17 Apr 2018 07:06:22 +0000 (15:06 +0800)]
net/virtio: skip device probe in vDPA mode
If we want a virtio device to work in vDPA (vhost data path acceleration)
mode, we could add a "vdpa=1" devarg for this device to specify the mode.
This patch let virtio pmd skip device probe when detecting this parameter.
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Xiao Wang [Tue, 17 Apr 2018 07:06:21 +0000 (15:06 +0800)]
vfio: add multi container support
This patch adds APIs to support container create/destroy and device
bind/unbind with a container. It also provides API for IOMMU programing
on a specified container.
A driver could use "rte_vfio_container_create" helper to create a new
container from eal, use "rte_vfio_container_group_bind" to bind a device
to the newly created container. During rte_vfio_setup_device the container
bound with the device will be used for IOMMU setup.
Signed-off-by: Junjie Chen <junjie.j.chen@intel.com>
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Xiao Wang [Tue, 17 Apr 2018 07:06:20 +0000 (15:06 +0800)]
vfio: extend data structure for multi container
Currently eal vfio framework binds vfio group fd to the default
container fd during rte_vfio_setup_device, while in some cases,
e.g. vDPA (vhost data path acceleration), we want to put vfio group
to a separate container and program IOMMU via this container.
This patch extends the vfio_config structure to contain per-container
user_mem_maps and defines an array of vfio_config. The next patch will
base on this to add container API.
Signed-off-by: Junjie Chen <junjie.j.chen@intel.com>
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Thomas Monjalon [Mon, 16 Apr 2018 10:32:15 +0000 (12:32 +0200)]
drivers/net: remove duplicated includes
Duplicated includes are found with devtools/check-dup-includes.sh
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Gaetan Rivet [Fri, 27 Apr 2018 14:13:06 +0000 (16:13 +0200)]
bus/vdev: fix find device implementation
If start is set and a device before it matches the data,
this device is returned.
This induces potentially infinite loops.
Fixes:
c7fe1eea8a74 ("bus: simplify finding starting point")
Cc: stable@dpdk.org
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Gaetan Rivet [Fri, 27 Apr 2018 14:13:05 +0000 (16:13 +0200)]
bus/pci: fix find device implementation
If start is set, and a device before it matches the data
passed for comparison, then this first device is returned.
This induces potentially infinite loops.
Fixes:
c7fe1eea8a74 ("bus: simplify finding starting point")
Cc: stable@dpdk.org
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Maxime Coquelin [Fri, 27 Apr 2018 09:04:38 +0000 (11:04 +0200)]
vhost/crypto: fix build with gcc 4.7.2
Build error has been reported by Intel build system:
SUSE12SP3_64 / Linux 3.7.10-1 / GCC 4.7.2
lib/librte_vhost/vhost_crypto.c: In function ‘rte_vhost_crypto_set_zero_copy’:
lib/librte_vhost/vhost_crypto.c:1192:2: error:
comparison of unsigned expression < 0 is always false
As enums can be either signed or unsigned, this patch removes
the negative check and cast to unsigned the upper limit check.
Fixes:
939066d96563 ("vhost/crypto: add public function implementation")
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thomas Monjalon [Fri, 27 Apr 2018 01:49:19 +0000 (03:49 +0200)]
eal: fix build on FreeBSD
The auxiliary vector read is implemented only for Linux.
It could be done with procstat_getauxv() for FreeBSD.
Since the commit below, the auxiliary vector functions
are compiled for every architectures, including x86
which is tested with FreeBSD.
This patch is moving the Linux implementation in Linux directory,
and adding a fake/empty implementation for FreeBSD.
Fixes:
2ed9bf330709 ("eal: abstract away the auxiliary vector")
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thomas Monjalon [Fri, 27 Apr 2018 00:54:00 +0000 (02:54 +0200)]
eal: fix build with glibc < 2.16
The fake getauxval function does not use its parameter.
So the compiler raised this error:
lib/librte_eal/common/eal_common_cpuflags.c:25:25: error:
unused parameter 'type'
Fixes:
2ed9bf330709 ("eal: abstract away the auxiliary vector")
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Artem V. Andreev [Thu, 26 Apr 2018 10:59:23 +0000 (11:59 +0100)]
mempool/bucket: do not allow one lcore to grab all buckets
Signed-off-by: Artem V. Andreev <artem.andreev@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Artem V. Andreev [Thu, 26 Apr 2018 10:59:22 +0000 (11:59 +0100)]
mempool/bucket: implement block dequeue operation
Signed-off-by: Artem V. Andreev <artem.andreev@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Artem V. Andreev [Thu, 26 Apr 2018 10:59:21 +0000 (11:59 +0100)]
mempool: support block dequeue operation
If mempool manager supports object blocks (physically and virtual
contiguous set of objects), it is sufficient to get the first
object only and the function allows to avoid filling in of
information about each block member.
Signed-off-by: Artem V. Andreev <artem.andreev@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Artem V. Andreev [Thu, 26 Apr 2018 10:59:20 +0000 (11:59 +0100)]
mempool: implement abstract mempool info API
Primarily, it is intended as a way for the mempool driver to provide
additional information on how it lays up objects inside the mempool.
Signed-off-by: Artem V. Andreev <artem.andreev@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Artem V. Andreev [Thu, 26 Apr 2018 10:59:19 +0000 (11:59 +0100)]
mempool/bucket: implement bucket mempool manager
The manager provides a way to allocate physically and virtually
contiguous set of objects.
Signed-off-by: Artem V. Andreev <artem.andreev@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Thomas Monjalon [Wed, 25 Apr 2018 13:03:39 +0000 (15:03 +0200)]
app/pdump: remove unused socket path options
The options --server-socket-path and --client-socket-path
were said to be deprecated and will be removed soon.
No need to wait for removing application options which have
no effect, and can confuse the user.
Fixes:
660098d61f57 ("pdump: use generic multi-process channel")
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
Andrew Rybchenko [Wed, 25 Apr 2018 17:00:37 +0000 (18:00 +0100)]
test/mempool: fix autotest retry
Single producer / single consumer mempool handle is stored in static
variable and the mempool allocated if stored value is NULL.
If the mempool is freed, NULL should be restored to make sure that
the mempool is allocated once again next time when the test is run.
Fixes:
8ef772aee072 ("app/test: rework mempool test")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Phil Yang [Tue, 6 Feb 2018 02:21:38 +0000 (10:21 +0800)]
test: fix memory flags test for low NUMA nodes number
Since RTE_MAX_NUMA_NODES is configurable, the existing socket number
could greater than RTE_MAX_NUMA_NODES. Optimize test case to cover this
situation.(i.e RTE_MAX_NUMA_NODES=1)
Fixes:
45f1b6e8680a ("app: add new tests on eal flags")
Cc: stable@dpdk.org
Signed-off-by: Phil Yang <phil.yang@arm.com>
Stephen Hemminger [Wed, 25 Apr 2018 23:16:37 +0000 (16:16 -0700)]
bus/fslmc: do not log messages if bus not present
A typical distribution will compile with default config and all
buses enabled. Therefore every driver should be silent and not
log anything for this normal case.
This patch gets rid of these messages when running on basic x86
environment such as bare metal or VM.
fslmc: DPAA2: DPRC not available
fslmc: FSLMC Bus Not Available. Skipping
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Stephen Hemminger [Thu, 26 Apr 2018 00:48:39 +0000 (17:48 -0700)]
eal: shut up warning about master lcore
This message looks suspicious and seen on healthy testpmd.
EAL: WARNING: Master core has no memory on local socket!
The message is wrong: the master lcore is 0 and its socket is 0
and there are multiple available memory segments on socket 0.
At that point in the startup process, the count value is zero,
meaning they are not used yet so the check_socket gets confused.
Fixes:
66cc45e293ed ("mem: replace memseg with memseg lists")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Anatoly Burakov [Thu, 26 Apr 2018 13:42:31 +0000 (14:42 +0100)]
eal: make semantics of lcore role function more intuitive
rte_lcore_has_role() returns 0 if role of lcore matches requested
role. The return value of the API is confusing, and this is a known
problem with a deprecation notice announcing the change to more
intuitive semantics:
Commit
064518f68d48 ("doc: announce EAL API change to lcore role function")
Implement changes announced in the deprecation notice, and remove it.
Also, fix usages of this API to reflect the change. Control thread patches
expected new behavior and were broken before, now they are fixed as well.
Fixes:
d651ee4919cd ("eal: set affinity for control threads")
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Signed-off-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Pavan Nikhilesh [Mon, 23 Apr 2018 13:39:33 +0000 (19:09 +0530)]
event/octeontx: fix snprintf mempool name overflow
Bugzilla-ID: 28
Fixes:
f874c1eb1519 ("event/octeontx: create and free timer adapter")
Reported-by: Harry van Haaren <harry.van.haaren@intel.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Tested-by: Harry van Haaren <harry.van.haaren@intel.com>
Marko Kovacevic [Wed, 25 Apr 2018 13:59:52 +0000 (14:59 +0100)]
doc: fix PDF build
A .svg extension was added instead of .* which caused
the pdf docs to not build this change fixes that.
Fixes:
a5e1231f099b ("net/szedata2: do not affect Ethernet interfaces")
Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com>
Harry van Haaren [Thu, 5 Apr 2018 13:15:46 +0000 (14:15 +0100)]
service: remove experimental tags
This commit removes the experimental tags from the
service cores functions, they now become part of the
main DPDK API/ABI.
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Anatoly Burakov [Wed, 25 Apr 2018 10:08:13 +0000 (11:08 +0100)]
eal/linux: remove useless unlock of hugepage when clearing
Coverity was complaining about not checking result of call to
fcntl() for unlocking the file. Disregarding the fact that error
value returned from fcntl() unlock call is highly unlikely in the
first place, we are subsequently calling close() on that same fd,
which will drop the lock, which makes call to fcntl() unnecessary.
Fix this by removing a call to fcntl() altogether.
Coverity issue: 272607
Fixes:
66cc45e293ed ("mem: replace memseg with memseg lists")
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Stephen Hemminger [Wed, 25 Apr 2018 03:17:50 +0000 (20:17 -0700)]
doc: update preferred log level syntax in guides
Use symbolic names and match rather than numbers and regex
in the guides.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Stephen Hemminger [Wed, 25 Apr 2018 03:17:49 +0000 (20:17 -0700)]
log: add ability to match log type with globbing
Regular expressions are not the best way to match a hierarchical
pattern like dynamic log levels. And the separator for dynamic
log levels is period which is the regex wildcard character.
A better solution is to use filename matching 'globbing' so
that log levels match like file paths. For compatibility,
use colon to separate pattern match style arguments. For
example:
--log-level 'pmd.net.virtio.*:debug'
This also makes the documentation match what really happens
internally.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Stephen Hemminger [Wed, 25 Apr 2018 03:17:48 +0000 (20:17 -0700)]
eal: make log level save private
We don't want format of eal log level saved values to be visible
in ABI. Move to private storage in eal_common_log.
Includes minor optimization. Compile the regular expression for
each log match once, rather than each time it is used.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Stephen Hemminger [Wed, 25 Apr 2018 03:17:47 +0000 (20:17 -0700)]
eal: allow symbolic log levels
Much easeier to remember names than numbers. Allows
--log-level=pmd.net.ixgbe.*,debug
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Stephen Hemminger [Wed, 25 Apr 2018 03:17:46 +0000 (20:17 -0700)]
eal: make syslog facility table const
The mapping for facility name to value can be const.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Aaron Conole [Mon, 2 Apr 2018 18:24:34 +0000 (14:24 -0400)]
eal: abstract away the auxiliary vector
Rather than attempting to load the contents of the auxv directly,
prefer to use an exposed API - and if that doesn't exist then attempt
to load the vector. This is because on some systems, when a user
is downgraded, the /proc/self/auxv file retains the old ownership
and permissions. The original method of /proc/self/auxv is retained.
This also removes a potential abort() in the code when compiled with
NDEBUG. A quick parse of the code shows that many (if not all) of
the CPU flag parsing isn't used internally, so it should be okay.
Signed-off-by: Aaron Conole <aconole@redhat.com>
Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
Gaetan Rivet [Tue, 24 Apr 2018 11:28:53 +0000 (13:28 +0200)]
eal: add last init priority
Add the priority RTE_PRIORITY_LAST, used for initialization routines
meant to be run after all other constructors.
This priority becomes the default priority for all DPDK constructors.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Gaetan Rivet [Tue, 24 Apr 2018 11:28:52 +0000 (13:28 +0200)]
eal: list acceptable init priorities
Build a central list to quickly see each used priorities for
constructors, allowing to verify that they are both above 100 and in the
proper order.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Gaetan Rivet [Mon, 23 Apr 2018 23:54:52 +0000 (01:54 +0200)]
devargs: rename legacy API
The previous symbols were deprecated for two releases.
They are now marked as such and cannot be used anymore.
They are replaced by ones respecting the new namespace that are marked
experimental.
As a result, eth_dev attach and detach are slightly reworked to follow
the changes.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Gaetan Rivet [Mon, 23 Apr 2018 23:54:51 +0000 (01:54 +0200)]
devargs: use proper namespace prefix
rte_eal_devargs is useless, rte_devargs is sufficient.
Only experimental functions are changed for now.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Gaetan Rivet [Mon, 23 Apr 2018 23:54:50 +0000 (01:54 +0200)]
devargs: update syntax documentation
Device syntax documentation is out of date.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Gaetan Rivet [Mon, 23 Apr 2018 23:54:49 +0000 (01:54 +0200)]
devargs: make parsing variadic
rte_eal_devargs_parse can be used by EAL subsystems, drivers,
applications alike.
Device parameters may be presented with different structure each time;
as a single declaration string or several strings each describing
different parts of the declaration.
To simplify the use of this parsing facility, its parameters are made
variadic.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Gaetan Rivet [Mon, 23 Apr 2018 23:54:48 +0000 (01:54 +0200)]
devargs: make devargs list private
Initially, rte_devargs was meant to be populated once and sometimes
accessed, then never emptied.
With the new hotplug functionality having better standing, new usage
appeared with repeated addition of devices and their subsequent removal.
Exposing devargs_list pushed bus drivers and libraries to be careless
and inconsistent in their memory management. Making it private will
allow to rationalize this part of the EAL and ensure that fewer memory
leaks occur during operations.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Gaetan Rivet [Mon, 23 Apr 2018 23:54:47 +0000 (01:54 +0200)]
test: remove devargs unit tests
The current test will not be compatible anymore with a private
devargs list.
Moreover, the new functions should have new tests, while the existing
API will be removed.
The current unit tests are thus obsolete and hereby removed.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Gaetan Rivet [Mon, 23 Apr 2018 23:54:46 +0000 (01:54 +0200)]
net/vdev_netvsc: do not reference devargs list
This list should not be used by drivers.
Use the public API instead.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Gaetan Rivet [Mon, 23 Apr 2018 23:54:45 +0000 (01:54 +0200)]
bus/pci: do not reference devargs list
This list should not be used by drivers.
Use the public API instead.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>