#
62aafe03 |
| 20-Dec-2020 |
Karra Satwik <kaara.satwik@chelsio.com> |
net/cxgbe: support configuring link FEC
Add ethdev ops to query and configure link FEC.
Signed-off-by: Karra Satwik <kaara.satwik@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chel
net/cxgbe: support configuring link FEC
Add ethdev ops to query and configure link FEC.
Signed-off-by: Karra Satwik <kaara.satwik@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
a83041b1 |
| 20-Dec-2020 |
Karra Satwik <kaara.satwik@chelsio.com> |
net/cxgbe: rework and simplify link handling
Rework and simplify link handling code. Remove redundant variables in link configuration structure and directly extract information from the 32-bit link
net/cxgbe: rework and simplify link handling
Rework and simplify link handling code. Remove redundant variables in link configuration structure and directly extract information from the 32-bit link capabilities.
Signed-off-by: Karra Satwik <kaara.satwik@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
f30e69b4 |
| 14-Oct-2020 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: add device flag to bypass auto-filled queue xstats
Queue stats are stored in 'struct rte_eth_stats' as array and array size is defined by 'RTE_ETHDEV_QUEUE_STAT_CNTRS' compile time flag.
As
ethdev: add device flag to bypass auto-filled queue xstats
Queue stats are stored in 'struct rte_eth_stats' as array and array size is defined by 'RTE_ETHDEV_QUEUE_STAT_CNTRS' compile time flag.
As a result of technical board discussion, decided to remove the queue statistics from 'struct rte_eth_stats' in the long term.
Instead PMDs should represent the queue statistics via xstats, this gives more flexibility on the number of the queues supported.
Currently queue stats in the xstats are filled by ethdev layer, using some basic stats, when queue stats removed from basic stats the responsibility to fill the relevant xstats will be pushed to the PMDs.
During the switch period, temporary 'RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS' device flag is created. Initially all PMDs using xstats set this flag. The PMDs implemented queue stats in the xstats should clear the flag.
When all PMDs switch to the xstats for the queue stats, queue stats related fields from 'struct rte_eth_stats' will be removed, as well as 'RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS' flag. Later 'RTE_ETHDEV_QUEUE_STAT_CNTRS' compile time flag also can be removed.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Haiyue Wang <haiyue.wang@intel.com> Acked-by: Xiao Wang <xiao.w.wang@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
62024eb8 |
| 15-Oct-2020 |
Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> |
ethdev: change stop operation callback to return int
Change eth_dev_stop_t return value from void to int. Make eth_dev_stop_t implementations across all drivers to return negative errno values if ca
ethdev: change stop operation callback to return int
Change eth_dev_stop_t return value from void to int. Make eth_dev_stop_t implementations across all drivers to return negative errno values if case of error conditions.
Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
8a5a0aad |
| 16-Oct-2020 |
Thomas Monjalon <thomas@monjalon.net> |
ethdev: allow close function to return an error
The API function rte_eth_dev_close() was returning void. The return type is changed to int for notifying of errors.
If an error happens during a clos
ethdev: allow close function to return an error
The API function rte_eth_dev_close() was returning void. The return type is changed to int for notifying of errors.
If an error happens during a close operation, the status of the port is undefined, a maximum of resources having been freed.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Liron Himi <lironh@marvell.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
30410493 |
| 28-Sep-2020 |
Thomas Monjalon <thomas@monjalon.net> |
drivers/net: check process type in close operation
The secondary processes are not allowed to release shared resources. Only process-private resources should be freed in a secondary process. Most of
drivers/net: check process type in close operation
The secondary processes are not allowed to release shared resources. Only process-private resources should be freed in a secondary process. Most of the time, there is no process-private resource, so the close operation is just forbidden in a secondary process.
After adding proper check in the port close functions, some redundant checks in the device remove functions are dropped.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Rosen Xu <rosen.xu@intel.com> Reviewed-by: Sachin Saxena <sachin.saxena@oss.nxp.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Liron Himi <lironh@marvell.com> Reviewed-by: Haiyue Wang <haiyue.wang@intel.com> Acked-by: Jeff Guo <jia.guo@intel.com> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
b142387b |
| 28-Sep-2020 |
Thomas Monjalon <thomas@monjalon.net> |
ethdev: allow drivers to return error on close
The device operation .dev_close was returning void. This driver interface is changed to return an int.
Note that the API rte_eth_dev_close() is still
ethdev: allow drivers to return error on close
The device operation .dev_close was returning void. This driver interface is changed to return an int.
Note that the API rte_eth_dev_close() is still returning void, although a deprecation notice is pending to change it as well.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Rosen Xu <rosen.xu@intel.com> Reviewed-by: Sachin Saxena <sachin.saxena@oss.nxp.com> Reviewed-by: Liron Himi <lironh@marvell.com> Reviewed-by: Haiyue Wang <haiyue.wang@intel.com> Acked-by: Jeff Guo <jia.guo@intel.com> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
f2d344df |
| 11-Sep-2020 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: support RSS redirection table update
Implement eth_dev_ops to manipulate RSS redirection table.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
|
#
e30e5407 |
| 11-Sep-2020 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: improve Rx congestion control
Chelsio T6 NIC can support up to 8 priority channels to manage congestion. So, increase to 8 congestion channels for T6. Also, add Rxq state to avoid unneces
net/cxgbe: improve Rx congestion control
Chelsio T6 NIC can support up to 8 priority channels to manage congestion. So, increase to 8 congestion channels for T6. Also, add Rxq state to avoid unnecessarily ringing doorbell and polling the hardware for more traffic when the Rxq is stopped.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
7b3d5298 |
| 11-Sep-2020 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: rework queue allocation between ports
Firmware returns the max queues that can be allocated on the entire PF. The driver evenly distributes them across all the ports belonging to the PF.
net/cxgbe: rework queue allocation between ports
Firmware returns the max queues that can be allocated on the entire PF. The driver evenly distributes them across all the ports belonging to the PF. However, some ports may need more queues than others and this equal distribution scheme prevents accessing these other ports unused queues. So, remove the equal distribution scheme and allow the ports to allocate as many queues as they need.
Also remove the hardcoded 64 max limit on queue allocation. Instead, use the max limit given by firmware.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
11df4a68 |
| 01-Sep-2020 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: release port resources during port close
Enable RTE_ETH_DEV_CLOSE_REMOVE during PCI probe for all ports enumerated under the PF. Free up the underlying port Virtual Identifier (VI) and as
net/cxgbe: release port resources during port close
Enable RTE_ETH_DEV_CLOSE_REMOVE during PCI probe for all ports enumerated under the PF. Free up the underlying port Virtual Identifier (VI) and associated resources during port close. Once all the ports under the PF are closed, free up the PF-wide shared resources. Invoke port close function of all ports under the PF, in PCI remove too.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
6b78a629 |
| 01-Sep-2020 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: fix queue DMA ring leaks during port close
Free up the DMA memzones properly for all the port's queues during port close. So, rework DMA ring allocation/free logic to use rte_eth_dma_zone
net/cxgbe: fix queue DMA ring leaks during port close
Free up the DMA memzones properly for all the port's queues during port close. So, rework DMA ring allocation/free logic to use rte_eth_dma_zone_reserve()/rte_eth_dma_zone_free() helper functions for allocating/freeing the memzones.
The firmware event queue doesn't have an associated freelist queue. So, remove check that tries to give memzone name for a non-existent freelist queue.
Also, add a missing free for the control queue mempools.
Fixes: 0462d115441d ("cxgbe: add device related operations") Cc: stable@dpdk.org
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
dca62ade |
| 01-Sep-2020 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: fix crash when accessing empty Tx mbuf list
Ensure packets are available before accessing the mbuf list in Tx burst function. Otherwise, just reclaim completed Tx descriptors and exit.
F
net/cxgbe: fix crash when accessing empty Tx mbuf list
Ensure packets are available before accessing the mbuf list in Tx burst function. Otherwise, just reclaim completed Tx descriptors and exit.
Fixes: b1df19e43e1d ("net/cxgbe: fix prefetch for non-coalesced Tx packets") Cc: stable@dpdk.org
Reported-by: Brian Poole <brian90013@gmail.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
9c99878a |
| 01-Jul-2020 |
Jerin Jacob <jerinj@marvell.com> |
log: introduce logtype register macro
Introduce the RTE_LOG_REGISTER macro to avoid the code duplication in the logtype registration process.
It is a wrapper macro for declaring the logtype, regist
log: introduce logtype register macro
Introduce the RTE_LOG_REGISTER macro to avoid the code duplication in the logtype registration process.
It is a wrapper macro for declaring the logtype, registering it and setting its level in the constructor context.
Signed-off-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Adam Dybkowski <adamx.dybkowski@intel.com> Acked-by: Sachin Saxena <sachin.saxena@nxp.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
536db938 |
| 11-Mar-2020 |
Karra Satwik <kaara.satwik@chelsio.com> |
net/cxgbe: add devargs to control filtermode and filtermask
Apart from the 4-tuple (IP src/dst addresses and TCP/UDP src/dst port addresses), there are only 40-bits available to match other fields i
net/cxgbe: add devargs to control filtermode and filtermask
Apart from the 4-tuple (IP src/dst addresses and TCP/UDP src/dst port addresses), there are only 40-bits available to match other fields in packet headers. Not all combinations of packet header fields can fit in the 40-bit tuple.
Currently, the combination of packet header fields to match are configured via filterMode for LETCAM filters and filterMask for HASH filters in firmware config files (t5/t6-config.txt). So, add devargs to allow User to dynamically select the filterMode and filterMask combination during runtime, without having to modify the firmware config files and reflashing them onto the adapter. A table of supported combinations is maintained by the driver to internally translate the User specified devargs combination to hardware's internal format before writing the requested combination to hardware
Signed-off-by: Karra Satwik <kaara.satwik@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
73fb89dd |
| 14-Nov-2019 |
Andrew Rybchenko <arybchenko@solarflare.com> |
drivers/net: fix RSS hash offload flag if no RSS
By default RSS hash delivery (offload) is bound to RSS mode and it is incorrect to advertise it as enabled if Rx multi-queue mode has no RSS.
Fixes:
drivers/net: fix RSS hash offload flag if no RSS
By default RSS hash delivery (offload) is bound to RSS mode and it is incorrect to advertise it as enabled if Rx multi-queue mode has no RSS.
Fixes: 8b945a7f7dcb ("drivers/net: update Rx RSS hash offload capabilities")
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
8b945a7f |
| 11-Nov-2019 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
drivers/net: update Rx RSS hash offload capabilities
Add DEV_RX_OFFLOAD_RSS_HASH flag for all PMDs that support RSS hash delivery.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Reviewed
drivers/net: update Rx RSS hash offload capabilities
Add DEV_RX_OFFLOAD_RSS_HASH flag for all PMDs that support RSS hash delivery.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
fa033437 |
| 27-Sep-2019 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: add devarg to control Tx coalescing
Remove compile time option to control Tx coalescing Latency vs Throughput behavior. Add tx_mode_latency devarg instead, to dynamically control Tx coale
net/cxgbe: add devarg to control Tx coalescing
Remove compile time option to control Tx coalescing Latency vs Throughput behavior. Add tx_mode_latency devarg instead, to dynamically control Tx coalescing behavior.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
dd7c9f12 |
| 27-Sep-2019 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: separate VF only devargs
Rework devargs parsing logic to separate VF only args.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
|
#
70977725 |
| 27-Sep-2019 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: use dynamic logging for debug prints
Remove compile time flags and use dynamic logging for debug prints. Also remove rarely used debug logs in register access and datapath.
Signed-off-by
net/cxgbe: use dynamic logging for debug prints
Remove compile time flags and use dynamic logging for debug prints. Also remove rarely used debug logs in register access and datapath.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
10fb9e47 |
| 27-Sep-2019 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: avoid polling link status before device start
Link updates come in firmware event queue, which is only created when device starts. So, don't poll for link status if firmware event queue i
net/cxgbe: avoid polling link status before device start
Link updates come in firmware event queue, which is only created when device starts. So, don't poll for link status if firmware event queue is not yet created.
This fixes NULL dereference when accessing non existent firmware event queue.
Fixes: 265af08e75ba ("net/cxgbe: add link up and down ops") Cc: stable@dpdk.org
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
b1df19e4 |
| 27-Sep-2019 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: fix prefetch for non-coalesced Tx packets
Move prefetch code out of Tx coalesce path to allow prefetching for non-coalesced Tx packets, as well.
Fixes: bf89cbedd2d9 ("cxgbe: optimize for
net/cxgbe: fix prefetch for non-coalesced Tx packets
Move prefetch code out of Tx coalesce path to allow prefetching for non-coalesced Tx packets, as well.
Fixes: bf89cbedd2d9 ("cxgbe: optimize forwarding performance for 40G") Cc: stable@dpdk.org
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
ca041cd4 |
| 24-Sep-2019 |
Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> |
ethdev: change allmulticast callbacks to return status
Enabling/disabling of allmulticast mode is not always successful and it should be taken into account to be able to handle it properly.
When co
ethdev: change allmulticast callbacks to return status
Enabling/disabling of allmulticast mode is not always successful and it should be taken into account to be able to handle it properly.
When correct return status is unclear from driver code, -EAGAIN is used.
Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com>
show more ...
|
#
9970a9ad |
| 06-Sep-2019 |
Igor Romanov <igor.romanov@oktetlabs.ru> |
ethdev: make stats and xstats reset callbacks return int
Change return value of the callbacks from void to int. Make implementations across all drivers return negative errno values in case of error
ethdev: make stats and xstats reset callbacks return int
Change return value of the callbacks from void to int. Make implementations across all drivers return negative errno values in case of error conditions.
Both callbacks are updated together because a large number of drivers assign the same function to both callbacks.
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
9039c812 |
| 14-Sep-2019 |
Andrew Rybchenko <arybchenko@solarflare.com> |
ethdev: change promiscuous callbacks to return status
Enabling/disabling of promiscuous mode is not always successful and it should be taken into account to be able to handle it properly.
When corr
ethdev: change promiscuous callbacks to return status
Enabling/disabling of promiscuous mode is not always successful and it should be taken into account to be able to handle it properly.
When correct return status is unclear from driver code, -EAGAIN is used.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Matan Azrad <matan@mellanox.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com>
show more ...
|