|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1 |
|
| #
7be78d02 |
| 29-Nov-2021 |
Josh Soref <[email protected]> |
fix spelling in comments and strings
The tool comes from https://github.com/jsoref
Signed-off-by: Josh Soref <[email protected]> Signed-off-by: Thomas Monjalon <[email protected]>
|
|
Revision tags: v21.11, v21.11-rc4, v21.11-rc3 |
|
| #
25cf2630 |
| 17-Nov-2021 |
Ferruh Yigit <[email protected]> |
net: add macro for VLAN header length
Multiple drivers are defining macros for VLAN header length, to remove the redundancy defining macro in the ether header. And updated drivers to use the new mac
net: add macro for VLAN header length
Multiple drivers are defining macros for VLAN header length, to remove the redundancy defining macro in the ether header. And updated drivers to use the new macro.
Signed-off-by: Ferruh Yigit <[email protected]> Acked-by: Haiyue Wang <[email protected]> Acked-by: Rosen Xu <[email protected]> Acked-by: Jiawen Wu <[email protected]>
show more ...
|
|
Revision tags: v21.11-rc2, v21.11-rc1 |
|
| #
295968d1 |
| 22-Oct-2021 |
Ferruh Yigit <[email protected]> |
ethdev: add namespace
Add 'RTE_ETH' namespace to all enums & macros in a backward compatible way. The macros for backward compatibility can be removed in next LTS. Also updated some struct names to
ethdev: add namespace
Add 'RTE_ETH' namespace to all enums & macros in a backward compatible way. The macros for backward compatibility can be removed in next LTS. Also updated some struct names to have 'rte_eth' prefix.
All internal components switched to using new names.
Syntax fixed on lines that this patch touches.
Signed-off-by: Ferruh Yigit <[email protected]> Acked-by: Tyler Retzlaff <[email protected]> Acked-by: Andrew Rybchenko <[email protected]> Acked-by: Ajit Khaparde <[email protected]> Acked-by: Jerin Jacob <[email protected]> Acked-by: Wisam Jaddo <[email protected]> Acked-by: Rosen Xu <[email protected]> Acked-by: Chenbo Xia <[email protected]> Acked-by: Hemant Agrawal <[email protected]> Acked-by: Somnath Kotur <[email protected]>
show more ...
|
| #
39e4a257 |
| 30-Sep-2021 |
Alvin Zhang <[email protected]> |
net/i40e: fix Rx packet statistics
Some packets are discarded by the NIC because they are larger than the MTU, these packets should be counted as "RX error" instead of "RX packet", for example:
p
net/i40e: fix Rx packet statistics
Some packets are discarded by the NIC because they are larger than the MTU, these packets should be counted as "RX error" instead of "RX packet", for example:
pkt1 = Ether()/IP()/Raw('x' * 1400) pkt2 = Ether()/IP()/Raw('x' * 1500)
---------------- Forward statistics for port 0 ----------------- RX-packets: 2 RX-dropped: 0 RX-total: 2 TX-packets: 1 TX-dropped: 0 TX-total: 1 ----------------------------------------------------------------
Here the packet pkt2 has been discarded, but still was counted by "RX-packets"
The register 'GL_RXERR1' can count above discarded packets. This patch adds reading and calculation of the 'GL_RXERR1' counter when reporting DPDK statistics.
Fixes: f4a91c38b4ad ("i40e: add extended stats") Cc: [email protected]
Signed-off-by: Alvin Zhang <[email protected]> Acked-by: Qi Zhang <[email protected]>
show more ...
|
| #
b225783d |
| 29-Sep-2021 |
Andrew Rybchenko <[email protected]> |
ethdev: remove legacy mirroring API
A more fine-grain flow API action RTE_FLOW_ACTION_TYPE_SAMPLE should be used instead of it.
Signed-off-by: Andrew Rybchenko <[email protected]> Acked
ethdev: remove legacy mirroring API
A more fine-grain flow API action RTE_FLOW_ACTION_TYPE_SAMPLE should be used instead of it.
Signed-off-by: Andrew Rybchenko <[email protected]> Acked-by: Thomas Monjalon <[email protected]> Acked-by: Jerin Jacob <[email protected]> Acked-by: Haiyue Wang <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
fe2a571c |
| 24-Sep-2021 |
Robin Zhang <[email protected]> |
net/i40e: remove i40evf
The default VF driver for Intel 700 Series Ethernet Controller already switch to iavf in DPDK 21.05. And i40evf is no need to maintain now, so remove i40evf related code.
Si
net/i40e: remove i40evf
The default VF driver for Intel 700 Series Ethernet Controller already switch to iavf in DPDK 21.05. And i40evf is no need to maintain now, so remove i40evf related code.
Signed-off-by: Robin Zhang <[email protected]> Acked-by: Qi Zhang <[email protected]>
show more ...
|
| #
f1f6ebc0 |
| 24-Aug-2021 |
William Tu <[email protected]> |
eal: remove sys/queue.h from public headers
Currently there are some public headers that include 'sys/queue.h', which is not POSIX, but usually provided by the Linux/BSD system library. (Not in POSI
eal: remove sys/queue.h from public headers
Currently there are some public headers that include 'sys/queue.h', which is not POSIX, but usually provided by the Linux/BSD system library. (Not in POSIX.1, POSIX.1-2001, or POSIX.1-2008. Present on the BSDs.) The file is missing on Windows. During the Windows build, DPDK uses a bundled copy, so building a DPDK library works fine. But when OVS or other applications use DPDK as a library, because some DPDK public headers include 'sys/queue.h', on Windows, it triggers an error due to no such file.
One solution is to install the 'lib/eal/windows/include/sys/queue.h' into Windows environment, such as [1]. However, this means DPDK exports the functionalities of 'sys/queue.h' into the environment, which might cause symbols, macros, headers clashing with other applications.
The patch fixes it by removing the "#include <sys/queue.h>" from DPDK public headers, so programs including DPDK headers don't depend on the system to provide 'sys/queue.h'. When these public headers use macros such as TAILQ_xxx, we replace it by the ones with RTE_ prefix. For Windows, we copy the definitions from <sys/queue.h> to rte_os.h in Windows EAL. Note that these RTE_ macros are compatible with <sys/queue.h>, both at the level of API (to use with <sys/queue.h> macros in C files) and ABI (to avoid breaking it).
Additionally, the TAILQ_FOREACH_SAFE is not part of <sys/queue.h>, the patch replaces it with RTE_TAILQ_FOREACH_SAFE.
[1] http://mails.dpdk.org/archives/dev/2021-August/216304.html
Suggested-by: Nick Connolly <[email protected]> Suggested-by: Dmitry Kozlyuk <[email protected]> Signed-off-by: William Tu <[email protected]> Acked-by: Dmitry Kozlyuk <[email protected]> Acked-by: Narcisa Vasile <[email protected]>
show more ...
|
|
Revision tags: v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1 |
|
| #
e391a7b7 |
| 21-Jun-2021 |
Dapeng Yu <[email protected]> |
net/i40e: fix multi-process shared data
The rte_eth_devices array is not in share memory, it should not be referenced by i40e_adapter which is shared by primary and secondary. Any process set i40e_a
net/i40e: fix multi-process shared data
The rte_eth_devices array is not in share memory, it should not be referenced by i40e_adapter which is shared by primary and secondary. Any process set i40e_adapter->eth_dev will corrupt another process's context.
The patch removed the field "eth_dev" from i40e_adapter. Now, when the data paths try to access the rte_eth_dev_data instance, they should replace adapter->eth_dev->data with adapter->pf.dev_data.
Fixes: 4861cde46116 ("i40e: new poll mode driver") Cc: [email protected]
Signed-off-by: Dapeng Yu <[email protected]> Acked-by: Qi Zhang <[email protected]>
show more ...
|
| #
2fefa094 |
| 24-Jun-2021 |
Beilei Xing <[email protected]> |
net/i40e: fix flow director input set conflict
Currently, there'll be conflict error when running the following commands: 1. flow create 0 ingress pattern eth / ipv4 / udp src is 32 / end
net/i40e: fix flow director input set conflict
Currently, there'll be conflict error when running the following commands: 1. flow create 0 ingress pattern eth / ipv4 / udp src is 32 / end actions queue index 2 / end 2. flow destroy 0 rule 0 3. flow create 0 ingress pattern eth / ipv4 / udp dst is 32 / end actions queue index 2 / end
This patch fixes the input set conflict issue.
Fixes: 42044b69c67d ("net/i40e: support input set selection for FDIR") Fixes: 4a072ad43442 ("net/i40e: fix flow director config after flow validate") Cc: [email protected]
Signed-off-by: Beilei Xing <[email protected]> Tested-by: Lingli Chen <[email protected]>
show more ...
|
| #
c30751af |
| 09-Jun-2021 |
Dapeng Yu <[email protected]> |
net/i40e: fix data path selection in secondary process
The flag use_avx2 and use_avx512 are defined as local variables, they will not be aware by the secondary process, then wrong data path is selec
net/i40e: fix data path selection in secondary process
The flag use_avx2 and use_avx512 are defined as local variables, they will not be aware by the secondary process, then wrong data path is selected. Fix the issue by moving them into struct i40e_adapter.
Fixes: 6ada10deac66 ("net/i40e: remove devarg use-latest-supported-vec") Fixes: e6a6a138919f ("net/i40e: add AVX512 vector path") Cc: [email protected]
Signed-off-by: Dapeng Yu <[email protected]> Acked-by: Qi Zhang <[email protected]>
show more ...
|
|
Revision tags: v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1 |
|
| #
4a072ad4 |
| 01-Apr-2021 |
Murphy Yang <[email protected]> |
net/i40e: fix flow director config after flow validate
The configuration of FDIR input set should not be set during flow validate. It should be set when flow create.
Fixes: fe5d0e85b713 ("net/i40e:
net/i40e: fix flow director config after flow validate
The configuration of FDIR input set should not be set during flow validate. It should be set when flow create.
Fixes: fe5d0e85b713 ("net/i40e: fix flow director flex configuration") Fixes: 15018d79f0be ("net/i40e: add FDIR support for GTP-C and GTP-U") Cc: [email protected]
Signed-off-by: Murphy Yang <[email protected]> Acked-by: Beilei Xing <[email protected]>
show more ...
|
| #
2a2fd19d |
| 01-Mar-2021 |
Alvin Zhang <[email protected]> |
net/i40e: fix input set field mask
The absolute field offsets of IPv4 or IPv6 header are related to hardware configuration. The X710 and X722 have different hardware configurations, and users can ev
net/i40e: fix input set field mask
The absolute field offsets of IPv4 or IPv6 header are related to hardware configuration. The X710 and X722 have different hardware configurations, and users can even modify the hardware configuration. Therefore, The default values cannot be used when calculating mask offset.
The following flows can be created on X722 NIC, but the packet will not enter the queue 3: flow create 0 ingress pattern eth / ipv4 proto is 255 / end actions queue index 3 / end pkt = Ether()/IP(ttl=63, proto=255)/Raw('X'*40)
flow create 0 ingress pattern eth / ipv4 tos is 50 / udp / end actions queue index 3 / end pkt = Ether()/IP(tos=50)/UDP()/Raw('X'*40)
flow create 0 ingress pattern eth / ipv6 tc is 12 / udp / end actions queue index 3 / end pkt = Ether()/IPv6(tc=12,hlim=34,fl=0x98765)/UDP()/Raw('X'*40)
flow create 0 ingress pattern eth / ipv6 hop is 34 / end actions queue index 3 / end pkt = Ether()/IPv6(tc=12,hlim=34,fl=0x98765)/Raw('X'*40)
This patch read the field offsets from the NIC and return the mask register value.
Fixes: 98f055707685 ("i40e: configure input fields for RSS or flow director") Fixes: 92cf7f8ec082 ("i40e: allow filtering on more IP header fields") Cc: [email protected]
Signed-off-by: Alvin Zhang <[email protected]> Tested-by: Lingli Chen <[email protected]>
show more ...
|
|
Revision tags: v21.02, v21.02-rc4, v21.02-rc3, v21.02-rc2, v21.02-rc1 |
|
| #
c12f0976 |
| 18-Jan-2021 |
Steve Yang <[email protected]> |
net/i40e: fix jumbo frame flag condition
The jumbo frame uses the 'RTE_ETHER_MAX_LEN' as boundary condition, but the Ether overhead is larger than 18 when it supports dual VLAN tags. That will cause
net/i40e: fix jumbo frame flag condition
The jumbo frame uses the 'RTE_ETHER_MAX_LEN' as boundary condition, but the Ether overhead is larger than 18 when it supports dual VLAN tags. That will cause the jumbo flag rx offload is wrong when MTU size is 'RTE_ETHER_MTU'.
This fix will change the boundary condition with 'RTE_ETHER_MTU' and overhead, that perhaps impacts the cases of the jumbo frame related.
Fixes: c1715402df8f ("i40evf: fix jumbo frame support") Fixes: 43e5488c0ac6 ("net/i40e: support MTU configuration") Fixes: a778a1fa2e4e ("i40e: set up and initialize flow director") Fixes: c3ac7c5b0b8a ("net/i40e: convert to new Rx offloads API") Cc: [email protected]
Signed-off-by: Steve Yang <[email protected]> Acked-by: Jeff Guo <[email protected]>
show more ...
|
| #
6ada10de |
| 14-Jan-2021 |
Leyi Rong <[email protected]> |
net/i40e: remove devarg use-latest-supported-vec
As eal parameter --force-max-simd-bitwidth is already introduced, to make it more clear when setting rx/tx function, remove devarg use-latest-support
net/i40e: remove devarg use-latest-supported-vec
As eal parameter --force-max-simd-bitwidth is already introduced, to make it more clear when setting rx/tx function, remove devarg use-latest-supported-vec support.
Signed-off-by: Leyi Rong <[email protected]> Acked-by: Wenzhuo Lu <[email protected]>
show more ...
|
| #
ef4c16fd |
| 08-Jan-2021 |
Alvin Zhang <[email protected]> |
net/i40e: refactor RSS flow
1. Delete original code. 2. Add 2 tables(One maps flow pattern and RSS type to PCTYPE, another maps RSS type to input set). 3. Parse RSS pattern and RSS type to get PC
net/i40e: refactor RSS flow
1. Delete original code. 2. Add 2 tables(One maps flow pattern and RSS type to PCTYPE, another maps RSS type to input set). 3. Parse RSS pattern and RSS type to get PCTYPE. 4. Parse RSS action to get queues, RSS function and hash field. 5. Create and destroy RSS filters. 6. Create new files for hash flows.
Signed-off-by: Alvin Zhang <[email protected]> Acked-by: Qi Zhang <[email protected]>
show more ...
|
| #
47193bee |
| 05-Jan-2021 |
Beilei Xing <[email protected]> |
net/i40e: fix flex payload rule conflict
With the following commands, the second flow can't be created successfully.
1. flow create 0 ingress pattern eth / ipv4 / udp / raw relative is 1 pattern
net/i40e: fix flex payload rule conflict
With the following commands, the second flow can't be created successfully.
1. flow create 0 ingress pattern eth / ipv4 / udp / raw relative is 1 pattern is 0102030405 / end actions drop / end 2. flow destroy 0 rule 0 3. flow create 0 ingress pattern eth / ipv4 / udp / raw relative is 1 pattern is 010203040506 / end actions drop / end
The root cause is that a flag for flex pit isn't reset.
Fixes: 6ced3dd72f5f ("net/i40e: support flexible payload parsing for FDIR") Cc: [email protected]
Reported-by: Chenmin Sun <[email protected]> Signed-off-by: Beilei Xing <[email protected]> Acked-by: Jeff Guo <[email protected]>
show more ...
|
|
Revision tags: v20.11, v20.11-rc5, v20.11-rc4 |
|
| #
fe5d0e85 |
| 10-Nov-2020 |
Chenxu Di <[email protected]> |
net/i40e: fix flow director flex configuration
The configuration of FDIR flex mask and flex pit should not be set during flow validate. It should be set when flow create.
Fixes: 6ced3dd72f5f ("net/
net/i40e: fix flow director flex configuration
The configuration of FDIR flex mask and flex pit should not be set during flow validate. It should be set when flow create.
Fixes: 6ced3dd72f5f ("net/i40e: support flexible payload parsing for FDIR") Cc: [email protected]
Signed-off-by: Chenxu Di <[email protected]> Tested-by: Jun W Zhou <[email protected]> Acked-by: Jeff Guo <[email protected]>
show more ...
|
|
Revision tags: v20.11-rc3, v20.11-rc2 |
|
| #
1be514fb |
| 22-Oct-2020 |
Andrew Rybchenko <[email protected]> |
ethdev: remove legacy FDIR filter type support
Instead of FDIR filters RTE flow API should be used.
Signed-off-by: Andrew Rybchenko <[email protected]> Acked-by: Ajit Khaparde <ajit.khapard
ethdev: remove legacy FDIR filter type support
Instead of FDIR filters RTE flow API should be used.
Signed-off-by: Andrew Rybchenko <[email protected]> Acked-by: Ajit Khaparde <[email protected]> Acked-by: Haiyue Wang <[email protected]> Acked-by: Hyong Youb Kim <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
a1444986 |
| 22-Oct-2020 |
Andrew Rybchenko <[email protected]> |
ethdev: move MAC filter type to i40e driver
net/i40e driver is the only user of the enum rte_mac_filter_type. Move the define to the driver and use i40e_ prefix instead of rte_.
Signed-off-by: Andr
ethdev: move MAC filter type to i40e driver
net/i40e driver is the only user of the enum rte_mac_filter_type. Move the define to the driver and use i40e_ prefix instead of rte_.
Signed-off-by: Andrew Rybchenko <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
|
Revision tags: v20.11-rc1 |
|
| #
99e47bbe |
| 19-Oct-2020 |
Yuying Zhang <[email protected]> |
net/i40e: fix virtual channel conflict
i40evf_execute_vf_cmd() uses _atomic_set_cmd() to execute virtual channel commands safely in multi-process mode and multi-thread mode. However, it returns erro
net/i40e: fix virtual channel conflict
i40evf_execute_vf_cmd() uses _atomic_set_cmd() to execute virtual channel commands safely in multi-process mode and multi-thread mode. However, it returns error when one process or thread is pending. Add rte_spinlock_trylock() to handle this issue in concurrent scenarios.
Fixes: 4861cde46116 ("i40e: new poll mode driver") Cc: [email protected]
Signed-off-by: Yuying Zhang <[email protected]> Acked-by: Qi Zhang <[email protected]>
show more ...
|
| #
b9664618 |
| 22-Sep-2020 |
Junyu Jiang <[email protected]> |
net/i40e: fix byte counters
This patch fixed the issue that rx/tx bytes statistics counters overflowed on 48 bit limitation by enlarging the limitation.
Fixes: 4861cde46116 ("i40e: new poll mode dr
net/i40e: fix byte counters
This patch fixed the issue that rx/tx bytes statistics counters overflowed on 48 bit limitation by enlarging the limitation.
Fixes: 4861cde46116 ("i40e: new poll mode driver") Cc: [email protected]
Signed-off-by: Junyu Jiang <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
|
Revision tags: v20.08, v20.08-rc4, v20.08-rc3 |
|
| #
6f1998a4 |
| 23-Jul-2020 |
Mao Jiang <[email protected]> |
net/i40e: fix binding interrupt without MSI-X vector
The value of vsi->nb_msix shouldn't`t be zero, otherwise, all of interrupts will be bind to vector 0.
Fixes: 4861cde46116 ("i40e: new poll mode
net/i40e: fix binding interrupt without MSI-X vector
The value of vsi->nb_msix shouldn't`t be zero, otherwise, all of interrupts will be bind to vector 0.
Fixes: 4861cde46116 ("i40e: new poll mode driver") Cc: [email protected]
Signed-off-by: Mao Jiang <[email protected]> Acked-by: Qi Zhang <[email protected]>
show more ...
|
|
Revision tags: v20.08-rc2 |
|
| #
ae657540 |
| 17-Jul-2020 |
Chenmin Sun <[email protected]> |
net/i40e: fix flow director Rx writeback packet
This patch fixes the fdir cannot receive rx writeback packet issue. The root cause is FDIR interrupt is not correctly enabled.
Beside this, to make s
net/i40e: fix flow director Rx writeback packet
This patch fixes the fdir cannot receive rx writeback packet issue. The root cause is FDIR interrupt is not correctly enabled.
Beside this, to make sure fdir programming works fine when the port is stopped, move the fdir interrupt configure from start/stop to setup/teardown.
Fixes: cfd662d22e7b ("net/i40e: fix interrupt throttling setting in PF") Cc: [email protected]
Signed-off-by: Chenmin Sun <[email protected]> Acked-by: Beilei Xing <[email protected]>
show more ...
|
| #
febc61d3 |
| 17-Jul-2020 |
Chenmin Sun <[email protected]> |
net/i40e: optimize flow director update rate
This patch optimized the fdir update rate for i40e PF, by tracking whether the fdir rule being inserted into the guaranteed space or shared space. For th
net/i40e: optimize flow director update rate
This patch optimized the fdir update rate for i40e PF, by tracking whether the fdir rule being inserted into the guaranteed space or shared space. For the flows that are inserted to the guaranteed space, we assume that the insertion will always succeed as the hardware only report the "no enough space left" error. In this case, the software can directly return success and no need to retrieve the result from the hardware. When destroying a flow, we also assume the operation will succeed as the software has checked the flow is indeed in the hardware. See the fdir programming status descriptor format in the datasheet for more details.
Signed-off-by: Chenmin Sun <[email protected]> Reviewed-by: Jingjing Wu <[email protected]>
show more ...
|
| #
3e44dbd0 |
| 17-Jul-2020 |
Chenmin Sun <[email protected]> |
net/i40e: optimize flow director memory management
This patch allocated some memory pool for flow management to avoid calling rte_zmalloc/rte_free every time. This patch also improves the hash table
net/i40e: optimize flow director memory management
This patch allocated some memory pool for flow management to avoid calling rte_zmalloc/rte_free every time. This patch also improves the hash table operation. When adding/removing a flow, the software will directly add/delete it from the hash table. If any error occurs, it then roll back the operation it just done.
Signed-off-by: Chenmin Sun <[email protected]> Reviewed-by: Jingjing Wu <[email protected]>
show more ...
|