Kevin Traynor [Thu, 23 Mar 2017 15:44:58 +0000 (15:44 +0000)]
vhost: fix false sharing
The broadcast_rarp field in the virtio_net struct is checked in the
dequeue datapath regardless of whether descriptors are available or not.
As it is checked with cmpset leading to a write, false sharing on the
virtio_net struct can happen between enqueue and dequeue datapaths
regardless of whether a RARP is requested. In OVS, the issue can cause
a uni-directional performance drop of up to 15%.
Fix that by only performing the cmpset if a read of broadcast_rarp
indicates that the cmpset is likely to succeed.
Fixes:
a66bcad32240 ("vhost: arrange struct fields for better cache sharing")
Cc: stable@dpdk.org
Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Yong Wang [Wed, 8 Mar 2017 07:45:53 +0000 (02:45 -0500)]
doc: fix parameter of virtio-user for container
Update the "Virtio_user for Container Networking" doc, add the
"--file-prefix" option to testpmd in host and container to avoid
hugepage config file conflict.
Fixes:
50665deebda0 ("doc: add guide to use virtio-user for container networking")
Cc: stable@dpdk.org
Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Maxime Coquelin [Sun, 12 Mar 2017 16:34:06 +0000 (17:34 +0100)]
app/testpmd: print MTU in port info
This patch adds MTU display to "show port info" command.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Maxime Coquelin [Sun, 12 Mar 2017 16:34:04 +0000 (17:34 +0100)]
net/virtio: support MTU feature
This patch implements support for the Virtio MTU feature.
When negotiated, the host shares its maximum supported MTU,
which is used as initial MTU and as maximum MTU the application
can set.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Maxime Coquelin [Sun, 12 Mar 2017 16:34:03 +0000 (17:34 +0100)]
net/vhost: set MTU
This patch adds a call to rte_vhost_mtu_get() at device creation
time to fill device's MTU property when available.
This makes the MTU value defined in QEMU cmdline accessible to the
application by calling rte_eth_dev_get_mtu().
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Maxime Coquelin [Sun, 12 Mar 2017 16:34:01 +0000 (17:34 +0100)]
vhost: add API to get MTU value
This patch implements the function for the application to
get the MTU value.
rte_vhost_get_mtu() fills the mtu parameter with the MTU value
set in QEMU if VIRTIO_NET_F_MTU has been negotiated and returns 0,
-ENOTSUP otherwise.
The function returns -EAGAIN if Virtio feature negotiation
didn't happened yet.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Maxime Coquelin [Sun, 12 Mar 2017 16:34:00 +0000 (17:34 +0100)]
vhost: add new ready status flag
This patch adds a new status flag indicating the Virtio device
is ready to operate.
This is required to be able to call rte_vhost_mtu_get() in the
.new_device() callback, as rte_vhost_mtu_get needs that the
negotiation is done, but it is too early to rely on running status
flag, which is set just after .new_device() returns.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Maxime Coquelin [Sun, 12 Mar 2017 16:33:59 +0000 (17:33 +0100)]
vhost: support MTU protocol feature
This patch implements the vhost-user MTU protocol feature support.
When VIRTIO_NET_F_MTU is negotiated, QEMU notifies the vhost-user
backend with the configured MTU if dedicated protocol feature is
supported.
The value can be used by the application to ensure consistency with
value set by the user.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Maxime Coquelin [Sun, 12 Mar 2017 16:33:58 +0000 (17:33 +0100)]
vhost: enable virtio MTU feature
This patch enables the new VIRTIO_NET_F_MTU feature,
which makes possible for the host to advise the guest
with its maximum supported MTU.
MTU value is set via QEMU parameters, either via Libvirt XML, or
directly in virtio-net device command line arguments.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Yuanhan Liu [Thu, 2 Mar 2017 06:16:07 +0000 (14:16 +0800)]
vhost: remove a hack on queue allocation
We used to allocate queues based on the index from SET_VRING_CALL
request: if corresponding queue hasn't been allocated, allocate it.
Though it's pratically right (it's the first per-vring request we
will get from QEMU for vhost-user negotiation), but it's not technically
right: it's not documented in the vhost-user spec that it will always
be the first per-vring request. For example, SET_VRING_ADDR could also
be the first per-vring request.
Thus, we should not depend the SET_VRING_CALL on queue allocation.
Instead, we could catch all the per-vring messages at the entrance of
request handler, and allocate one if it hasn't been allocated before.
By that, we could remove a hack.
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Yuanhan Liu [Wed, 1 Mar 2017 10:41:59 +0000 (18:41 +0800)]
vhost: fix max queues
0x8000 is the max virito-net queue pairs the virtio 1.0 spec claims to
support. While for vhost-user, it's a different story: the max vring
index could be passed by the vhost-user spec is 0xff, masked by the
VHOST_USER_VRING_IDX_MASK.
That said, the max queue pairs could vhost-user could supported is 0x80.
If user are asking more, I think the vhost-user need be extended.
Fixes:
b09b198bfb5c ("vhost-user: announce queue number in message")
Cc: stable@dpdk.org
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Yuanhan Liu [Wed, 1 Mar 2017 10:41:58 +0000 (18:41 +0800)]
vhost: fix multiple queue not enabled for old kernels
Some macros (say VIRTIO_NET_F_MQ) are needed for enabling multiple queue,
however they are introduced since kernel v3.8, meaning build error happens
if we build DPDK vhost on those platforms.
71dfdbe66a66 ("vhost: fix build with kernel < 3.8") meant to fix it, but
in a wrong way: it completely disables the MQ features for those kernels.
However, the MQ feature doesn't depend on the kernel at all (except the
macros dependency stated above), that we could still enable the MQ feature
even the host kernel has no such support.
The right fix is to define the macro if it's not defined.
Fixes:
71dfdbe66a66 ("vhost: fix build with kernel < 3.8")
Cc: stable@dpdk.org
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Matt Peters [Thu, 9 Mar 2017 20:28:02 +0000 (15:28 -0500)]
net/virtio: disable LSC interrupt if MSIX not enabled
The link state change interrupt can only be configured if the virtio device
supports MSIX. Prior to this change the writing of the vector to the PCI
config space was causing it to overwrite the initial part of the MAC
address since the MSIX vector is not in the config space and is occupied by
the MAC address.
This has been reproduced in Virtual Box (v5.0.30.r112061) in Windows 7.
Fixes:
954ea11540b6 ("virtio: do not report link state feature unless available")
Cc: stable@dpdk.org
Signed-off-by: Matt Peters <matt.peters@windriver.com>
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Wenfeng Liu [Tue, 14 Mar 2017 10:09:56 +0000 (10:09 +0000)]
net/virtio-user: fix overflow
virtio-user limits the qeueue number to 8 but provides no limit
check against the queue number input from user. If a bigger queue
number (> 8) is given, there is an overflow issue. Doing a sanity
check could avoid it.
Fixes:
37a7eb2ae816 ("net/virtio-user: add device emulation layer")
Cc: stable@dpdk.org
Signed-off-by: Wenfeng Liu <liuwf@arraynetworks.com.cn>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Wenfeng Liu [Mon, 13 Mar 2017 09:33:21 +0000 (09:33 +0000)]
net/virtio-user: fix tapfds close
The valid tap file descriptor range should be equal or greater
than zero instead of non-zero
Fixes:
e3b434818bbb ("net/virtio-user: support kernel vhost")
Cc: stable@dpdk.org
Signed-off-by: Wenfeng Liu <liuwf@arraynetworks.com.cn>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Ilya Maximets [Thu, 2 Mar 2017 09:39:34 +0000 (12:39 +0300)]
vhost: change log levels in client mode
Inability to connect to socket is a normal situation
in client mode because, in common case, server isn't
started yet. RTE_LOG_WARNING should be suitable for
the case of some unusual errors.
Message about reconnection is not an error at all.
Fixes:
e623e0c6d8a5 ("vhost: add reconnect ability")
Cc: stable@dpdk.org
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Rami Rosen [Mon, 27 Feb 2017 04:54:11 +0000 (23:54 -0500)]
net/vhost: remove include of numaif.h
This patch revmoves include of the numaif.h header from rte_eth_vhost.c.
Commit
586e39001317 ("vhost: export numa node") moved the invocation of
get_mempolicy() from rte_eth_vhost.c to librte_vhost. So there is no need
to include the numaif.h header anymore in rte_eth_vhost.c.
Signed-off-by: Rami Rosen <rami.rosen@intel.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Zhiyong Yang [Thu, 23 Feb 2017 07:11:42 +0000 (15:11 +0800)]
net/virtio: remove the redundant computing
The minor change aims to remove the redundant computing and make
it easier to understand the code.
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Matthias Gatto [Tue, 21 Feb 2017 14:25:30 +0000 (15:25 +0100)]
vhost: try to shrink pfdset when fdset_add fails
fdset_add increments pfdset->num, but fdset_del doesn't decrement
pfdset->num, so if we call fdset_add then fdset_del in a loop without
calling fdset_shrink, we can easily exceed MAX_FDS with only a few
number of fds used.
So my solution is simply to call fdset_shrink in fdset_add when it
exceeds MAX_FDS.
Because fdset_shrink and fdset_add locks pfdset->fd_mutex we can't
call fdset_shrink inside fdset_add because that would cause a dead
lock, so this patch split fdset_shrink in two, fdset_shrink and
fdset_shrink_nolock.
Fixes:
59317cef249c ("vhost: allow many vhost-user ports")
Cc: stable@dpdk.org
Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
Andy Moreton [Tue, 4 Apr 2017 12:13:27 +0000 (13:13 +0100)]
net/sfc/base: fix out of bounds read in VIs allocation
Coverity issue:
1349662
Fixes:
e7cd430c864f ("net/sfc/base: import SFN7xxx family support")
Cc: stable@dpdk.org
Signed-off-by: Andy Moreton <amoreton@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andy Moreton [Tue, 4 Apr 2017 12:13:26 +0000 (13:13 +0100)]
net/sfc/base: fix potential buffer overflow in Tx queue init
Improve error checking to avoid a caller overflowing the MCDI
request buffer if the requested TXQ size was excessively large.
Coverity issue:
1305527
Fixes:
e7cd430c864f ("net/sfc/base: import SFN7xxx family support")
CC: stable@dpdk.org
Signed-off-by: Andy Moreton <amoreton@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andy Moreton [Tue, 4 Apr 2017 12:13:25 +0000 (13:13 +0100)]
net/sfc/base: fix failure path in EF10 Tx queue PIO enable
Coverity issue:
1387551
Fixes:
e7cd430c864f ("net/sfc/base: import SFN7xxx family support")
Cc: stable@dpdk.org
Signed-off-by: Andy Moreton <amoreton@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Bernard Iremonger [Sat, 1 Apr 2017 01:18:19 +0000 (09:18 +0800)]
app/testpmd: add CLI to set TC min bandwidth
Add a CLI in testpmd to test the TC min bandwidth
setting.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Bernard Iremonger [Sat, 1 Apr 2017 01:18:18 +0000 (09:18 +0800)]
net/ixgbe: allocate TC bandwidth
Ixgbe supports to set the relative bandwidth for the TCs.
It's a global setting for the PF and all the VFs of a
physical port.
This feature provide the API to set the bandwidth.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Andriy Berestovskyy [Fri, 31 Mar 2017 13:57:49 +0000 (15:57 +0200)]
net/thunderx: wait to complete during link update
Some DPDK applications/examples check link status on their
start. NICVF does not wait for the link, so those apps fail.
Wait up to 9 seconds for the link as other PMDs do in order
to fix those apps/examples.
Signed-off-by: Andriy Berestovskyy <andriy.berestovskyy@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Wenzhuo Lu [Sat, 1 Apr 2017 06:15:57 +0000 (14:15 +0800)]
net/i40e: fix VLAN promisc setting
After adding VLAN filter, the VLAN promiscuous mode is
disabled. But there's no chance to enable it.
So add the check after deleting VLAN filter. If there's
no VLAN filter left, enable the VLAN promiscuous mode.
Fixes:
9f0645cd147c ("net/i40e: fix VLAN filter")
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Pascal Mazon [Fri, 31 Mar 2017 13:54:11 +0000 (15:54 +0200)]
net/tap: fix redirection rule after MAC change
This is necessary to ensure packets with the new MAC address as
destination get redirected to the tap device.
Also change the MAC address only if the current one is different from
the requested one.
Fixes:
2bc06869cd94 ("net/tap: add remote netdevice traffic capture")
Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Pascal Mazon [Fri, 31 Mar 2017 13:54:10 +0000 (15:54 +0200)]
net/tap: fix null MAC address at init
Immediately after init (probing), the device MAC address is all zeroes.
It should be possible to get a correct MAC address as soon as that,
without need for a dev_configure().
With this patch, a MAC address is set in eth_dev_tap_create()
explicitly. It either comes from the remote if any was configured, or is
randomly generated. In any case, the device MAC address is guaranteed to
be the correct one when the tap netdevice actually gets created in
tun_alloc().
Fixes:
f76d46b4ff08 ("net/tap: add MAC address management")
Fixes:
2bc06869cd94 ("net/tap: add remote netdevice traffic capture")
Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Pascal Mazon [Fri, 31 Mar 2017 13:54:09 +0000 (15:54 +0200)]
net/tap: update netlink error code management
Some errors received from the kernel are acceptable, such as a -ENOENT
for a rule deletion (the rule was already no longer existing in the
kernel). Make sure we consider return codes properly. For that,
nl_recv() has been simplified.
qdisc_exists() function is no longer needed as we can check whether the
kernel returned -EEXIST when requiring the qdisc creation. It's simpler
and faster.
Add a few messages for clarity when a netlink error occurs.
Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Vasily Philipov [Mon, 3 Apr 2017 09:05:15 +0000 (12:05 +0300)]
net/mlx4: use a single drop queue for all drop flows
Signed-off-by: Vasily Philipov <vasilyf@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Nélio Laranjeiro [Mon, 3 Apr 2017 11:25:15 +0000 (13:25 +0200)]
net/mlx5: fix RSS flow rule with non existing queues
RSS flow rule validation accepts any queue even non existing ones which
causes a segmentation fault at creation time.
Fixes:
3d821d6fea40 ("net/mlx5: support RSS action flow rule")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Nélio Laranjeiro [Mon, 3 Apr 2017 11:20:10 +0000 (13:20 +0200)]
net/mlx5: remove duplicated process in flow API
Flow validation already processes the final actions to verify if a rule can
be applied or not and the same is done during creation. As the creation
function relies on validation to generate and apply a rule, this job can be
fully handled by the validation function.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Pascal Mazon [Thu, 30 Mar 2017 08:52:48 +0000 (10:52 +0200)]
net/tap: remove minimum packet size in Rx
With support for segmented packets, it is now possible to easily receive
packets of many sizes, given an adequate number of descriptors.
Remove limitation on the minimum size of mbuf: on reception, if a packet
won't fit in the queue's mbufs, it will be detected in the packet info
and the packet will be discarded.
Fixes:
0781f5762cfe ("net/tap: support segmented mbufs")
Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
Pascal Mazon [Thu, 30 Mar 2017 08:52:47 +0000 (10:52 +0200)]
net/tap: remove unsupported UDP/TCP port mask in flow
Only full mask (0xffff) is accepted, there is no way to specify a mask
for layer 4 ports to the kernel using TC rules.
Fixes:
de96fe68ae95 ("net/tap: add basic flow API patterns and actions")
Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
Jingjing Wu [Sun, 2 Apr 2017 01:41:42 +0000 (09:41 +0800)]
net/i40e/base: add README
Add README file in base to track the base code modification.
Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Rami Rosen [Mon, 3 Apr 2017 04:12:11 +0000 (00:12 -0400)]
doc: fix typo in i40e guide
This patch fixes a trivial typo in i40e documentation;
The comment about the behavior upon DPDK application quit was wrongly
titled as "after DPDK application exist" instead of "after DPDK
application exit", and this trivial patch fixes it.
Fixes:
edf1b618313a ("doc: add limitations for i40e PMD")
Cc: stable@dpdk.org
Signed-off-by: Rami Rosen <rami.rosen@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Shahaf Shuler [Sun, 2 Apr 2017 11:29:45 +0000 (14:29 +0300)]
net/mlx5: remove unnecessary Verbs library calls
Remove unnecessary interface queries and the Resource Domain when
creating the Queue Pair. Since mlx5 PMD data path is on top of native
APIs, such Verbs library calls are no longer needed.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Yongseok Koh [Mon, 20 Mar 2017 23:04:35 +0000 (16:04 -0700)]
net/mlx5: rebuild flows on updating RETA
Currently mlx5_dev_rss_reta_update() just updates tables in the host,
therefore it isn't immediately effective until restarting the device by
calling mlx5_dev_stop()/mlx5_dev_start() to update the changes in the
device side. This patch adds rebuilding the device-specific data
structure and applying it to the device right away.
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Yongseok Koh [Mon, 20 Mar 2017 23:04:34 +0000 (16:04 -0700)]
net/mlx5: use correct RETA table size
When querying and updating RSS RETA table, it always uses the max size of
the device instead of configured value. This patch fixes it and removed the
related comments in the code.
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Yongseok Koh [Mon, 20 Mar 2017 23:04:33 +0000 (16:04 -0700)]
ethdev: remove requirement of aligned RETA size
In rte_eth_check_reta_mask(), it is required to align the size of the RETA
table to RTE_RETA_GROUP_SIZE but as the size can be less than the limit,
this should be removed. The change is also applied to a command of testpmd.
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Xiao Wang [Tue, 28 Mar 2017 03:58:55 +0000 (20:58 -0700)]
net/fm10k: fix secondary process crash
If the primary process has initialized all the queues to vector
pmd mode, the secondary process should not use scalar code path,
because the per queue data structures haven't been prepared for
that, e.g. txq->ops is for vector Tx rather than scalar Tx.
Fixes:
a6ce64a97520 ("fm10k: introduce vector driver")
Cc: stable@dpdk.org
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Bernard Iremonger [Fri, 31 Mar 2017 17:58:35 +0000 (18:58 +0100)]
net/i40e: update tunnel filter restore function
The QinQ filter uses big buffers, set the big_buffer flag
when restoring a QinQ filter.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Bernard Iremonger [Fri, 31 Mar 2017 17:58:34 +0000 (18:58 +0100)]
net/i40e: update destroy tunnel filter function
The QinQ filter uses big buffers, set the big_buffer flag
when removing a QinQ filter.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Bernard Iremonger [Fri, 31 Mar 2017 17:58:33 +0000 (18:58 +0100)]
net/i40e: parse QinQ pattern
add QinQ pattern.
add i40e_flow_parse_qinq_pattern function.
add i40e_flow_parse_qinq_filter function.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Bernard Iremonger [Fri, 31 Mar 2017 17:58:32 +0000 (18:58 +0100)]
net/i40e: add QinQ filter create function
Add i40e_cloud_filter_qinq_create function, and call it
from i40e_dev_consistent_tunnel_filter_set function.
Replace the Outer IP filter with the QinQ filter.
QinQ allows multiple VLAN tags to be inserted into a single Ethernet
frame. A QinQ frame is a frame that has two VLAN 802.1Q headers.
802.1Q tunneling (QinQ) is a technique often used by Metro Ethernet
providers as a layer 2 VPN for customers.
Signed-off-by: Laura Stroe <laura.stroe@intel.com>
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Bernard Iremonger [Fri, 31 Mar 2017 17:58:31 +0000 (18:58 +0100)]
net/i40e: initialise L3 MAP register
The L3 MAP register is initialised to support QinQ
cloud filters.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Nélio Laranjeiro [Thu, 30 Mar 2017 12:45:37 +0000 (14:45 +0200)]
net/mlx5: fix mark id retrieval
Mark ID in the completion queue entry is 24 bits, the remaining 8 bits are
reserved and may be nonzero. Do not take them into account when looking for
marked packets.
Fixes:
ea3bc3b1df94 ("net/mlx5: support mark flow action")
Cc: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Andrew Rybchenko [Fri, 31 Mar 2017 10:22:23 +0000 (11:22 +0100)]
net/sfc: fix device reconfigure
Device reconfigure should be done without close which releases
all transmit and receive queue. ethdev API assumes that previously
setup queues (minimum from configured before and now) are kept
across device reconfigure.
Fixes:
aaa3f5f0f79d ("net/sfc: add configure and close stubs")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Andrew Rybchenko [Fri, 31 Mar 2017 10:22:22 +0000 (11:22 +0100)]
net/sfc: support changing the number of transmit queues
Fixes:
a8ad8cf83f01 ("net/sfc: provide basic stubs for Tx subsystem")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Andrew Rybchenko [Fri, 31 Mar 2017 10:22:21 +0000 (11:22 +0100)]
net/sfc: support changing the number of receive queues
Fixes:
a8e64c6b455f ("net/sfc: implement Rx subsystem stubs")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Andrew Rybchenko [Fri, 31 Mar 2017 10:22:20 +0000 (11:22 +0100)]
net/sfc: clarify Tx subsystem configure/close function names
Prepare to fix device reconfigure. Make it clear that corresponding
functions should be called on device configure and close operations.
No functional change.
Fixes:
a8ad8cf83f01 ("net/sfc: provide basic stubs for Tx subsystem")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Andrew Rybchenko [Fri, 31 Mar 2017 10:22:19 +0000 (11:22 +0100)]
net/sfc: clarify Rx subsystem configure/close function names
Prepare to fix device reconfigure. Make it clear that corresponding
functions should be called on device configure and close operations.
No functional change.
Fixes:
a8e64c6b455f ("net/sfc: implement Rx subsystem stubs")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Andrew Rybchenko [Fri, 31 Mar 2017 10:22:18 +0000 (11:22 +0100)]
net/sfc: initialize port data on attach
Port configuration should be initialized on attach to avoid reset to
defaults on device reconfigure.
Fixes:
03ed21195d9e ("net/sfc: minimum port control sufficient to receive traffic")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Andrew Rybchenko [Fri, 31 Mar 2017 10:22:17 +0000 (11:22 +0100)]
net/sfc: move event support init to attach stage
Prepare to fix device reconfigure.
Device arguments should be parsed once on attach.
Management event queue should be initialized once on attach.
Fixes:
58294ee65afb ("net/sfc: support event queue")
Fixes:
c22d3c508e0c ("net/sfc: support parameter to choose performance profile")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Andrew Rybchenko [Fri, 31 Mar 2017 10:22:16 +0000 (11:22 +0100)]
net/sfc: remove EvQ info array to simplify reconfigure
EvQ info array keeps information about EvQ centralized, however
EvQ pointers are available in TxQ and RxQ structures. Single
array for all EvQs complicates device reconfigure handling, so
simply git rid of it.
It removes notion of EvQ software index since there is no EvQ
array in software any more.
Fixes:
58294ee65afb ("net/sfc: support event queue")
Fixes:
9a75f75cb1f2 ("net/sfc: maintain management event queue")
Fixes:
ce35b05c635e ("net/sfc: implement Rx queue setup release operations")
Fixes:
28944ac098aa ("net/sfc: implement Rx queue start and stop operations")
Fixes:
b1b7ad933b39 ("net/sfc: set up and release Tx queues")
Fixes:
fed9aeb46c19 ("net/sfc: implement transmit path start / stop")
Fixes:
3b809c27b1fe ("net/sfc: support link status change interrupt")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Andrew Rybchenko [Fri, 31 Mar 2017 10:22:15 +0000 (11:22 +0100)]
net/sfc: remove flags from EvQ info
Next step to get rid of EvQ info at all.
Fixes:
c22d3c508e0c ("net/sfc: support parameter to choose performance profile")
Fixes:
3b809c27b1fe ("net/sfc: support link status change interrupt")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Andrew Rybchenko [Fri, 31 Mar 2017 10:22:14 +0000 (11:22 +0100)]
net/sfc: move EvQ entries to the EvQ control structure
EvQ info array is a problem on device reconfigure when number of
Rx and Tx queues may change. It is a step to get rid of it.
Fixes:
58294ee65afb ("net/sfc: support event queue")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Andrew Rybchenko [Fri, 31 Mar 2017 10:22:13 +0000 (11:22 +0100)]
net/sfc: remove unused max entries from EvQ info
Fixes:
58294ee65afb ("net/sfc: support event queue")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Andrew Rybchenko [Fri, 31 Mar 2017 10:22:12 +0000 (11:22 +0100)]
net/sfc: bind EvQ DMA space to EvQ type and type-local index
The index of an event queue index is computed from the index of the
corresponding transmit or receive queue, and depends on the total
number of receive queues. As a consequence, the index of an event
queue bound to a transmit queue changes if the total number of
receive queues is changed.
Fixes:
58294ee65afb ("net/sfc: support event queue")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Andrew Rybchenko [Fri, 31 Mar 2017 10:22:11 +0000 (11:22 +0100)]
net/sfc: clarify interrupts support function names
Make it clear that corresponding functions should be called on device
configure and close operations. No functional change.
Fixes:
06bc197796e2 ("net/sfc: interrupts support sufficient for event queue init")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Wed, 29 Mar 2017 16:59:19 +0000 (17:59 +0100)]
net/sfc: do not drop TSO on device configure
If Tx datapath does not support TSO, TSO was dropped on device configure.
It is incorrect to change advertised offloads.
Fixes:
7a4d44a639c9 ("net/sfc: make TSO a datapath-dependent feature")
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Wed, 29 Mar 2017 16:59:18 +0000 (17:59 +0100)]
net/sfc: choose datapaths after probe and before attach
Datapath choice requires NIC capabilities knowledge and, therefore,
should be done after probe. Whereas NIC resources estimation needs
to know chosen datapath (e.g. if Tx datapath is going to use TSO).
Fixes:
df1bfde4ff0d ("net/sfc: factor out libefx-based Rx datapath")
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 30 Mar 2017 15:16:15 +0000 (16:16 +0100)]
net/sfc: use correct function to free scattered packet on Rx
Put to mempool does not free chained segments.
Fixes:
e0b063941e03 ("net/sfc: support scattered Rx DMA")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Alex Zelezniak [Thu, 30 Mar 2017 21:05:54 +0000 (16:05 -0500)]
net/ixgbe: ping VF when PF status changes
Signed-off-by: Alex Zelezniak <alexz@att.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Beilei Xing [Thu, 30 Mar 2017 08:29:54 +0000 (16:29 +0800)]
net/i40e: enable tunnel filter for MPLS
MPLSoUDP & MPLSoGRE is not supported by tunnel
filter due to limited resource of HW, this patch
enables MPLS tunnel filter by replacing inner_mac
filter.
This configuration will be set when adding MPLSoUDP
and MPLSoGRE filter rules, and it will be invalid
only by NIC core reset.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Thu, 30 Mar 2017 08:29:53 +0000 (16:29 +0800)]
net/i40e: add flow API MPLS parsing function
This patch add MPLS parsing function to support MPLS filtering.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Thu, 30 Mar 2017 08:29:52 +0000 (16:29 +0800)]
app/testpmd: add MPLS and GRE fields to flow command
This patch exposes the following item fields through the flow command:
- MPLS label
- GRE protocol
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Beilei Xing [Thu, 30 Mar 2017 08:29:51 +0000 (16:29 +0800)]
ethdev: add MPLS and GRE flow API items
This patch adds MPLS and GRE items to generic rte flow.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Andrew Rybchenko [Wed, 29 Mar 2017 08:28:25 +0000 (09:28 +0100)]
net/sfc: fix leak if EvQ DMA space allocation fails
Fixes:
58294ee65afb ("net/sfc: support event queue")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Wed, 29 Mar 2017 08:25:41 +0000 (09:25 +0100)]
net/sfc: destroy event queue when Tx queue is released
Fixes:
b1b7ad933b39 ("net/sfc: set up and release Tx queues")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Wed, 29 Mar 2017 08:25:40 +0000 (09:25 +0100)]
net/sfc: destroy event queue when Rx queue is released
Fixes:
ce35b05c635e ("net/sfc: implement Rx queue setup release operations")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Nélio Laranjeiro [Wed, 29 Mar 2017 07:51:39 +0000 (09:51 +0200)]
net/mlx5: fix Tx when first segment size is too short
First segment size must be at least 18 bytes, packets not respecting this
are silently not sent by the NIC but counted as sent by the PMD. The only
way to figure out is compiling the PMD in debug mode.
Fixes:
6579c27c11a5 ("net/mlx5: remove gather loop on segments")
Cc: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Harish Patil [Fri, 24 Mar 2017 07:40:59 +0000 (00:40 -0700)]
net/qede: prevent crash while changing MTU dynamically
The driver can handle dynamic MTU change without needing the port to be
stopped explicitly by the application. However, there is currently no
check to prevent I/Os from happening on a different thread while the
port is going thru' reset internally. This patch fixes this issue by
assigning RX/TX burst functions to a dummy function and also reconfigure
RX bufsize for each rx queue based on the new MTU value.
Fixes:
200645ac7909 ("net/qede: set MTU")
Cc: stable@dpdk.org
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
Harish Patil [Fri, 24 Mar 2017 07:40:58 +0000 (00:40 -0700)]
net/qede: fix VF RSS configuration
The newer SR-IOV PF drivers expects RX/TX queues to be created before
applying RSS configuration. This patch addresses this requirement by
deferring RSS configuration till the queues are created. Even though
this issue is only seen in SR-IOV context, the changes will be made
applicable to PF also to keep the behavior consistent between VF/PF.
Fixes:
7ab35bf6b97b ("net/qede: fix RSS")
Cc: stable@dpdk.org
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
Harish Patil [Fri, 24 Mar 2017 07:40:57 +0000 (00:40 -0700)]
net/qede: fix missing UDP protocol in RSS offload types
Both UDP and TCP based RSS offload types are supported by the device.
This patch adds UDP protocol which got missed out in the original patch.
Fixes:
4c98f2768eef ("net/qede: support RSS hash configuration")
Cc: stable@dpdk.org
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
Beilei Xing [Thu, 30 Mar 2017 02:51:51 +0000 (10:51 +0800)]
doc: add dynamic i40e device personalization
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Thu, 30 Mar 2017 02:51:50 +0000 (10:51 +0800)]
app/testpmd: add command for getting loaded DDP profiles
This patch is to add testpmd CLI for getting all loaded DDP profiles.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Thu, 30 Mar 2017 02:51:49 +0000 (10:51 +0800)]
net/i40e: support getting all loaded DDP profiles
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Thu, 30 Mar 2017 02:51:48 +0000 (10:51 +0800)]
app/testpmd: add command for loading DDP
This patch is to add testpmd CLI for loading dynamic
device personalization (DDP).
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Thu, 30 Mar 2017 02:51:47 +0000 (10:51 +0800)]
net/i40e: add dynamic device personalization processing
Add support for loading a dynamic device personalization profile (DDP).
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Tue, 28 Mar 2017 09:28:44 +0000 (17:28 +0800)]
net/i40e: refine consistent tunnel filter
Add i40e_tunnel_type enumeration type to refine consistent
tunnel filter, it will be esay to add new tunnel type for
i40e.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Tue, 28 Mar 2017 09:28:43 +0000 (17:28 +0800)]
net/i40e: support tunnel filter to VF
Previously, only tunnel filter to PF is supported.
This patch adds i40e_dev_consistent_tunnel_filter_set
function for consistent filter API to support tunnel
filter to VF.
Signed-off-by: Yong Liu <yong.liu@intel.com>
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Tue, 28 Mar 2017 09:28:42 +0000 (17:28 +0800)]
net/i40e: rename tunnel filter function
Change tunnel filter function name to VXLAN filter
function, prepare for other tunnel filter function.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Tue, 28 Mar 2017 09:28:41 +0000 (17:28 +0800)]
net/i40e: rework tunnel filter functions
Rework tunnel filter functions to align with the
new command buffer for add/remove cloud filter.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Zhiyong Yang [Wed, 29 Mar 2017 15:56:48 +0000 (16:56 +0100)]
doc: update Tx burst behavior
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Zhiyong Yang [Wed, 29 Mar 2017 07:16:16 +0000 (15:16 +0800)]
net/vhost: remove limit of vhost Rx burst size
vhost removes limit of Rx burst size(32 pkts) and supports to make
an best effort to receive pkts.
Cc: yuanhan.liu@linux.intel.com
Cc: maxime.coquelin@redhat.com
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Zhiyong Yang [Wed, 29 Mar 2017 07:16:15 +0000 (15:16 +0800)]
net/vhost: remove limit of vhost Tx burst size
vhost removes limit of Tx burst size(32 pkts) and supports to make
an best effort to transmit pkts.
Cc: yuanhan.liu@linux.intel.com
Cc: maxime.coquelin@redhat.com
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Zhiyong Yang [Wed, 29 Mar 2017 07:16:14 +0000 (15:16 +0800)]
net/ixgbe: remove limit of Tx burst size
To add a wrapper function to remove the limit of tx burst size and
implement the "make an best effort to transmit the pkts" policy.
The patch makes ixgbe vec function work in a consistent behavior
like ixgbe_xmit_pkts_simple and ixgbe_xmit_pkts do that.
Cc: Helin Zhang <helin.zhang@intel.com>
Cc: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Zhiyong Yang [Wed, 29 Mar 2017 07:16:13 +0000 (15:16 +0800)]
net/i40e: remove limit of Tx burst size
To add a wrapper function to remove the limit of tx burst size. The patch
makes i40e vec function an best effort to transmit the pkts in the
consistent behavior like i40e_xmit_pkts_simple and i40e_xmit_pkts do that.
Cc: Helin Zhang <helin.zhang@intel.com>
Cc: Jingjing Wu <jingjing.wu@intel.com>
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Zhiyong Yang [Wed, 29 Mar 2017 07:16:12 +0000 (15:16 +0800)]
net/fm10k: remove limit of Tx burst size
To add a wrapper function to remove the limit of tx burst size.
The patch makes fm10k vec function an best effort to transmit
pkts in the consistent behavior like fm10k_xmit_pkts does that.
Cc: Jing Chen <jing.d.chen@intel.com>
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Rasesh Mody [Wed, 29 Mar 2017 20:37:02 +0000 (13:37 -0700)]
net/qede: update PMD version to 2.4.0.1
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Harish Patil [Wed, 29 Mar 2017 20:37:01 +0000 (13:37 -0700)]
net/qede: support LRO/TSO offloads
This patch includes slowpath configuration and fastpath changes
to support LRO and TSO. A bit of revamping is needed in order
to make use of existing packet classification schemes in Rx fastpath
and for SG element processing in Tx.
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
Harish Patil [Wed, 29 Mar 2017 20:37:00 +0000 (13:37 -0700)]
net/qede: support ntuple and flow director filter
Add limited support for ntuple filter and flow director configuration.
The filtering is based on 4-tuples viz src-ip, dst-ip, src-port,
dst-port. The mask fields, tcp_flags, flex masks, priority fields,
Rx queue drop etc are not supported.
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
Harish Patil [Wed, 29 Mar 2017 20:36:59 +0000 (13:36 -0700)]
net/qede/base: support ARFS mode
Add base driver APIs to enable accelerated RFS[aRFS] mode and ramrod
to configure rfs and ntuple filter.
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:58 +0000 (13:36 -0700)]
net/qede/base: semantic changes
Make APIs static and other semantic changes.
A step toward cleaning 'make C=1' with GCC 4.8.3.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:57 +0000 (13:36 -0700)]
net/qede/base: prevent race condition during unload
Merge hw_stop and hw_reset into one function.
Prevent race condition between MFW attentions and pf stop command during
unload flow that causes an ASSERT.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:56 +0000 (13:36 -0700)]
net/qede/base: multi-Txq support on same queue-zone for VFs
A step toward having multi-Txq support on same queue-zone for VFs.
This change takes care of:
- VFs assume a single CID per-queue, where queue X receives CID X.
Switch to a model similar to that of PF - I.e., Use different CIDs
for Rx/Tx, and use mapping to acquire/release those. Each VF
currently will have 32 CIDs available for it [for its possible 16
Rx & 16 Tx queues].
- To retain the same interface for PFs/VFs when initializing queues,
the base driver would have to retain a unique number per-each queue
that would be communicated in some extended TLV [current TLV
interface allows the PF to send only the queue-id]. The new TLV isn't
part of the current change but base driver would now start adding
such unique keys internally to queue_cids. This would also force
us to start having alloc/setup/free for L2 [we've refrained from
doing so until now]
The limit would be no-more than 64 queues per qzone [This could be
changed if needed, but hopefully no one needs so many queues]
- In IOV, Add infrastructure for up to 64 qids per-qzone, although
at the moment hard-code '0' for Rx and '1' for Tx [Since VF still
isn't communicating via new TLV which index to associate with a
given queue in its queue-zone].
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:55 +0000 (13:36 -0700)]
net/qede/base: prevent DMAE transactions during recovery
Prevent DMA engine transactions during recovery phase.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:54 +0000 (13:36 -0700)]
net/qede/base: add UDP ports in bulletin board message
Add UDP ports in bulletin board message.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Wed, 29 Mar 2017 20:36:53 +0000 (13:36 -0700)]
net/qede/base: allow PMD to control vport and RSS engine ids
Let PMD have control over the vport-id and rss-eng-id of a given VF
during initialization.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>