Commit Graph

3589 Commits

Author SHA1 Message Date
Wei Dai
03b92b70da net/ixgbe: support NIC reset
Reset a NIC by calling dev_uninit and then dev_init.
Go through same way in NIC PCI remove without release of
ethdev resource and then NIC PCI probe function without
ethdev resource allocation.

Signed-off-by: Wei Dai <wei.dai@intel.com>
2017-09-13 23:08:11 +02:00
Bruce Richardson
06791a4bce crypto/qat: remove dependency on ether library
The QAT crypto driver does not need to depend on the ether library, so
remove the unnecessary header inclusion.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2017-08-31 23:03:08 +02:00
Bruce Richardson
5b9c381397 net/ring: rename map file to standardized name
The filenames of the linker map files for DPDK PMDs, all follow a
standard format: rte_pmd_<libname>_version.map. The ring version, however,
had eth instead of pmd in the name, so was non-standard. By changing
this, we no longer need the build system to explicitly be given the name of
the mapfile, as it can determine it from the directory name.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2017-08-31 23:03:01 +02:00
Xiaoyun Li
f0adeebde0 net/i40e: revert fix of PF notify when VF not up
This reverts commit 035a8cf88f.
Don't send messages to inactive VF will cause DPDK PF failing
to send messages to kernel VF.
With this revert, this issue will be solved.

Fixes: 035a8cf88f ("net/i40e: fix PF notify when VF is not up")
Cc: stable@dpdk.org

Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
2017-08-05 01:30:14 +02:00
Qi Zhang
d769655450 net/ixgbe: fix mask flag on flow rule creation
After fail to create a flow and if this is the first flow, the
mask_added flag should be reset, or it will prevent a new flow
which require different mask be created, since the mask config
remains impact.

Fixes: 72c135a89f ("net/ixgbe: create consistent filter")
Cc: stable@dpdk.org

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
2017-08-05 01:30:14 +02:00
Nelio Laranjeiro
5644d5b94e net/mlx5: add parameters to enable/disable vector datapath
Vector code is very young and can present some issues for users, to avoid
them to modify the selections function by commenting the code and recompile
the PMD, new devices parameters are added to deactivate the Tx and/or Rx
vector code.
By using such device parameters, the user will be able to fall back to
regular burst functions.

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
2017-08-03 23:34:40 +02:00
Yongseok Koh
9807f11335 net/mlx5: fix error statistics in SSE Rx
If there's a Rx completion with error (e.g, MTU mismatch), it is handled
later out of main burst loop as a slow path for performance reason.
Statistics should be corrected by subtracting counters of errored packets.
Also, the last entry of mlx5_ptype_table[] must be RTE_PTYPE_ALL_MASK to
mark error in completion.

Fixes: ea16068c00 ("net/mlx5: fix L4 packet type support")
Fixes: 6cb559d67b ("net/mlx5: add vectorized Rx/Tx burst for x86")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2017-08-03 23:27:06 +02:00
Yongseok Koh
58db3b6fe9 net/mlx5: fix offload flags in SSE Rx
The pinfo variable has wrong data. This has to have merged data of two
fields from Rx completion - pkt_info and hdr_type_etc.

Fixes: 6cb559d67b ("net/mlx5: add vectorized Rx/Tx burst for x86")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2017-08-03 23:24:44 +02:00
Yongseok Koh
545b884b1d net/mlx5: fix buffer address posting in SSE Rx
The data_off field of newly allocated mbufs is stale data. This shouldn't
be used in calculating Rx address for device when posting free buffers.
RTE_PKTMBUF_HEADROOM should be used instead and data_off of a mbuf will be
reset on packet reception anyway.

Fixes: 6cb559d67b ("net/mlx5: add vectorized Rx/Tx burst for x86")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2017-08-03 23:22:25 +02:00
Yongseok Koh
1cba20c610 net/mlx5: fix trimming SW ring for vectorized Rx
Unlike mlx5_rx_burst(), mlx5_rx_burst_vec() doesn't replace completed
buffers one by one right after completion is processed but replenishes
multiple buffers later with rte_mempool_get_bulk(). Therefore, there could
be some buffer addresses left in the SW ring (rxq->elts[]) which have
already been delivered to application. As PMD doesn't own such buffers, it
must not be freed by PMD.  "Trimming" is needed before cleanup.

A problem can be seen when quitting testpmd when
CONFIG_RTE_LIBRTE_MBUF_DEBUG=y and CONFIG_RTE_LIBRTE_MEMPOOL_DEBUG=y

Trimming should be as simple as possible, it shouldn't touch any indexes
and buffer allocation isn't necessary.

Fixes: 6cb559d67b ("net/mlx5: add vectorized Rx/Tx burst for x86")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2017-08-03 23:22:25 +02:00
Nelio Laranjeiro
a0edafe409 net/mlx5: fix MTU update
Changing the MTU is not related to changing the number of segments,
activating or not the multi-segment support should be handled by the
application.

Fixes: 9964b965ad ("net/mlx5: re-add Rx scatter support")
Cc: stable@dpdk.org

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
2017-08-03 23:12:17 +02:00
Matan Azrad
5f4677c6ad net/mlx4: workaround verbs error after plug-out
Current mlx4 OFED version has bug which returns error to
ibv destroy functions when the device was plugged out, in
spite of the resources were destroyed correctly.

Hence, failsafe PMD was aborted, only in debug mode, when
it tries to remove the device in plug-out process.

The workaround added option to replace all claim_zero
assertions with debugging messages, by the way, this option
affects non ibv destroy assertions.

DPDK 18.02 release should work with Mellanox OFED-4.2 which will
include the verbs fix to this bug, then, this patch can
be removed.

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-08-03 23:10:27 +02:00
Aaron Conole
f7a58af502 net/enic: fix crash when freeing 0 packet to mempool
Occasionally, the amount of packets to free from the work queue ends
perfectly on a boundary to have nb_free = 0 and pool = 0.  This causes
a segfault as follows:

  (gdb) bt
  #0  rte_mempool_default_cache
  #1  rte_mempool_put_bulk (n=0, obj_table=0x7f10deff2530, mp=0x0)
  #2  enic_free_wq_bufs (wq=wq@entry=0x7efabffcd5b0,
      completed_index=completed_index@entry=33)
  #3  0x00007f11e9c86e17 in enic_cleanup_wq (enic=<optimized out>,
      wq=wq@entry=0x7efabffcd5b0)
      at /usr/src/debug/openvswitch-2.6.1/dpdk-16.11/drivers/net/enic/enic_rxtx.c:442
  #4  0x00007f11e9c86e5f in enic_xmit_pkts (tx_queue=0x7efabffcd5b0,
      tx_pkts=0x7f10deffb1a8, nb_pkts=<optimized out>)
      at /usr/src/debug/openvswitch-2.6.1/dpdk-16.11/drivers/net/enic/enic_rxtx.c:470
  #5  0x00007f11e9e147ad in rte_eth_tx_burst (nb_pkts=<optimized out>,
      tx_pkts=0x7f10deffb1a8, queue_id=0, port_id=<optimized out>)

This commit makes the enic wq driver match other drivers who call the
bulk free, by checking that there are actual packets to free.

Fixes: 36935afbc5 ("net/enic: refactor Tx mbuf recycling")
CC: stable@dpdk.org

Reported-by: Vincent S. Cojot <vcojot@redhat.com>
Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1468631
Signed-off-by: Aaron Conole <aconole@redhat.com>
Reviewed-by: John Daley <johndale@cisco.com>
2017-08-03 22:55:32 +02:00
Qi Zhang
1ff8e79591 net/i40e: fix Rx data segment buffer length
Buffer length be configured for each data segment should not exceed
the requested value, or device may fill data that exceed the boundary
of memory that be reserved.

Fixes: 4861cde461 ("i40e: new poll mode driver")
Cc: stable@dpdk.org

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Reviewed-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
Tested-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
2017-08-03 22:45:52 +02:00
Gaetan Rivet
79da7b914d net/failsafe: fix blank line parsing
When the output of an exec() slave definition is only a single newline
character, the fail-safe currently fails to parse the device with the
value returned by the rte_devargs library.

This behavior is incorrect, because the fail-safe should make a
difference between the absence of a device, and an erroneous device
declaration.

Fix the output sanitization in the case where no newline was at its end
and detect the special case of an absent device. The correct error code
is then returned.

Fixes: a0194d8281 ("net/failsafe: add flexible device definition")

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
2017-08-03 22:36:01 +02:00
Raslan Darawsheh
35ffe42081 net/failsafe: fix missing pclose after popen
When there is no preferred device, failsafe will always
try to scan for preferred device. And if there is no device
found with the exec option, popen() will get an empty output.
In this case, it was forgotten to close the file descriptor.
It is fixed by closing the file descriptor even if the output is empty.

Coverity issue: 158633
Fixes: a0194d8281 ("net/failsafe: add flexible device definition")

Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
2017-08-03 22:29:53 +02:00
Chas Williams
c1f7b53c83 net/vmxnet3: fix filtering on promiscuous disabling
We should only restore shadow_vfta when hw_vlan_filter is active.
Otherwise, we should restore the previous filtering behavior.

Fixes: f003fc3834 ("vmxnet3: enable vlan filtering")
Cc: stable@dpdk.org

Signed-off-by: Chas Williams <ciwillia@brocade.com>
Acked-by: Shrikrishna Khare <skhare@vmware.com>
2017-08-03 22:23:49 +02:00
Wei Dai
7429ce44a1 net/ixgbe: support 2.5G and 5G on X550
This patch adds support of 2.5G and 5G ethernet interface on X550.

Signed-off-by: Wei Dai <wei.dai@intel.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2017-07-31 20:13:13 +02:00
Rasesh Mody
22555a8cd7 net/qede: update PMD version 2.5.2.1
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-07-31 19:58:41 +02:00
Rasesh Mody
3818ac224f net/qede: fix chip details print
Fix chip details printed as part of print adapter info

Fixes: 2ea6f76aff ("qede: add core driver")
Cc: stable@dpdk.org

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-07-31 19:58:41 +02:00
Harish Patil
0ed3bc6395 net/qede: fix inner L3/L4 checksum for tunnels
Force recalculation of tunnel L4 chksum when inner L3/L4 chksum gets
updated due to HW offload.

Fixes: aab2161750 ("net/qede: add Tx offloads for MPLS-in-UDP packets")

Signed-off-by: Harish Patil <harish.patil@cavium.com>
2017-07-31 19:58:41 +02:00
Rasesh Mody
9c1aa3e1c2 net/qede/base: fix for adapter specific stats
Handle different MAC statistic fields between two chip variants by
reading the MAC counters from the adapter suitable statistics bins.

Fixes: ec94dbc573 ("qede: add base driver")
Cc: stable@dpdk.org

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-07-31 19:58:41 +02:00
Harish Patil
a68a9adf32 net/qede: fix incorrect queue id for 100G
'commit 4c4bdadfa9 ("net/qede: refactoring multi-queue implementation")'
introduced a regression where default RSS configuration is incorrect in
the case of 100G mode. Currently we are passing absolute queue ids while
creating RX/TX queues. But in CMT mode we need to provide queue id
relative to the engine id. So this fix takes into account num_hwfns
while creating queues.

Fixes: 4c4bdadfa9 ("net/qede: refactoring multi-queue implementation")

Signed-off-by: Harish Patil <harish.patil@cavium.com>
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-07-31 19:58:41 +02:00
Rasesh Mody
60c78a5e25 net/qede/base: fix recovery from previous ungraceful exit
This patch modifies the recovery flow to allow ongoing PCIe
transactions to be completed. To achieve this, the load sequence is
changed such that the "final_cleanup" notification is sent while the
FID_enable is cleared.
This change ensures that the chip cleanup actions takes place from
previous driver instance if needed.

Fixes: ec94dbc573 ("qede: add base driver")
Cc: stable@dpdk.org

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-07-31 19:58:41 +02:00
Ajit Khaparde
ef17b12e6a net/bnxt: fix arguments to callback process
The callback arguments to _rte_eth_dev_callback_process() are swapped.
Fix them.

Fixes: d6af1a13d7 ("ethdev: add return values to callback process API")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-07-31 19:58:41 +02:00
Matan Azrad
8d0f80167d net/mlx4: fix probe failure report
The corrupted code doesn't return error when probe function
fails due to error in device mac address getting.
By this way, the probe function may return success even if the
ETH dev is not allocated.

Hence, the probe caller, for example failsafe PMD, fails when it
tries to get ETH dev after the device was plugged out while mlx4
was probing it.

The fix adds error report to the probe caller when priv_get_mac fails
and in all other failure options which are missing it.

By this way, it prevents the unexpected behavior to miss ETH device
after the device was probed successfully.

Fixes: 7fae69eeff ("mlx4: new poll mode driver")
Fixes: 001a520e41 ("net/mlx4: add port parameter")
Fixes: 7b06615392 ("mlx4: check if port is configured for ethernet")
Fixes: fec3608673 ("mlx4: query netdevice to get initial MAC address")
Cc: stable@dpdk.org

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-07-31 19:58:41 +02:00
Matan Azrad
f3b10f1d24 net/mlx4: fix flow creation before start
The corrupted code causes segmentation fault when user creates
flow with drop action before device starting.

For example, failsafe PMD recreates all the flows before calling
dev_start in plug-in sequence and mlx4 allocated its flow drop
queue in dev_start.
Hence, when failsafe created flow with drop action after plug-in
event, mlx4 tried to dereference flow drop queue which was
uninitialized.

The fix added check to the drop qp accessible and conditioned the
ibv_create_flow calling on device starting.

Fixes: 642fe56a1b ("net/mlx4: use a single drop queue for all drop flows")
Fixes: 46d5736a70 ("net/mlx4: support basic flow items and actions")
Cc: stable@dpdk.org

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-07-31 19:58:41 +02:00
Yongseok Koh
ea16068c00 net/mlx5: fix L4 packet type support
TCP/UDP/NONFRAG/FRAG flags aren't counted for both outer and inner
header even though device supports it.

Fixes: 0603df73a0 ("net/mlx5: fix Rx packet validation and type")
Fixes: 6cb559d67b ("net/mlx5: add vectorized Rx/Tx burst for x86")
Cc: stable@dpdk.org

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-07-31 19:58:41 +02:00
Yongseok Koh
48dfc20f1e net/mlx5: fix missing packet type calculation
Calculation of packet type is currently enabled only when HW checksum is
enabled.
This isn't related to HW checksum offload.  Enable it regardless.

Fixes: 081f7eae24 ("mlx5: process offload flags only when requested")
Cc: stable@dpdk.org

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-07-31 19:58:41 +02:00
Yongseok Koh
85245b8f04 net/mlx5: fix counting consumed Tx descriptors
When advancing Tx ring index (txq->wqe_ci) in txq_scatter_v(), the title
descriptor of multi-packet send isn't taken into account if it doesn't
cross 64B boundary.

Fixes: 6cb559d67b ("net/mlx5: add vectorized Rx/Tx burst for x86")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2017-07-31 19:58:41 +02:00
Yongseok Koh
54d3fe948d net/mlx5: poll completion queue once per a call
mlx5_tx_complete() polls completion queue multiple times until it
encounters an invalid entry. As Tx completions are suppressed by
MLX5_TX_COMP_THRESH, it is waste of cycles to expect multiple
completions in a poll. And freeing too many buffers in a call can
cause high jitter.
This patch improves throughput a little.

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
2017-07-31 19:58:41 +02:00
Ajit Khaparde
c037fc8732 net/bnxt: fix setting conflicting VLAN bits
Only set the vlanonly bit if vlan_nonvlan is clear. Also, allow the
VLAN table to be cleared when vlanonly is set.

Clearing the VLAN table when vlanonly is set will stop all traffic
since it requires all frames to have a VLAN tag, and that tag to be
in the zero-length table. This is still a valid use case though,
and has been seen in the wild.

Fixes: 36735a932c ("net/bnxt: support set VF QOS and MAC anti spoof")

Signed-off-by: Stephen Hurd <stephen.hurd@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-07-31 19:58:41 +02:00
Xiaoyun Li
035a8cf88f net/i40e: fix PF notify when VF is not up
This patch stops PF from sending messages to inactive VF
and modifies VF state to active when VF reset is completed.

Fixes: 4861cde461 ("i40e: new poll mode driver")
Cc: stable@dpdk.org

Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
2017-07-31 19:58:41 +02:00
Kuba Kozak
c2be7f9b23 net/i40e: fix parsing QinQ pattern
Add check if o_vlan_mask and i_vlan_mask are not a NULL pointer.

Coverity issue: 143448
Coverity issue: 143449
Fixes: d37705068e ("net/i40e: parse QinQ pattern")
Cc: stable@dpdk.org

Signed-off-by: Kuba Kozak <kubax.kozak@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
2017-07-31 19:58:41 +02:00
Tomasz Kulasek
5b1b672d6b net/bonding: fix link status interrupt when down
RTE_ETH_EVENT_INTR_LSC callbacks are not called when all slaves goes down
in bond_ethdev_lsc_event_callback. It causes that link status change of
bonded device is not propagated up.

Fixes: deba8a2f8b ("net/bonding: fix link properties management")

Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-07-31 19:58:41 +02:00
Tomasz Kulasek
466b0ace2d net/bonding: fix crash when primary slave set
rte_eth_bond_primary_set segfaults for invalid port. This patch moves
devices check before use of internal data.

Fixes: 4c42498d91 ("net/bonding: allow slaves to also be bonded devices")

Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-07-31 19:58:41 +02:00
David Hunt
935bceb9ba net/i40e: fix sync phy type by adding retry
Some phy's take longer than others to come up. Add a retry to give
more phy's a chance to come up before returning an error.

Fixes: 2209c3e2c2 ("net/i40e: avoid PCI probing failure when using bogus SFP")

Signed-off-by: David Hunt <david.hunt@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
2017-07-31 19:58:41 +02:00
Gowrishankar Muthukrishnan
ef09a7fc76 net/mlx5: fix inconsistent link status query
ETHTOOL_GLINKSETTINGS ioctl call in mlx5 pmd returns inconsistent
link status due to which any application relying on it would not
function correctly.

Fixes: 1884087198 ("net/mlx5: fix support for newer link speeds")
Cc: stable@dpdk.org

Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2017-07-31 19:58:41 +02:00
Kuba Kozak
eb41bf795f net/igb: fix access bound in ethertype filter
Fix wrong structure type used as argument in memset() call.

Coverity issue: 147223
Coverity issue: 147227
Fixes: a8600af437 ("net/igb: parse flow API ethertype filter")
Fixes: 22bb13410c ("net/igb: create consistent filter")
Cc: stable@dpdk.org

Signed-off-by: Kuba Kozak <kubax.kozak@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2017-07-31 19:58:41 +02:00
Ajit Khaparde
980543f754 net/bnxt: fix setting VLAN anti spoof with same value
If the current VLAN anti spoof setting is same as the new value,
the firmware can return an error. Call the HWRM command to update
the new setting if it is different from the current value.

Fixes: 36735a932c ("net/bnxt: support set VF QOS and MAC anti spoof")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-07-31 19:58:41 +02:00
Leonid Myravjev
09192d98ba net/ixgbe: remove subdev ids from PCI device table
The pci_id_ixgbe_map table has only PCI_ANY_ID for
.subvend and .subdev in all entries. Using of IXGBE_SUBDEV_ID_82599_SFP
for 'dev' is not correct. It generates the wrong PMD_INFO_STRING.
The output of the program "dpdk-pmdinfo.py" is confusing.

Signed-off-by: Leonid Myravjev <myravjev@amicon.ru>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2017-07-31 19:58:41 +02:00
Wei Zhao
e76c6e68a7 net/ixgbe: support IPv4-other type filter
Add support for ipv4-other type in ntuple filter.

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
2017-07-31 19:58:41 +02:00
Qi Zhang
9b2df1083a net/ixgbe: fix mirror rule index overflow
Mirror rule id should not exceed the boundary defined by
IXGBE_MAX_MIRROR_RULES.

Fixes: fe3a45fd41 ("ixgbe: add VMDq support")
Cc: stable@dpdk.org

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
2017-07-31 19:58:41 +02:00
Ajit Khaparde
4cddfcb71b net/bnxt: free filter before reusing it
This patch sends the HWRM command to free a filter in the hardware,
before using it again.

Fixes: f92735db1e ("net/bnxt: add L2 filter alloc/init/free")
Cc: stable@dpdk.org

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-07-31 19:58:41 +02:00
Ajit Khaparde
778f6209bc net/bnxt: check invalid L2 filter id
Add code to check for invalid filter_id in bnxt_hwrm_clear_filter

Fixes: f92735db1e ("net/bnxt: add L2 filter alloc/init/free")
Cc: stable@dpdk.org

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-07-31 19:58:41 +02:00
Ajit Khaparde
910242bcf5 net/bnxt: fix VLAN antispoof configuration code
We are wrongly using a Rx side HWRM command set_rx_mask to configure
VLAN anti-spoof. This being a Tx side feature, this patch
tries to fix it.

Since the HWRM command to do it is available only in
the newer firmware versions, the patch verifies the firmware
version before attempting to send the HWRM command to
the firmware.

Fixes: 36735a932c ("net/bnxt: support set VF QOS and MAC anti spoof")

Signed-off-by: Stephen Hurd <stephen.hurd@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-07-31 19:58:41 +02:00
Ajit Khaparde
b5b6ff6190 net/bnxt: reset VF stats during initialization
This patch resets the VF stats during initialization

Fixes: b7778e8a1c ("net/bnxt: refactor to properly allocate resources for PF/VF")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-07-31 19:58:41 +02:00
Ajit Khaparde
645ad4d586 net/bnxt: fix set link config
remove the unnecessary rte_delay in bnxt_set_hwrm_link_config

Fixes: 7bc8e9a227 ("net/bnxt: support async link notification")
Cc: stable@dpdk.org

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-07-31 19:58:41 +02:00
Ajit Khaparde
2bda4ec790 net/bnxt: fix vnic cleanup
Check if the vnic_id and rss_rule is not invalid before passing it
to the firmware to cleanup the VNIC. Log a message if the vnic_id
is invalid.

Fixes: db678d5c2b ("net/bnxt: add HWRM VNIC configure")
Cc: stable@dpdk.org

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-07-31 19:58:41 +02:00
Ajit Khaparde
31ded672aa net/bnxt: fix crash
Fix use of local variable to avoid segfault.
cnt was incorrectly tested and decremented in the loop that removes
a VLAN from the table.

Fixes: 36735a932c ("net/bnxt: support set VF QOS and MAC anti spoof")

Signed-off-by: Stephen Hurd <stephen.hurd@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-07-31 19:58:41 +02:00