#
6d7d651b |
| 16-May-2022 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: read firmware configuration file from filesystem
Add support to read firmware configuration file from /lib/firmware/cxgb4/ path in the filesystem. The firmware config file is used to enab
net/cxgbe: read firmware configuration file from filesystem
Add support to read firmware configuration file from /lib/firmware/cxgb4/ path in the filesystem. The firmware config file is used to enable or disable NIC features before firmware initialization to help retrieve better debug data to analyze firmware init failures. The config file can also be used to redistribute resources, like queues, TCAMs, etc., from disabled physical functions (PFs) to main PF, before firmware init.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
422d7823 |
| 02-Jun-2021 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: add MAC match-all to track promiscuous traffic
Chelsio T6 ASIC doesn't track Rx promisc traffic dropped due to lack of Rx buffers and hence the imissed counter doesn't increment. Add supp
net/cxgbe: add MAC match-all to track promiscuous traffic
Chelsio T6 ASIC doesn't track Rx promisc traffic dropped due to lack of Rx buffers and hence the imissed counter doesn't increment. Add support for RAW MAC filter to insert a wildcard matchall rule at the end of MPS TCAM to make MPS track the promisc traffic. This rule will only be added/removed when promisc mode is turned on/off on the interface.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
23d5fee3 |
| 15-Mar-2021 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: disable Rx during port link down
When link goes down, disable the port's Rx path to drop the incoming traffic closer to the wire, instead of accepting them in for further Rx processing, o
net/cxgbe: disable Rx during port link down
When link goes down, disable the port's Rx path to drop the incoming traffic closer to the wire, instead of accepting them in for further Rx processing, only to eventually drop them at the port's RxQs. This prevents unnecessary congestion in the Rx path. The port's Rx path will be re-enabled once the link up event is received in the firmware event queue.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
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 ...
|
#
439009e4 |
| 20-Dec-2020 |
Karra Satwik <kaara.satwik@chelsio.com> |
net/cxgbe: remove legacy 16-bit link capabilities
Remove legacy 16-bit link capabilities and always request for the 32-bit link capabilities from firmware.
Signed-off-by: Karra Satwik <kaara.satwik
net/cxgbe: remove legacy 16-bit link capabilities
Remove legacy 16-bit link capabilities and always request for the 32-bit link capabilities from firmware.
Signed-off-by: Karra Satwik <kaara.satwik@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
2e40fdc2 |
| 12-Jun-2020 |
Karra Satwik <kaara.satwik@chelsio.com> |
net/cxgbe: always enable HASH filter support
Disable all unused firmware resources during init time to give more resources for HASH (exact-match) filter region and always request firmware to enable
net/cxgbe: always enable HASH filter support
Disable all unused firmware resources during init time to give more resources for HASH (exact-match) filter region and always request firmware to enable HASH filter support when resources are available.
Signed-off-by: Karra Satwik <kaara.satwik@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.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 ...
|
#
629315fb |
| 11-Mar-2020 |
Karra Satwik <kaara.satwik@chelsio.com> |
net/cxgbe: use firmware API for validating filter spec
Add new firmware API FW_PARAM_DEV_FILTER_MODE_MASK to fetch the filtermode and filtermask values configured in hardware, which are used to vali
net/cxgbe: use firmware API for validating filter spec
Add new firmware API FW_PARAM_DEV_FILTER_MODE_MASK to fetch the filtermode and filtermask values configured in hardware, which are used to validate the match combinations in the filter spec before offloading the filter rules to hardware. For older firmware that doesn't support the new API, fallback to older way of directly reading from indirect registers
Signed-off-by: Karra Satwik <kaara.satwik@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
993541b2 |
| 11-Mar-2020 |
Karra Satwik <kaara.satwik@chelsio.com> |
net/cxgbe: support flow API for source MAC rewrite
Add support to rewrite Source MAC addresses. The new Source MAC address is written into a free entry in the SMT table and the corresponding SMT ind
net/cxgbe: support flow API for source MAC rewrite
Add support to rewrite Source MAC addresses. The new Source MAC address is written into a free entry in the SMT table and the corresponding SMT index is used by hardware to rewrite the Source MAC address of the packets hitting the flow.
Signed-off-by: Karra Satwik <kaara.satwik@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
a99564c6 |
| 11-Mar-2020 |
Karra Satwik <kaara.satwik@chelsio.com> |
net/cxgbe: support Source MAC Table
Source MAC Table (SMT) is used for storing Source MAC addresses to be written in packets transmitted on the wire. Hence, the SMT table can be used for overwriting
net/cxgbe: support Source MAC Table
Source MAC Table (SMT) is used for storing Source MAC addresses to be written in packets transmitted on the wire. Hence, the SMT table can be used for overwriting Source MAC addresses in packets, hitting corresponding filter rules inserted by the rte_flow API.
Query firmware for SMT start and size information available to the underlying PF. Allocate and maintain the corresponding driver's copy of the hardware SMT table, with appropriate refcount mechanism. If SMT information is not available, then use the entire hardware SMT table.
Signed-off-by: Karra Satwik <kaara.satwik@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
24c1d49a |
| 11-Mar-2020 |
Karra Satwik <kaara.satwik@chelsio.com> |
net/cxgbe: support flow API for matching all packets on VF
Add support to match all packets received on the underlying VF.
Use new firmware API to fetch the Virtual Interface Number (VIN) allocated
net/cxgbe: support flow API for matching all packets on VF
Add support to match all packets received on the underlying VF.
Use new firmware API to fetch the Virtual Interface Number (VIN) allocated to each VF by the firmware. The VIN is required to write filter rules to match all packets on VFs, whose identifier is beyond max 7-bit value (i.e. 127) in VIID.
If firmware doesn't support fetching the VIN information, then fallback to manually retrieving the VIN value from the 7-bit field in the VIID, which only supports in range of 0..127. In this case, packets belonging to VFs, whose identifier is beyond 127 can't be matched.
Signed-off-by: Karra Satwik <kaara.satwik@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
51abd7b2 |
| 27-Sep-2019 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: fetch max Tx coalesce limit from firmware
Query firmware for max number of packets that can be coalesced by Tx.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
|
#
f683a520 |
| 15-Oct-2018 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: add action to swap MAC addresses
Implement RTE_FLOW_ACTION_TYPE_MAC_SWAP to offload flows with action to swap the source and destination MAC addresses in the outermost Ethernet header.
S
net/cxgbe: add action to swap MAC addresses
Implement RTE_FLOW_ACTION_TYPE_MAC_SWAP to offload flows with action to swap the source and destination MAC addresses in the outermost Ethernet header.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
48f523f6 |
| 09-Oct-2018 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: add flow actions to modify IP and TCP/UDP port
Query firmware for the new filter work request to offload flows with actions to modify IP and TCP/UDP port addresses. When available, transl
net/cxgbe: add flow actions to modify IP and TCP/UDP port
Query firmware for the new filter work request to offload flows with actions to modify IP and TCP/UDP port addresses. When available, translate IP and TCP/UDP port address modify actions to internal hardware specification and offload the flow to hardware.
Original work by Shagun Agrawal
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
6fda3f0d |
| 27-Aug-2018 |
Shagun Agrawal <shaguna@chelsio.com> |
net/cxgbe: add API to program hardware MPS table
Add API to program and manage hardware Multi Port Switch table. MPS holds destination MAC addresses to be matched against incoming packets for furthe
net/cxgbe: add API to program hardware MPS table
Add API to program and manage hardware Multi Port Switch table. MPS holds destination MAC addresses to be matched against incoming packets for further rule processing. Packets not matching any entry in MPS table will be dropped by default, unless the underlying port is in promiscuous mode.
Signed-off-by: Shagun Agrawal <shaguna@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
23af667f |
| 27-Aug-2018 |
Shagun Agrawal <shaguna@chelsio.com> |
net/cxgbe: add API to program hardware layer 2 table
Add API to program and manage hardware Layer 2 Table. L2T holds information necessary to rewrite specific fields in packet, such as destination M
net/cxgbe: add API to program hardware layer 2 table
Add API to program and manage hardware Layer 2 Table. L2T holds information necessary to rewrite specific fields in packet, such as destination MAC address and vlan id.
Signed-off-by: Shagun Agrawal <shaguna@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
3abe1719 |
| 29-Jun-2018 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: fix Rx channel map and queue type
Set the Rx channel map and ingress queue type properly to allow firmware to manage the internal mapping correctly.
Fixes: 6c2809628cd5 ("net/cxgbe: impr
net/cxgbe: fix Rx channel map and queue type
Set the Rx channel map and ingress queue type properly to allow firmware to manage the internal mapping correctly.
Fixes: 6c2809628cd5 ("net/cxgbe: improve latency for slow traffic") Cc: stable@dpdk.org
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
87a3ae3e |
| 29-Jun-2018 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: query firmware for max queues available
Query firmware for max Tx and Rx queues that can be allocated. Move the code to determine max queues to common place for both PF and VF.
Signed-of
net/cxgbe: query firmware for max queues available
Query firmware for max Tx and Rx queues that can be allocated. Move the code to determine max queues to common place for both PF and VF.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
41dc98b0 |
| 29-Jun-2018 |
Shagun Agrawal <shaguna@chelsio.com> |
net/cxgbe: support to delete flows in HASH region
Add interface to delete offloaded flows in HASH region. Use the hash index saved during insertion to delete the corresponding flow.
Signed-off-by:
net/cxgbe: support to delete flows in HASH region
Add interface to delete offloaded flows in HASH region. Use the hash index saved during insertion to delete the corresponding flow.
Signed-off-by: Shagun Agrawal <shaguna@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
af44a577 |
| 29-Jun-2018 |
Shagun Agrawal <shaguna@chelsio.com> |
net/cxgbe: support to offload flows to HASH region
Add interface to offload flows to HASH region. Translate internal filter specification to requests to offload flows to HASH region. Save the return
net/cxgbe: support to offload flows to HASH region
Add interface to offload flows to HASH region. Translate internal filter specification to requests to offload flows to HASH region. Save the returned hash index of the offloaded flow for deletion later.
Signed-off-by: Shagun Agrawal <shaguna@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
3f2c1e20 |
| 29-Jun-2018 |
Shagun Agrawal <shaguna@chelsio.com> |
net/cxgbe: add Compressed Local IP region
CLIP region holds destination IPv6 addresses to be matched for corresponding flows. Query firmware for CLIP resources and allocate table to manage them. Als
net/cxgbe: add Compressed Local IP region
CLIP region holds destination IPv6 addresses to be matched for corresponding flows. Query firmware for CLIP resources and allocate table to manage them. Also update LE-TCAM to use CLIP to reduce number of slots needed to offload IPv6 flows.
Signed-off-by: Shagun Agrawal <shaguna@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
9eb2c9a4 |
| 08-Jun-2018 |
Shagun Agrawal <shaguna@chelsio.com> |
net/cxgbe: implement flow create operation
Define filter work request API used to construct filter operations to be communicated with firmware. These requests are sent via control queue and completi
net/cxgbe: implement flow create operation
Define filter work request API used to construct filter operations to be communicated with firmware. These requests are sent via control queue and completions come asynchronously in firmware event queue.
Implement flow create operation to create filters in LE-TCAM (maskfull) region at specified index.
Signed-off-by: Shagun Agrawal <shaguna@chelsio.com> Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
3a3aaabc |
| 08-Jun-2018 |
Shagun Agrawal <shaguna@chelsio.com> |
net/cxgbe: add control queue to communicate filter requests
Add control queue to communicate filter creation/deletion requests with firmware. This API will be used by subsequent patches.
Signed-off
net/cxgbe: add control queue to communicate filter requests
Add control queue to communicate filter creation/deletion requests with firmware. This API will be used by subsequent patches.
Signed-off-by: Shagun Agrawal <shaguna@chelsio.com> Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
6f2a064b |
| 08-Jun-2018 |
Shagun Agrawal <shaguna@chelsio.com> |
net/cxgbe: query firmware for filter resources
Fetch available filter resources from firmware and allocate table for book-keeping and managing filters in hardware. Also define the hardware filter sp
net/cxgbe: query firmware for filter resources
Fetch available filter resources from firmware and allocate table for book-keeping and managing filters in hardware. Also define the hardware filter specification (ch_filter_specification) used to describe each filter rule.
Signed-off-by: Shagun Agrawal <shaguna@chelsio.com> Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|