dpdk.git
7 years agonet/dpaa2: remove RSS restriction with num of queues
Hemant Agrawal [Sat, 16 Sep 2017 10:52:33 +0000 (16:22 +0530)]
net/dpaa2: remove RSS restriction with num of queues

DPAA2 HW does not have such restrictions.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agonet/dpaa2: increase the dist param to 64 bit
Hemant Agrawal [Sat, 16 Sep 2017 10:52:32 +0000 (16:22 +0530)]
net/dpaa2: increase the dist param to 64 bit

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agonet/dpaa2: improve error and logs for flow distribution
Hemant Agrawal [Sat, 16 Sep 2017 10:52:31 +0000 (16:22 +0530)]
net/dpaa2: improve error and logs for flow distribution

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agonet/dpaa2: check physical link state on up cmd
Hemant Agrawal [Sat, 16 Sep 2017 10:52:30 +0000 (16:22 +0530)]
net/dpaa2: check physical link state on up cmd

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agobus/fslmc: enable link status interrupt
Hemant Agrawal [Sat, 16 Sep 2017 10:52:29 +0000 (16:22 +0530)]
bus/fslmc: enable link status interrupt

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agonet/dpaa2: support link status event
Hemant Agrawal [Sat, 16 Sep 2017 10:52:28 +0000 (16:22 +0530)]
net/dpaa2: support link status event

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agobus/fslmc: cleanup the dpaa2 interrupt support
Hemant Agrawal [Sat, 16 Sep 2017 10:52:27 +0000 (16:22 +0530)]
bus/fslmc: cleanup the dpaa2 interrupt support

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agobus/fslmc: support check of dpbp presence
Hemant Agrawal [Sat, 16 Sep 2017 10:52:26 +0000 (16:22 +0530)]
bus/fslmc: support check of dpbp presence

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agonet/dpaa2: support congestion overhead
Hemant Agrawal [Sat, 16 Sep 2017 10:52:25 +0000 (16:22 +0530)]
net/dpaa2: support congestion overhead

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agobus/fslmc: support LX2160 platform
Ashish Jain [Sat, 16 Sep 2017 10:52:24 +0000 (16:22 +0530)]
bus/fslmc: support LX2160 platform

Signed-off-by: Ashish Jain <ashish.jain@nxp.com>
7 years agoconfig/dpaa2: change max lcores to 16
Ashish Jain [Sat, 16 Sep 2017 10:52:23 +0000 (16:22 +0530)]
config/dpaa2: change max lcores to 16

To support new LX2 series

Signed-off-by: Ashish Jain <ashish.jain@nxp.com>
7 years agobus/fslmc: clean the QBMAN support code
Hemant Agrawal [Sat, 16 Sep 2017 10:52:22 +0000 (16:22 +0530)]
bus/fslmc: clean the QBMAN support code

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agobus/fslmc: cleanup compat file
Hemant Agrawal [Sat, 16 Sep 2017 10:52:21 +0000 (16:22 +0530)]
bus/fslmc: cleanup compat file

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agobus/fslmc: remove unused funcs and align names in QBMAN
Hemant Agrawal [Sat, 16 Sep 2017 10:52:20 +0000 (16:22 +0530)]
bus/fslmc: remove unused funcs and align names in QBMAN

name alignment for check command and result functions
putting them as separate functions instead of changing the original
functions.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agobus/fslmc: enhance the QBMAN CENA mode
Haiying Wang [Sat, 16 Sep 2017 10:52:19 +0000 (16:22 +0530)]
bus/fslmc: enhance the QBMAN CENA mode

Signed-off-by: Haiying Wang <haiying.wang@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agobus/fslmc: support up to 32 frames in one volatile dequeue
Haiying Wang [Sat, 16 Sep 2017 10:52:18 +0000 (16:22 +0530)]
bus/fslmc: support up to 32 frames in one volatile dequeue

QMan5.0 supports up to 32 frames in one volatile dequeue
command. For the older Qman versions which only support
up to 16 frames, the highest bit in NUMF will be ignored.

Signed-off-by: Haiying Wang <haiying.wang@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agobus/fslmc: add QBMAN API to do enqueue with multiple frames
Haiying Wang [Sat, 16 Sep 2017 10:52:17 +0000 (16:22 +0530)]
bus/fslmc: add QBMAN API to do enqueue with multiple frames

Clean it up and update the prototype.

Signed-off-by: Haiying Wang <haiying.wang@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agobus/fslmc: remove the export for QBMAN version
Hemant Agrawal [Sat, 16 Sep 2017 10:52:16 +0000 (16:22 +0530)]
bus/fslmc: remove the export for QBMAN version

This func is not required to be used outside of the qbman driver.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agobus/fslmc: replace word copy with memcpy in QBMAN
Haiying Wang [Sat, 16 Sep 2017 10:52:15 +0000 (16:22 +0530)]
bus/fslmc: replace word copy with memcpy in QBMAN

The word_copy is not as efficient as expected, so remove it from
this driver.

Signed-off-by: Haiying Wang <haiying.wang@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agoapp/test-crypto-perf: fix compilation with -Og
Olivier Matz [Mon, 11 Sep 2017 15:13:33 +0000 (17:13 +0200)]
app/test-crypto-perf: fix compilation with -Og

The compilation with gcc-6.3.0 and EXTRA_CFLAGS=-Og gives the following
error:

  CC cperf_test_verify.o
cperf_test_verify.c: In function ‘cperf_verify_op’:
cperf_test_verify.c:382:5: error: ‘auth’ may be used uninitialized
                           in this function
                           [-Werror=maybe-uninitialized]
  if (auth == 1) {
     ^
cperf_test_verify.c:371:5: error: ‘cipher’ may be used uninitialized
                           in this function
   [-Werror=maybe-uninitialized]
  if (cipher == 1) {
     ^
cperf_test_verify.c:384:11: error: ‘auth_offset’ may be used
    uninitialized in this function
    [-Werror=maybe-uninitialized]
    res += memcmp(data + auth_offset,
           ^~~~~~~~~~~~~~~~~~~~~~~~~~
      vector->digest.data,
      ~~~~~~~~~~~~~~~~~~~~
      options->digest_sz);
      ~~~~~~~~~~~~~~~~~~~
cperf_test_verify.c:377:11: error: ‘cipher_offset’ may be used
                            uninitialized in this function
                            [-Werror=maybe-uninitialized]
    res += memcmp(data + cipher_offset,
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      vector->plaintext.data,
      ~~~~~~~~~~~~~~~~~~~~~~~
      options->test_buffer_size);
      ~~~~~~~~~~~~~~~~~~~~~~~~~~

There is no default case in the switch statement, so if options->op_type
is an unknown value, the function will use uninitialized values. Fix it
by adding a default.

Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")
Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agoapp/test-crypto-perf: fix memory leak
Olivier Matz [Mon, 11 Sep 2017 15:13:32 +0000 (17:13 +0200)]
app/test-crypto-perf: fix memory leak

data is allocated but never freed.

Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")
Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agometrics: fix compilation with -Og
Olivier Matz [Mon, 11 Sep 2017 15:13:30 +0000 (17:13 +0200)]
metrics: fix compilation with -Og

The compilation with gcc-6.3.0 and EXTRA_CFLAGS=-Og gives the following
error:

  CC rte_metrics.o
  rte_metrics.c: In function
  ‘rte_metrics_reg_names’: rte_metrics.c:153:22: error: ‘entry’
                           may be used uninitialized in this function
                           [-Werror=maybe-uninitialized]
    entry->idx_next_set = 0;
    ~~~~~~~~~~~~~~~~~~~~^~~

This is a false positive, gcc is not able to see that we always go in
the loop at least once, initializing entry.

Fix the warning by initializing entry to NULL.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
7 years agocmdline: fix compilation with -Og
Olivier Matz [Mon, 11 Sep 2017 15:13:29 +0000 (17:13 +0200)]
cmdline: fix compilation with -Og

The compilation with gcc-6.3.0 and EXTRA_CFLAGS=-Og gives the following
error:

  CC cmdline_parse.o
  cmdline_parse.c: In function ‘match_inst’:
  cmdline_parse.c:227:5: error: ‘token_p’ may be used uninitialized in
                         this function [-Werror=maybe-uninitialized]
    if (token_p) {
       ^

This is a false positive, gcc is not able to see that we always go in
the loop at least once, initializing token_p.

Fix the warning by initializing token_p to NULL.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
7 years agouio: fix compilation with -Og
Olivier Matz [Mon, 11 Sep 2017 15:13:28 +0000 (17:13 +0200)]
uio: fix compilation with -Og

The compilation with gcc-6.3.0 and EXTRA_CFLAGS=-Og gives the following
error:

  CC eal_pci_uio.o
  eal_pci_uio.c: In function ‘pci_get_uio_de ’:
  eal_pci_uio.c:221:9: error: ‘uio_num’ may be used uninitialized in
                       this function [-Werror=maybe-uninitialized]
  return uio_num;
         ^~~~~~~

This is a false positive: gcc is not able to see that when e != NULL,
uio_num is always set. Fix the warning by initializing uio_num to -1,
and by the way, change the type to int.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
7 years agonet/qede: fix compilation with -Og
Olivier Matz [Mon, 11 Sep 2017 15:13:25 +0000 (17:13 +0200)]
net/qede: fix compilation with -Og

The compilation with gcc-6.3.0 and EXTRA_CFLAGS=-Og gives the following
error:

  CC qede_rxtx.o
  qede_rxtx.c: In function ‘qede_start_queues’:
  qede_rxtx.c:797:9: error: ‘rc’ may be used uninitialized in this
                            function [-Werror=maybe-uninitialized]
    return rc;
           ^~

If there is no Rx or Tx queue, rc will not be initialized. Fix it
by initializing rc to -1.

Fixes: 4c4bdadfa9e7 ("net/qede: refactoring multi-queue implementation")
Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Harish Patil <harish.patil@cavium.com>
7 years agonet/bnxt: fix compilation with -Og
Olivier Matz [Mon, 11 Sep 2017 15:13:24 +0000 (17:13 +0200)]
net/bnxt: fix compilation with -Og

The compilation with gcc-6.3.0 and EXTRA_CFLAGS=-Og gives the following
error:

  CC rte_pmd_bnxt.o
  rte_pmd_bnxt.c: In function ‘rte_pmd_bnxt_set_all_queues_drop_en’:
  rte_pmd_bnxt.c:116:6: error: ‘rc’ may be used uninitialized in this
                        function [-Werror=maybe-uninitialized]
    int rc;
        ^~

This can happen if both bp->nr_vnics and bp->pf.active_vfs are 0.
Fix it by initializing rc to -EINVAL.

Fixes: 49947a13ba9e ("net/bnxt: support Tx loopback, set VF MAC and queues drop")
Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
7 years agonet/mlx5: fix overflow of Rx SW ring
Yongseok Koh [Thu, 5 Oct 2017 21:37:29 +0000 (14:37 -0700)]
net/mlx5: fix overflow of Rx SW ring

If vectorized Rx burst is short of mbufs in replenishment, Rx SW ring can
overflow as the Rx burst handles 4 packets in a loop. This is because the
function fills SW ring and its mbufs first and checks validity of
each completion later. So, there should be some buffer slots at the tail of
the ring to protect mbufs which are already owned by application.

Fixes: 6cb559d67b83 ("net/mlx5: add vectorized Rx/Tx burst for x86")
Cc: stable@dpdk.org
Reported-by: Martin Weiser <martin.weiser@allegro-packets.com>
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
7 years agonet/tap: allow RSS flow action
Matan Azrad [Tue, 3 Oct 2017 14:55:56 +0000 (14:55 +0000)]
net/tap: allow RSS flow action

One of the main identified use cases for the tap PMD is to be used in
combination with the fail-safe PMD as a fallback for a physical device.

Fail-safe is very strict about making sure its current configuration is
properly applied to all slave devices, they get rejected otherwise in
order to maintain a consistent state.

The problem is that tap's RSS support is currently limited to the
default (non-Toeplitz) balancing performed by the kernel on all Rx
queues. While proper RSS support emulation in the tap PMD is a work in
progress, the lack of rte_flow counterpart prevents validation of the
above use case in the meantime.

Given that unlike most PMDs, tap is more about convenience than
performance, support for the RSS action can be temporarily faked with
a minimum amount of code and mostly correct behavior by treating it
like a QUEUE action. Traffic is directed to the first queue of the set.

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
7 years agonet/i40e: enable cloud filter for GTP-C and GTP-U
Beilei Xing [Thu, 5 Oct 2017 08:14:57 +0000 (16:14 +0800)]
net/i40e: enable cloud filter for GTP-C and GTP-U

This patch sets TEID of GTP-C and GTP-U as filter type
by replacing existed filter types inner_mac and TUNNEL_KEY.
This configuration will be set when adding GTP-C or
GTP-U 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>
7 years agonet/i40e: add cloud filter parsing function for GTP
Beilei Xing [Thu, 5 Oct 2017 08:14:56 +0000 (16:14 +0800)]
net/i40e: add cloud filter parsing function for GTP

This patch adds i40e_flow_parse_gtp_filter parsing
function for GTP-C and GTP-U to support cloud filter.

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e: add FDIR support for GTP-C and GTP-U
Beilei Xing [Thu, 5 Oct 2017 08:14:55 +0000 (16:14 +0800)]
net/i40e: add FDIR support for GTP-C and GTP-U

This patch adds FDIR support for GTP-C and GTP-U. The
input set of GTP-C and GTP-U is TEID.

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Reviewed-by: Seán Harte <seanbh@gmail.com>
7 years agonet/i40e: finish integration FDIR with generic flow API
Beilei Xing [Thu, 5 Oct 2017 08:14:54 +0000 (16:14 +0800)]
net/i40e: finish integration FDIR with generic flow API

rte_eth_fdir_* structures are still used in FDIR functions.
This patch adds i40e private FDIR related structures and
functions to finish integration FDIR with generic flow API.

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
7 years agoethdev: add GTP items to support flow API
Beilei Xing [Thu, 5 Oct 2017 08:14:53 +0000 (16:14 +0800)]
ethdev: add GTP items to support flow API

This patch adds GTP, GTPC and GTPU items for
generic flow API, and also exposes item fields
through the flow command.

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Reviewed-by: Seán Harte <seanbh@gmail.com>
7 years agonet/i40e: update ptype and pctype info
Beilei Xing [Thu, 5 Oct 2017 08:14:52 +0000 (16:14 +0800)]
net/i40e: update ptype and pctype info

Update new packet type and new pctype info when downloading
profile.

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agombuf: support GTP in software packet type parser
Beilei Xing [Thu, 5 Oct 2017 08:14:51 +0000 (16:14 +0800)]
mbuf: support GTP in software packet type parser

Add support of GTP-C and GTP-U tunnels in rte_net_get_ptype().

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Reviewed-by: Seán Harte <seanbh@gmail.com>
7 years agonet/bnxt: add missing PMD feature list
Ajit Khaparde [Thu, 5 Oct 2017 15:06:45 +0000 (10:06 -0500)]
net/bnxt: add missing PMD feature list

bnxt.ini was not updated correctly. This patch fixes it.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: fix number of MAC addresses for VMDq
Ajit Khaparde [Thu, 5 Oct 2017 15:06:44 +0000 (10:06 -0500)]
net/bnxt: fix number of MAC addresses for VMDq

We were hardcoding the max MAC addresses to 32, while the HW
can support more than that. This was restricting the number of VMDQ
pools that we could support. Use the value obtained from FW instead.

Fixes: 804e746c7b73 ("net/bnxt: add hardware resource manager init code")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: add ntuple filtering support
Ajit Khaparde [Thu, 5 Oct 2017 15:06:43 +0000 (10:06 -0500)]
net/bnxt: add ntuple filtering support

Add support for ntuple filtering.
Only RTE_5TUPLE_FLAGS is supported currently.
RTE_2TUPLE_FLAGS is not supported.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agoethdev: remove unnecessary check for new flow type
Kirill Rybalchenko [Wed, 4 Oct 2017 12:52:13 +0000 (13:52 +0100)]
ethdev: remove unnecessary check for new flow type

Remove unnecessary check for new flow type for rss hash filter update.

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoapp/testpmd: support updating pctype mapping
Kirill Rybalchenko [Wed, 4 Oct 2017 12:52:12 +0000 (13:52 +0100)]
app/testpmd: support updating pctype mapping

Add new commands to manipulate with dynamic flow type to
pctype mapping table in i40e PMD.
Commands allow to print table, modify it and reset to default value.

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agonet/i40e: support updating pctype mapping table
Kirill Rybalchenko [Wed, 4 Oct 2017 12:52:11 +0000 (13:52 +0100)]
net/i40e: support updating pctype mapping table

Add new functions which allow modify, return or reset to default
the contents of flow type to pctype dynamic mapping table.

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agonet/i40e: add dynamic mapping of SW flow types to HW pctypes
Kirill Rybalchenko [Wed, 4 Oct 2017 12:52:10 +0000 (13:52 +0100)]
net/i40e: add dynamic mapping of SW flow types to HW pctypes

Implement dynamic mapping of software flow types to hardware pctypes.
This allows to add new flow types and pctypes for DDP without changing
API of the driver. The mapping table is located in private
data area for particular network adapter and can be individually
modified with set of appropriate functions.

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agonet/i40e: remove unnecessary bit operations
Kirill Rybalchenko [Wed, 4 Oct 2017 12:52:09 +0000 (13:52 +0100)]
net/i40e: remove unnecessary bit operations

Remove unnecessary bit operations in I40E_PFQF_HENA
and I40E_VFQF_HENA registers.

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoapp/testpmd: get ddp profile protocol info
Kirill Rybalchenko [Wed, 4 Oct 2017 14:00:04 +0000 (15:00 +0100)]
app/testpmd: get ddp profile protocol info

Update 'ddp get info' command to display protocols defined in  a profile

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agonet/i40e: get ddp profile protocol info
Kirill Rybalchenko [Wed, 4 Oct 2017 14:00:03 +0000 (15:00 +0100)]
net/i40e: get ddp profile protocol info

This patch adds new package info types to get list of protocols,
pctypes and ptypes defined in a profile

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agodoc: add details on ethdev offloads API
Shahaf Shuler [Wed, 4 Oct 2017 08:18:01 +0000 (11:18 +0300)]
doc: add details on ethdev offloads API

Add the programmers guide details on the new offloads API introduced
by commits:

commit 67a1a59b597f ("ethdev: introduce Rx queue offloads API")
commit f883eb32e2d4 ("ethdev: introduce Tx queue offloads API")

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agoethdev: add mbuf fast free Tx offload
Shahaf Shuler [Wed, 4 Oct 2017 08:18:00 +0000 (11:18 +0300)]
ethdev: add mbuf fast free Tx offload

PMDs which expose this offload cap supports optimization for fast release
of mbufs following successful Tx.
Such optimization requires that per queue, all mbufs come from the same
mempool and has refcnt = 1.

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agoethdev: introduce Tx queue offloads API
Shahaf Shuler [Wed, 4 Oct 2017 08:17:59 +0000 (11:17 +0300)]
ethdev: introduce Tx queue offloads API

Introduce a new API to configure Tx offloads.

In the new API, offloads are divided into per-port and per-queue
offloads. The PMD reports capability for each of them.
Offloads are enabled using the existing DEV_TX_OFFLOAD_* flags.
To enable per-port offload, the offload should be set on both device
configuration and queue configuration. To enable per-queue offload, the
offloads can be set only on queue configuration.

In addition the Tx offloads will be disabled by default and be
enabled per application needs. This will much simplify PMD management of
the different offloads.

Applications should set the ETH_TXQ_FLAGS_IGNORE flag on txq_flags
field in order to move to the new API.

The old Tx offloads API is kept for the meanwhile, in order to enable a
smooth transition for PMDs and application to the new API.

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agoethdev: introduce Rx queue offloads API
Shahaf Shuler [Wed, 4 Oct 2017 08:17:58 +0000 (11:17 +0300)]
ethdev: introduce Rx queue offloads API

Introduce a new API to configure Rx offloads.

In the new API, offloads are divided into per-port and per-queue
offloads. The PMD reports capability for each of them.
Offloads are enabled using the existing DEV_RX_OFFLOAD_* flags.
To enable per-port offload, the offload should be set on both device
configuration and queue configuration. To enable per-queue offload, the
offloads can be set only on queue configuration.

Applications should set the ignore_offload_bitfield bit on rxmode
structure in order to move to the new API.

The old Rx offloads API is kept for the meanwhile, in order to enable a
smooth transition for PMDs and application to the new API.

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agonet/sfc: add device state check to reta update
Ivan Malov [Wed, 4 Oct 2017 07:34:26 +0000 (08:34 +0100)]
net/sfc: add device state check to reta update

The callback must not attempt to program RSS table to the HW
in non-started state; the new table must be remembered and
applied on the next start

Fixes: 32bcfb0a50b1 ("net/sfc: update RSS redirection table")
Cc: stable@dpdk.org
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
7 years agonet/igb: add i210 flashless device ids
Markus Theil [Mon, 21 Aug 2017 11:47:25 +0000 (13:47 +0200)]
net/igb: add i210 flashless device ids

This patch adds two missing device IDs for Intel i210 chips in flashless
mode. Copper flashless mode was tested on a PC Engines APU2C4 board.

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
7 years agoapp/testpmd: port info prints dynamically mapped flow types
Kirill Rybalchenko [Wed, 20 Sep 2017 15:06:27 +0000 (16:06 +0100)]
app/testpmd: port info prints dynamically mapped flow types

Port info command prints information about all supported flow types,
including dynamically mapped ones.

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Reviewed-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/bonding: support bifurcated driver in eal
Gowrishankar Muthukrishnan [Wed, 20 Sep 2017 18:04:58 +0000 (23:34 +0530)]
net/bonding: support bifurcated driver in eal

At present, creating bonding devices using --vdev is broken for PMD like
mlx5 as it is neither UIO nor VFIO based and hence PMD driver is unknown
to find_port_id_by_pci_addr(), as below.

testpmd <EAL args> --vdev 'net_bonding0,mode=1,slave=<PCI>,socket_id=0'

PMD: bond_ethdev_parse_slave_port_kvarg(150) - Invalid slave port value
 (<PCI ID>) specified
EAL: Failed to parse slave ports for bonded device net_bonding0

This patch fixes parsing PCI ID from bonding device params by verifying
it in RTE PCI bus, rather than checking dev->kdrv.

Fixes: eac901ce29be ("ethdev: decouple from PCI device")
Cc: stable@dpdk.org
Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Reviewed-by: Gaetan Rivet <gaetan.rivet@6wind.com>
7 years agonet/dpaa: support extended statistics
Hemant Agrawal [Thu, 28 Sep 2017 12:30:00 +0000 (18:00 +0530)]
net/dpaa: support extended statistics

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agonet/dpaa: support firmware version get API
Hemant Agrawal [Thu, 28 Sep 2017 12:29:59 +0000 (17:59 +0530)]
net/dpaa: support firmware version get API

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agonet/dpaa: add packet dump for debugging
Shreyansh Jain [Thu, 28 Sep 2017 12:29:58 +0000 (17:59 +0530)]
net/dpaa: add packet dump for debugging

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support scattered Rx
Shreyansh Jain [Thu, 28 Sep 2017 12:29:57 +0000 (17:59 +0530)]
net/dpaa: support scattered Rx

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support checksum offload
Shreyansh Jain [Thu, 28 Sep 2017 12:29:56 +0000 (17:59 +0530)]
net/dpaa: support checksum offload

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support packet type parsing
Shreyansh Jain [Thu, 28 Sep 2017 12:29:55 +0000 (17:59 +0530)]
net/dpaa: support packet type parsing

Add support for parsing the packet type and L2/L3 checksum offload
capability information.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support hashed RSS
Shreyansh Jain [Thu, 28 Sep 2017 12:29:54 +0000 (17:59 +0530)]
net/dpaa: support hashed RSS

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support flow control
Shreyansh Jain [Thu, 28 Sep 2017 12:29:53 +0000 (17:59 +0530)]
net/dpaa: support flow control

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support basic stats
Shreyansh Jain [Thu, 28 Sep 2017 12:29:52 +0000 (17:59 +0530)]
net/dpaa: support basic stats

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support MAC address update
Shreyansh Jain [Thu, 28 Sep 2017 12:29:51 +0000 (17:59 +0530)]
net/dpaa: support MAC address update

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support multicast toggle
Shreyansh Jain [Thu, 28 Sep 2017 12:29:50 +0000 (17:59 +0530)]
net/dpaa: support multicast toggle

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support promiscuous toggle
Shreyansh Jain [Thu, 28 Sep 2017 12:29:49 +0000 (17:59 +0530)]
net/dpaa: support promiscuous toggle

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support device info and speed capability
Shreyansh Jain [Thu, 28 Sep 2017 12:29:48 +0000 (17:59 +0530)]
net/dpaa: support device info and speed capability

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support link status update
Shreyansh Jain [Thu, 28 Sep 2017 12:29:47 +0000 (17:59 +0530)]
net/dpaa: support link status update

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support jumbo frames
Shreyansh Jain [Thu, 28 Sep 2017 12:29:46 +0000 (17:59 +0530)]
net/dpaa: support jumbo frames

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support MTU update
Shreyansh Jain [Thu, 28 Sep 2017 12:29:45 +0000 (17:59 +0530)]
net/dpaa: support MTU update

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: support Tx and Rx queue setup
Shreyansh Jain [Thu, 28 Sep 2017 12:29:44 +0000 (17:59 +0530)]
net/dpaa: support Tx and Rx queue setup

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agoconfig: enable NXP DPAA PMD compilation
Shreyansh Jain [Thu, 28 Sep 2017 12:29:43 +0000 (17:59 +0530)]
config: enable NXP DPAA PMD compilation

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/dpaa: add NXP DPAA PMD driver skeleton
Shreyansh Jain [Thu, 28 Sep 2017 12:29:42 +0000 (17:59 +0530)]
net/dpaa: add NXP DPAA PMD driver skeleton

A skeleton which would be called after bus device scan. It currently
fails to identify the device.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add DPAA PMD logging macros
Shreyansh Jain [Thu, 28 Sep 2017 12:29:41 +0000 (17:59 +0530)]
bus/dpaa: add DPAA PMD logging macros

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agoconfig: enable compilation of DPAA mempool driver
Shreyansh Jain [Thu, 28 Sep 2017 12:29:40 +0000 (17:59 +0530)]
config: enable compilation of DPAA mempool driver

This patch also adds configuration necessary for compilation of DPAA
Mempool driver into the DPAA specific config file.
CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS=dpaa is also configured to allow
applications to use DPAA mempool as default.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agomempool/dpaa: support NXP DPAA mempool
Shreyansh Jain [Thu, 28 Sep 2017 12:29:39 +0000 (17:59 +0530)]
mempool/dpaa: support NXP DPAA mempool

This Mempool driver works with DPAA BMan hardware block. This block
manages data buffers in memory, and provides efficient interface with
other hardware and software components for buffer requests.

This patch adds support for BMan. Compilation would be enabled in
subsequent patches.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add DPAA mempool logging macros
Shreyansh Jain [Thu, 28 Sep 2017 12:29:38 +0000 (17:59 +0530)]
bus/dpaa: add DPAA mempool logging macros

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agodoc: add NXP DPAA PMD documentation
Shreyansh Jain [Thu, 28 Sep 2017 12:29:37 +0000 (17:59 +0530)]
doc: add NXP DPAA PMD documentation

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: integrate DPAA bus with hardware blocks
Shreyansh Jain [Thu, 28 Sep 2017 12:29:36 +0000 (17:59 +0530)]
bus/dpaa: integrate DPAA bus with hardware blocks

Now that QBMAN (QMAN, BMAN) and FMAN drivers are available, this patch
integrates the DPAA Bus driver for using the drivers for scanning
devices and calling the PMD registered probe callbacks.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add fman flow control threshold setting
Shreyansh Jain [Thu, 28 Sep 2017 12:29:35 +0000 (17:59 +0530)]
bus/dpaa: add fman flow control threshold setting

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add BMAN hardware interfaces
Shreyansh Jain [Thu, 28 Sep 2017 12:29:34 +0000 (17:59 +0530)]
bus/dpaa: add BMAN hardware interfaces

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: support FMAN frame queue lookup
Shreyansh Jain [Thu, 28 Sep 2017 12:29:33 +0000 (17:59 +0530)]
bus/dpaa: support FMAN frame queue lookup

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add BMAN driver core
Shreyansh Jain [Thu, 28 Sep 2017 12:29:32 +0000 (17:59 +0530)]
bus/dpaa: add BMAN driver core

The Buffer Manager (BMan) is a hardware buffer pool management block that
allows software and accelerators on the datapath to acquire and release
buffers in order to build frames.

This patch adds the core routines.

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add QMAN driver core routines
Shreyansh Jain [Thu, 28 Sep 2017 12:29:31 +0000 (17:59 +0530)]
bus/dpaa: add QMAN driver core routines

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add QMAN interface driver
Shreyansh Jain [Thu, 28 Sep 2017 12:29:30 +0000 (17:59 +0530)]
bus/dpaa: add QMAN interface driver

The Queue Manager (QMan) is a hardware queue management block that
allows software and accelerators on the datapath to enqueue and dequeue
frames in order to communicate.

This part of QBMAN DPAA Block.

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add routines for managing a RB tree
Shreyansh Jain [Thu, 28 Sep 2017 12:29:29 +0000 (17:59 +0530)]
bus/dpaa: add routines for managing a RB tree

QMAN frames are managed over a RB tree data structure.
This patch introduces necessary routines for implementing a RB tree.

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add layer for interrupt emulation using pthread
Shreyansh Jain [Thu, 28 Sep 2017 12:29:28 +0000 (17:59 +0530)]
bus/dpaa: add layer for interrupt emulation using pthread

An interrupt manager is implemented by emulating over pthreads.
Handlers are registered by QBMAN layer for being notified about
any interrupt request from DPAA blocks in userspace.

Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: enable DPAA IOCTL portal driver
Shreyansh Jain [Thu, 28 Sep 2017 12:29:27 +0000 (17:59 +0530)]
bus/dpaa: enable DPAA IOCTL portal driver

Userspace applications interact with DPAA blocks using this IOCTL driver.

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add FMAN hardware operations
Shreyansh Jain [Thu, 28 Sep 2017 12:29:26 +0000 (17:59 +0530)]
bus/dpaa: add FMAN hardware operations

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: introducing FMan configurations
Shreyansh Jain [Thu, 28 Sep 2017 12:29:25 +0000 (17:59 +0530)]
bus/dpaa: introducing FMan configurations

FMan or Frame Manager, inspects traffic, splits it into queueson ingress.
It is also responsible for directing traffic on queues on egress.

This patch introduces FMan configurational interfaces. This layer is
used by Bus driver for configuring the hardware block.

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add OF parser for device scanning
Shreyansh Jain [Thu, 28 Sep 2017 12:29:24 +0000 (17:59 +0530)]
bus/dpaa: add OF parser for device scanning

This layer is used by Bus driver's scan function. Devices are parsed
using OF parser and added to DPAA device list.

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/dpaa: add compatibility and helper macros
Hemant Agrawal [Thu, 28 Sep 2017 12:29:23 +0000 (17:59 +0530)]
bus/dpaa: add compatibility and helper macros

Linked list, bit operations and compatibility macros.

Signed-off-by: Geoff Thorpe <geoff.thorpe@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agobus/dpaa: introduce NXP DPAA bus driver skeleton
Shreyansh Jain [Thu, 28 Sep 2017 12:29:22 +0000 (17:59 +0530)]
bus/dpaa: introduce NXP DPAA bus driver skeleton

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agoconfig: add NXP DPAA SoC build configuration
Shreyansh Jain [Thu, 28 Sep 2017 12:29:21 +0000 (17:59 +0530)]
config: add NXP DPAA SoC build configuration

This patch adds skeleton build configuration for DPAA platform.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agonet/vmxnet3: fix dereference before null check
Michal Jastrzebski [Fri, 29 Sep 2017 13:04:02 +0000 (15:04 +0200)]
net/vmxnet3: fix dereference before null check

Coverity reports check_after_deref:
Null-checking rq suggests that it may be null, but it
has already been dereferenced on all paths leading to
the check.
This patch removes NULL checking of "rq" from function
vmxnet3_dev_rx_queue_reset as it is already checked against NULL
one level up the callstack (function vmxnet3_dev_clear_queues).

Coverity issue: 143468
Fixes: 5aecdc17a97d ("vmxnet3: fix stop/restart")
Cc: stable@dpdk.org
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Signed-off-by: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agomk: add silvermont to replace atom as a target
Xiaoyun Li [Fri, 8 Sep 2017 03:28:52 +0000 (11:28 +0800)]
mk: add silvermont to replace atom as a target

The -march=atom flag is for older atom CPUs and don't support SSE4 which
is the minimum requirement for DPDK. And in fact, the current atom CPUs
support SSE4. So this patch removes atom as a target for DPDK builds and
adds a silvermont replacement instead.

Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
7 years agonet/bnxt: support enable/disable interrupt
Somnath Kotur [Thu, 28 Sep 2017 21:43:45 +0000 (16:43 -0500)]
net/bnxt: support enable/disable interrupt

Implement Rx Queue interrupt enable/disable functions

Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: support get/set EEPROM
Somnath Kotur [Thu, 28 Sep 2017 21:43:44 +0000 (16:43 -0500)]
net/bnxt: support get/set EEPROM

Add support for get/set_eeprom, get_eeprom_length dev_ops.
Defined the structures required to get/set the eeprom length/data
in hsi_struct_defs hdr file along with implementation.

Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: support getting ptypes
Ajit Khaparde [Thu, 28 Sep 2017 21:43:43 +0000 (16:43 -0500)]
net/bnxt: support getting ptypes

This patch adds support for dev_supported_ptypes_get

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: fix interrupt handler
Ajit Khaparde [Thu, 28 Sep 2017 21:43:42 +0000 (16:43 -0500)]
net/bnxt: fix interrupt handler

In some cases the interrupt handler is accessing cpr, which has
already been freed causing segfaults. This patch avoids such accesses.

Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
7 years agonet/bnxt: fix per queue stats display in xstats
Ajit Khaparde [Thu, 28 Sep 2017 21:43:41 +0000 (16:43 -0500)]
net/bnxt: fix per queue stats display in xstats

While gathering per queue stats, we are overwriting some of the
stats. This causes some of the counters in xstats to be incorrect.

Fixes: 577d3dced0dc ("net/bnxt: refactor the query stats")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>