#
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>
|
#
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>
|
#
71e9b334 |
| 27-Sep-2019 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: add prefix to global functions
To avoid name collisions, add cxgbe_ prefix to some global functions. Also, make some local functions static in cxgbe_filter.c.
Fixes: ee61f5113b17 ("net/c
net/cxgbe: add prefix to global functions
To avoid name collisions, add cxgbe_ prefix to some global functions. Also, make some local functions static in cxgbe_filter.c.
Fixes: ee61f5113b17 ("net/cxgbe: parse and validate flows") Fixes: 9eb2c9a48072 ("net/cxgbe: implement flow create operation") Fixes: 3a381a4116ed ("net/cxgbe: query firmware for HASH filter resources") Fixes: af44a577988b ("net/cxgbe: support to offload flows to HASH region") Fixes: 41dc98b0827a ("net/cxgbe: support to delete flows in HASH region") Fixes: 23af667f1507 ("net/cxgbe: add API to program hardware layer 2 table") Cc: stable@dpdk.org
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
63a97e58 |
| 29-May-2019 |
Stephen Hemminger <stephen@networkplumber.org> |
net/cxgbe: remove unnecessary cast
The device private pointer (dev_private) is of type void * therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@net
net/cxgbe: remove unnecessary cast
The device private pointer (dev_private) is of type void * therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
64a46f14 |
| 15-May-2019 |
David Marchand <david.marchand@redhat.com> |
net/cxgbe: do not dereference global config struct
Prefer the existing apis rather than direct access the configuration structure.
Fixes: 92c8a63223e5 ("cxgbe: add device configuration and Rx suppo
net/cxgbe: do not dereference global config struct
Prefer the existing apis rather than direct access the configuration structure.
Fixes: 92c8a63223e5 ("cxgbe: add device configuration and Rx support") Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
35b2d13f |
| 21-May-2019 |
Olivier Matz <olivier.matz@6wind.com> |
net: add rte prefix to ether defines
Add 'RTE_' prefix to defines: - rename ETHER_ADDR_LEN as RTE_ETHER_ADDR_LEN. - rename ETHER_TYPE_LEN as RTE_ETHER_TYPE_LEN. - rename ETHER_CRC_LEN as RTE_ETHER_C
net: add rte prefix to ether defines
Add 'RTE_' prefix to defines: - rename ETHER_ADDR_LEN as RTE_ETHER_ADDR_LEN. - rename ETHER_TYPE_LEN as RTE_ETHER_TYPE_LEN. - rename ETHER_CRC_LEN as RTE_ETHER_CRC_LEN. - rename ETHER_HDR_LEN as RTE_ETHER_HDR_LEN. - rename ETHER_MIN_LEN as RTE_ETHER_MIN_LEN. - rename ETHER_MAX_LEN as RTE_ETHER_MAX_LEN. - rename ETHER_MTU as RTE_ETHER_MTU. - rename ETHER_MAX_VLAN_FRAME_LEN as RTE_ETHER_MAX_VLAN_FRAME_LEN. - rename ETHER_MAX_VLAN_ID as RTE_ETHER_MAX_VLAN_ID. - rename ETHER_MAX_JUMBO_FRAME_LEN as RTE_ETHER_MAX_JUMBO_FRAME_LEN. - rename ETHER_MIN_MTU as RTE_ETHER_MIN_MTU. - rename ETHER_LOCAL_ADMIN_ADDR as RTE_ETHER_LOCAL_ADMIN_ADDR. - rename ETHER_GROUP_ADDR as RTE_ETHER_GROUP_ADDR. - rename ETHER_TYPE_IPv4 as RTE_ETHER_TYPE_IPv4. - rename ETHER_TYPE_IPv6 as RTE_ETHER_TYPE_IPv6. - rename ETHER_TYPE_ARP as RTE_ETHER_TYPE_ARP. - rename ETHER_TYPE_VLAN as RTE_ETHER_TYPE_VLAN. - rename ETHER_TYPE_RARP as RTE_ETHER_TYPE_RARP. - rename ETHER_TYPE_QINQ as RTE_ETHER_TYPE_QINQ. - rename ETHER_TYPE_ETAG as RTE_ETHER_TYPE_ETAG. - rename ETHER_TYPE_1588 as RTE_ETHER_TYPE_1588. - rename ETHER_TYPE_SLOW as RTE_ETHER_TYPE_SLOW. - rename ETHER_TYPE_TEB as RTE_ETHER_TYPE_TEB. - rename ETHER_TYPE_LLDP as RTE_ETHER_TYPE_LLDP. - rename ETHER_TYPE_MPLS as RTE_ETHER_TYPE_MPLS. - rename ETHER_TYPE_MPLSM as RTE_ETHER_TYPE_MPLSM. - rename ETHER_VXLAN_HLEN as RTE_ETHER_VXLAN_HLEN. - rename ETHER_ADDR_FMT_SIZE as RTE_ETHER_ADDR_FMT_SIZE. - rename VXLAN_GPE_TYPE_IPV4 as RTE_VXLAN_GPE_TYPE_IPV4. - rename VXLAN_GPE_TYPE_IPV6 as RTE_VXLAN_GPE_TYPE_IPV6. - rename VXLAN_GPE_TYPE_ETH as RTE_VXLAN_GPE_TYPE_ETH. - rename VXLAN_GPE_TYPE_NSH as RTE_VXLAN_GPE_TYPE_NSH. - rename VXLAN_GPE_TYPE_MPLS as RTE_VXLAN_GPE_TYPE_MPLS. - rename VXLAN_GPE_TYPE_GBP as RTE_VXLAN_GPE_TYPE_GBP. - rename VXLAN_GPE_TYPE_VBNG as RTE_VXLAN_GPE_TYPE_VBNG. - rename ETHER_VXLAN_GPE_HLEN as RTE_ETHER_VXLAN_GPE_HLEN.
Do not update the command line library to avoid adding a dependency to librte_net.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
b7fd9ea8 |
| 19-Apr-2019 |
Stephen Hemminger <stephen@networkplumber.org> |
net/cxgbe: fix colliding function names
This driver defines lots of functions (like init_rss) which are intended to only be used in this device. But when doing static linking these global functions
net/cxgbe: fix colliding function names
This driver defines lots of functions (like init_rss) which are intended to only be used in this device. But when doing static linking these global functions cause link failures when similar function name is used in application.
This patch prefixes all functions defined in cxgbe.h with cxgbe_ to avoid these kind of conflicts.
Fixes: bfcb257d3014 ("net/cxgbe: enable RSS for VF") Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
89c8bd95 |
| 19-Dec-2018 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: use relative paths for includes
The Intel C++ compiler is not able to locate the header files without relative paths in Windows build. Following errors are seen for these header files.
C
net/cxgbe: use relative paths for includes
The Intel C++ compiler is not able to locate the header files without relative paths in Windows build. Following errors are seen for these header files.
C:\> base\common.h(9): error : cannot open source file "cxgbe_compat.h" #include "cxgbe_compat.h" ^ [...]
Fix by explicitly stating header file location using relative paths. Also, remove automatically including header files for Linux, to keep it consistent across both OS.
Build Environment: 1. Target OS: Microsoft Windows Server 2016 2. Compiler: Intel C++ Compiler from Intel Parallel Studio XE 2019 [1] 3. Development Tools: 3.1 Microsoft Visual Studio 2017 Professional 3.2 Windows Software Development Kit (SDK) v10.0.17763 3.3 Windows Driver Kit (WDK) v10.0.17763
[1] https://software.intel.com/en-us/parallel-studio-xe
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
27288219 |
| 14-Dec-2018 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: fix overlapping regions in TID table
Location of filter TID table should be after active TID table memory, and not from the beginning of TID table memory. This fixes memory corruption due
net/cxgbe: fix overlapping regions in TID table
Location of filter TID table should be after active TID table memory, and not from the beginning of TID table memory. This fixes memory corruption due to overlapping regions.
Fixes: 3a381a4116ed ("net/cxgbe: query firmware for HASH filter resources") Cc: stable@dpdk.org
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
46df488b |
| 06-Dec-2018 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: fix control queue mbuf pool naming convention
When multiple Chelsio adapters are present, the current naming convention of using underlying physical port number of the adapter creates con
net/cxgbe: fix control queue mbuf pool naming convention
When multiple Chelsio adapters are present, the current naming convention of using underlying physical port number of the adapter creates conflicts when allocating control queue mbuf pool for multiple adapters and hence results in allocation failure. Fix by using port_id from rte_eth_dev_data, instead of physical port number.
Fixes: 3a3aaabc7c77 ("net/cxgbe: add control queue to communicate filter requests") Cc: stable@dpdk.org
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
f1e9d2af |
| 09-Nov-2018 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: increase completion wait time for flow operations
Under heavy load, flow related operations can take more time to complete. Increase max completion wait time to 10 seconds. Also increase
net/cxgbe: increase completion wait time for flow operations
Under heavy load, flow related operations can take more time to complete. Increase max completion wait time to 10 seconds. Also increase max receive budget to read more replies from firmware in every cycle.
Fixes: 9eb2c9a48072 ("net/cxgbe: implement flow create operation") Cc: stable@dpdk.org
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
6507fb6f |
| 09-Nov-2018 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: check Rx config before doing VLAN strip offload
Fixes: 436125e64174 ("net/cxgbe: update to Rx/Tx offload API") Cc: stable@dpdk.org
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chels
net/cxgbe: check Rx config before doing VLAN strip offload
Fixes: 436125e64174 ("net/cxgbe: update to Rx/Tx offload API") Cc: stable@dpdk.org
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
e16adf08 |
| 19-Oct-2018 |
Thomas Monjalon <thomas@monjalon.net> |
ethdev: free all common data when releasing port
This is a clean-up of common ethdev data freeing. All data freeing are moved to rte_eth_dev_release_port() and done only in case of primary process.
ethdev: free all common data when releasing port
This is a clean-up of common ethdev data freeing. All data freeing are moved to rte_eth_dev_release_port() and done only in case of primary process.
It is probably fixing some memory leaks for PMDs which were not freeing all data.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Andrew Rybchenko <arybchenko@solarflare.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 ...
|
#
fefee7a6 |
| 27-Aug-2018 |
Shagun Agrawal <shaguna@chelsio.com> |
net/cxgbe: add flow ops to match based on dest MAC
Add flow operations to match packets based on destination MAC address. Allocate and program hardware MPS table with the destination MAC address to
net/cxgbe: add flow ops to match based on dest MAC
Add flow operations to match packets based on destination MAC address. Allocate and program hardware MPS table with the destination MAC address to be matched against. The returned MPS index is then used while offloading flows to LETCAM (maskfull) and HASH (maskless) filter regions.
Also update existing mac_addr_set() to use the new MPS table API.
Signed-off-by: Shagun Agrawal <shaguna@chelsio.com> 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 ...
|
#
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 ...
|
#
d97aa415 |
| 29-Jun-2018 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: enable more RSS hash functions
Enable RSS on IPv4 fragmented packets and IPv6 packets with extension headers based on 2-tuple hash.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chel
net/cxgbe: enable more RSS hash functions
Enable RSS on IPv4 fragmented packets and IPv6 packets with extension headers based on 2-tuple hash.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|
#
265af08e |
| 29-Jun-2018 |
Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> |
net/cxgbe: add link up and down ops
Add ops to set link up and down for both PF and VF. If wait_to_complete is set, poll for link update for up to 10 seconds max.
Original work by Surendra Mobiya <
net/cxgbe: add link up and down ops
Add ops to set link up and down for both PF and VF. If wait_to_complete is set, poll for link update for up to 10 seconds max.
Original work by Surendra Mobiya <surendra@chelsio.com>
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 ...
|
#
3a381a41 |
| 29-Jun-2018 |
Shagun Agrawal <shaguna@chelsio.com> |
net/cxgbe: query firmware for HASH filter resources
Fetch available HASH filter resources and allocate table for managing them. Currently only supported on Chelsio T6 family of NICs.
Signed-off-by:
net/cxgbe: query firmware for HASH filter resources
Fetch available HASH filter resources and allocate table for managing them. Currently only supported on Chelsio T6 family of NICs.
Signed-off-by: Shagun Agrawal <shaguna@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
show more ...
|