net/sxe: add net driver sxe
Subsystems (2)
PATCH v2 1/2 net/sxe: add net driver sxe
Adding complete pmd library and doc build infrastructure and claim the maintainership for sxe PMD.
--- MAINTAINERS | 6 + app/test-pmd/meson.build | 3 + doc/guides/nics/features/sxe.ini | 81 + doc/guides/nics/features/sxe_vf.ini | 39 + doc/guides/nics/index.rst | 1 + doc/guides/nics/sxe.rst | 71 + drivers/net/meson.build | 1 + drivers/net/sxe/Makefile | 105 + drivers/net/sxe/base/docker_version | 4 + drivers/net/sxe/base/sxe_common.c | 66 + drivers/net/sxe/base/sxe_common.h | 15 + drivers/net/sxe/base/sxe_compat_platform.h | 143 + drivers/net/sxe/base/sxe_compat_version.h | 304 + drivers/net/sxe/base/sxe_dpdk_version.h | 20 + drivers/net/sxe/base/sxe_errno.h | 61 + drivers/net/sxe/base/sxe_hw.c | 6647 ++++++++++++++++++++ drivers/net/sxe/base/sxe_hw.h | 1505 +++++ drivers/net/sxe/base/sxe_logs.h | 299 + drivers/net/sxe/base/sxe_offload_common.c | 66 + drivers/net/sxe/base/sxe_offload_common.h | 15 + drivers/net/sxe/base/sxe_queue_common.c | 450 ++ drivers/net/sxe/base/sxe_queue_common.h | 236 + drivers/net/sxe/base/sxe_rx_common.c | 349 + drivers/net/sxe/base/sxe_rx_common.h | 24 + drivers/net/sxe/base/sxe_tx_common.c | 49 + drivers/net/sxe/base/sxe_tx_common.h | 12 + drivers/net/sxe/base/sxe_types.h | 40 + drivers/net/sxe/base/sxevf_hw.c | 1057 ++++ drivers/net/sxe/base/sxevf_hw.h | 351 ++ drivers/net/sxe/base/sxevf_regs.h | 119 + drivers/net/sxe/include/drv_msg.h | 22 + drivers/net/sxe/include/readme.txt | 0 drivers/net/sxe/include/sxe/mgl/sxe_port.h | 40 + drivers/net/sxe/include/sxe/sxe_cli.h | 213 + drivers/net/sxe/include/sxe/sxe_hdc.h | 43 + drivers/net/sxe/include/sxe/sxe_ioctl.h | 21 + drivers/net/sxe/include/sxe/sxe_msg.h | 139 + drivers/net/sxe/include/sxe/sxe_regs.h | 1276 ++++ drivers/net/sxe/include/sxe_type.h | 794 +++ drivers/net/sxe/include/sxe_version.h | 32 + drivers/net/sxe/meson.build | 55 + drivers/net/sxe/pf/rte_pmd_sxe.h | 33 + drivers/net/sxe/pf/sxe.h | 117 + drivers/net/sxe/pf/sxe_dcb.c | 1014 +++ drivers/net/sxe/pf/sxe_dcb.h | 99 + drivers/net/sxe/pf/sxe_ethdev.c | 1109 ++++ drivers/net/sxe/pf/sxe_ethdev.h | 27 + drivers/net/sxe/pf/sxe_filter.c | 826 +++ drivers/net/sxe/pf/sxe_filter.h | 119 + drivers/net/sxe/pf/sxe_flow_ctrl.c | 100 + drivers/net/sxe/pf/sxe_flow_ctrl.h | 16 + drivers/net/sxe/pf/sxe_irq.c | 562 ++ drivers/net/sxe/pf/sxe_irq.h | 56 + drivers/net/sxe/pf/sxe_main.c | 326 + drivers/net/sxe/pf/sxe_offload.c | 365 ++ drivers/net/sxe/pf/sxe_offload.h | 51 + drivers/net/sxe/pf/sxe_phy.c | 993 +++ drivers/net/sxe/pf/sxe_phy.h | 121 + drivers/net/sxe/pf/sxe_pmd_hdc.c | 717 +++ drivers/net/sxe/pf/sxe_pmd_hdc.h | 44 + drivers/net/sxe/pf/sxe_ptp.c | 204 + drivers/net/sxe/pf/sxe_ptp.h | 26 + drivers/net/sxe/pf/sxe_queue.c | 856 +++ drivers/net/sxe/pf/sxe_queue.h | 147 + drivers/net/sxe/pf/sxe_rx.c | 1567 +++++ drivers/net/sxe/pf/sxe_rx.h | 195 + drivers/net/sxe/pf/sxe_stats.c | 593 ++ drivers/net/sxe/pf/sxe_stats.h | 79 + drivers/net/sxe/pf/sxe_tx.c | 1069 ++++ drivers/net/sxe/pf/sxe_tx.h | 31 + drivers/net/sxe/pf/sxe_vf.c | 1275 ++++ drivers/net/sxe/pf/sxe_vf.h | 221 + drivers/net/sxe/rte_pmd_sxe_version.map | 10 + drivers/net/sxe/sxe_drv_type.h | 23 + drivers/net/sxe/version.map | 24 + drivers/net/sxe/vf/sxevf.h | 44 + drivers/net/sxe/vf/sxevf_ethdev.c | 811 +++ drivers/net/sxe/vf/sxevf_ethdev.h | 17 + drivers/net/sxe/vf/sxevf_filter.c | 511 ++ drivers/net/sxe/vf/sxevf_filter.h | 79 + drivers/net/sxe/vf/sxevf_irq.c | 455 ++ drivers/net/sxe/vf/sxevf_irq.h | 40 + drivers/net/sxe/vf/sxevf_main.c | 94 + drivers/net/sxe/vf/sxevf_msg.c | 646 ++ drivers/net/sxe/vf/sxevf_msg.h | 201 + drivers/net/sxe/vf/sxevf_offload.c | 36 + drivers/net/sxe/vf/sxevf_offload.h | 17 + drivers/net/sxe/vf/sxevf_queue.c | 236 + drivers/net/sxe/vf/sxevf_queue.h | 82 + drivers/net/sxe/vf/sxevf_rx.c | 182 + drivers/net/sxe/vf/sxevf_rx.h | 19 + drivers/net/sxe/vf/sxevf_stats.c | 166 + drivers/net/sxe/vf/sxevf_stats.h | 32 + drivers/net/sxe/vf/sxevf_tx.c | 48 + drivers/net/sxe/vf/sxevf_tx.h | 15 + 95 files changed, 31520 insertions(+) create mode 100644 doc/guides/nics/features/sxe.ini create mode 100644 doc/guides/nics/features/sxe_vf.ini create mode 100644 doc/guides/nics/sxe.rst create mode 100644 drivers/net/sxe/Makefile create mode 100644 drivers/net/sxe/base/docker_version create mode 100644 drivers/net/sxe/base/sxe_common.c create mode 100644 drivers/net/sxe/base/sxe_common.h create mode 100644 drivers/net/sxe/base/sxe_compat_platform.h create mode 100644 drivers/net/sxe/base/sxe_compat_version.h create mode 100644 drivers/net/sxe/base/sxe_dpdk_version.h create mode 100644 drivers/net/sxe/base/sxe_errno.h create mode 100644 drivers/net/sxe/base/sxe_hw.c create mode 100644 drivers/net/sxe/base/sxe_hw.h create mode 100644 drivers/net/sxe/base/sxe_logs.h create mode 100644 drivers/net/sxe/base/sxe_offload_common.c create mode 100644 drivers/net/sxe/base/sxe_offload_common.h create mode 100644 drivers/net/sxe/base/sxe_queue_common.c create mode 100644 drivers/net/sxe/base/sxe_queue_common.h create mode 100644 drivers/net/sxe/base/sxe_rx_common.c create mode 100644 drivers/net/sxe/base/sxe_rx_common.h create mode 100644 drivers/net/sxe/base/sxe_tx_common.c create mode 100644 drivers/net/sxe/base/sxe_tx_common.h create mode 100644 drivers/net/sxe/base/sxe_types.h create mode 100644 drivers/net/sxe/base/sxevf_hw.c create mode 100644 drivers/net/sxe/base/sxevf_hw.h create mode 100644 drivers/net/sxe/base/sxevf_regs.h create mode 100644 drivers/net/sxe/include/drv_msg.h create mode 100644 drivers/net/sxe/include/readme.txt create mode 100644 drivers/net/sxe/include/sxe/mgl/sxe_port.h create mode 100644 drivers/net/sxe/include/sxe/sxe_cli.h create mode 100644 drivers/net/sxe/include/sxe/sxe_hdc.h create mode 100644 drivers/net/sxe/include/sxe/sxe_ioctl.h create mode 100644 drivers/net/sxe/include/sxe/sxe_msg.h create mode 100644 drivers/net/sxe/include/sxe/sxe_regs.h create mode 100644 drivers/net/sxe/include/sxe_type.h create mode 100644 drivers/net/sxe/include/sxe_version.h create mode 100644 drivers/net/sxe/meson.build create mode 100644 drivers/net/sxe/pf/rte_pmd_sxe.h create mode 100644 drivers/net/sxe/pf/sxe.h create mode 100644 drivers/net/sxe/pf/sxe_dcb.c create mode 100644 drivers/net/sxe/pf/sxe_dcb.h create mode 100644 drivers/net/sxe/pf/sxe_ethdev.c create mode 100644 drivers/net/sxe/pf/sxe_ethdev.h create mode 100644 drivers/net/sxe/pf/sxe_filter.c create mode 100644 drivers/net/sxe/pf/sxe_filter.h create mode 100644 drivers/net/sxe/pf/sxe_flow_ctrl.c create mode 100644 drivers/net/sxe/pf/sxe_flow_ctrl.h create mode 100644 drivers/net/sxe/pf/sxe_irq.c create mode 100644 drivers/net/sxe/pf/sxe_irq.h create mode 100644 drivers/net/sxe/pf/sxe_main.c create mode 100644 drivers/net/sxe/pf/sxe_offload.c create mode 100644 drivers/net/sxe/pf/sxe_offload.h create mode 100644 drivers/net/sxe/pf/sxe_phy.c create mode 100644 drivers/net/sxe/pf/sxe_phy.h create mode 100644 drivers/net/sxe/pf/sxe_pmd_hdc.c create mode 100644 drivers/net/sxe/pf/sxe_pmd_hdc.h create mode 100644 drivers/net/sxe/pf/sxe_ptp.c create mode 100644 drivers/net/sxe/pf/sxe_ptp.h create mode 100644 drivers/net/sxe/pf/sxe_queue.c create mode 100644 drivers/net/sxe/pf/sxe_queue.h create mode 100644 drivers/net/sxe/pf/sxe_rx.c create mode 100644 drivers/net/sxe/pf/sxe_rx.h create mode 100644 drivers/net/sxe/pf/sxe_stats.c create mode 100644 drivers/net/sxe/pf/sxe_stats.h create mode 100644 drivers/net/sxe/pf/sxe_tx.c create mode 100644 drivers/net/sxe/pf/sxe_tx.h create mode 100644 drivers/net/sxe/pf/sxe_vf.c create mode 100644 drivers/net/sxe/pf/sxe_vf.h create mode 100644 drivers/net/sxe/rte_pmd_sxe_version.map create mode 100644 drivers/net/sxe/sxe_drv_type.h create mode 100644 drivers/net/sxe/version.map create mode 100644 drivers/net/sxe/vf/sxevf.h create mode 100644 drivers/net/sxe/vf/sxevf_ethdev.c create mode 100644 drivers/net/sxe/vf/sxevf_ethdev.h create mode 100644 drivers/net/sxe/vf/sxevf_filter.c create mode 100644 drivers/net/sxe/vf/sxevf_filter.h create mode 100644 drivers/net/sxe/vf/sxevf_irq.c create mode 100644 drivers/net/sxe/vf/sxevf_irq.h create mode 100644 drivers/net/sxe/vf/sxevf_main.c create mode 100644 drivers/net/sxe/vf/sxevf_msg.c create mode 100644 drivers/net/sxe/vf/sxevf_msg.h create mode 100644 drivers/net/sxe/vf/sxevf_offload.c create mode 100644 drivers/net/sxe/vf/sxevf_offload.h create mode 100644 drivers/net/sxe/vf/sxevf_queue.c create mode 100644 drivers/net/sxe/vf/sxevf_queue.h create mode 100644 drivers/net/sxe/vf/sxevf_rx.c create mode 100644 drivers/net/sxe/vf/sxevf_rx.h create mode 100644 drivers/net/sxe/vf/sxevf_stats.c create mode 100644 drivers/net/sxe/vf/sxevf_stats.h create mode 100644 drivers/net/sxe/vf/sxevf_tx.c create mode 100644 drivers/net/sxe/vf/sxevf_tx.h
MAINTAINERS +6 -0
@@ -981,6 +981,12 @@ F: drivers/net/sfc/ F: doc/guides/nics/sfc_efx.rst F: doc/guides/nics/features/sfc.ini +Linkdata sxe +M: Jie Liu <[email protected]> +F: drivers/net/sxe/ +F: doc/guides/nics/sxe.rst +F: doc/guides/nics/features/sxe*.ini + Wangxun ngbe M: Jiawen Wu <[email protected]> F: drivers/net/ngbe/
app/test-pmd/meson.build +3 -0
@@ -72,6 +72,9 @@ endif if dpdk_conf.has('RTE_NET_DPAA') deps += ['bus_dpaa', 'mempool_dpaa', 'net_dpaa'] endif +if dpdk_conf.has('RTE_NET_SXE') + deps += 'net_sxe' +endif # Driver-specific commands are located in driver directories. includes = include_directories('.')
doc/guides/nics/features/sxe.ini new file +81 -0
81 lines not on this page · raw message
doc/guides/nics/features/sxe_vf.ini new file +39 -0
@@ -0,0 +1,39 @@ +; +; Supported features of the 'sxe_vf' network poll mode driver. +; +; Refer to default.ini for the full list of available PMD features. +; +[Features] +Link status = Y +Rx interrupt = Y +Power mgmt address monitor = Y +MTU update = Y +Scattered Rx = Y +LRO = Y +TSO = Y +Promiscuous mode = Y +Allmulticast mode = Y +Unicast MAC filter = Y +RSS hash = Y +RSS key update = Y +RSS reta update = Y +VLAN filter = Y +Inline crypto = Y +CRC offload = P +VLAN offload = P +QinQ offload = P +L3 checksum offload = P +L4 checksum offload = P +Inner L3 checksum = P +Inner L4 checksum = P +Packet type parsing = Y +Rx descriptor status = Y +Tx descriptor status = Y +Basic stats = Y +Extended stats = Y +Registers dump = Y +FreeBSD = Y +Linux = Y +ARMv8 = Y +x86-32 = Y +x86-64 = Y
doc/guides/nics/index.rst +1 -0
@@ -69,3 +69,4 @@ Network Interface Controller Drivers vhost virtio vmxnet3 + sxe
doc/guides/nics/sxe.rst new file +71 -0
71 lines not on this page · raw message
drivers/net/meson.build +1 -0
@@ -62,6 +62,7 @@ drivers = [ 'vhost', 'virtio', 'vmxnet3', + 'sxe', ] std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc std_deps += ['bus_pci'] # very many PMDs depend on PCI, so make std
drivers/net/sxe/Makefile new file +105 -0
105 lines not on this page · raw message
drivers/net/sxe/base/docker_version new file +4 -0
@@ -0,0 +1,4 @@ +dpdk_images_v0.1: +只包含dodk源码,源码目录:/usr/src/dpdk +dpdk_images_v0.2: +包含dpdk源码和build下的原生编译产物
drivers/net/sxe/base/sxe_common.c new file +66 -0
66 lines not on this page · raw message
drivers/net/sxe/base/sxe_common.h new file +15 -0
@@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: BSD-3-Clause +* Copyright (C), 2022, Linkdata Technology Co., Ltd. +*/ +#ifndef __SXE_DPDK_COMMON_H__ +#define __SXE_DPDK_COMMON_H__ + +u64 sxe_trace_id_gen (void ); + +void sxe_trace_id_clean (void ); + +u64 sxe_trace_id_get (void ); + +u64 sxe_time_get_real_ms (void ); + +#endif
drivers/net/sxe/base/sxe_compat_platform.h new file +143 -0
143 lines not on this page · raw message
drivers/net/sxe/base/sxe_compat_version.h new file +304 -0
304 lines not on this page · raw message
drivers/net/sxe/base/sxe_dpdk_version.h new file +20 -0
@@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: BSD-3-Clause +* Copyright (C), 2022, Linkdata Technology Co., Ltd. +*/ + +#ifndef __SXE_DPDK_VERSION_H__ +#define __SXE_DPDK_VERSION_H__ + +#include <rte_version.h> + +#if (RTE_VERSION >=RTE_VERSION_NUM (19 ,0 ,0 ,0 ) &&RTE_VERSION <RTE_VERSION_NUM (19 ,12 ,0 ,0 )) +#define DPDK_19_11_6 +#elif (RTE_VERSION >=RTE_VERSION_NUM (20 ,0 ,0 ,0 ) &&RTE_VERSION <RTE_VERSION_NUM (20 ,12 ,0 ,0 )) +#define DPDK_20_11_5 +#elif (RTE_VERSION >=RTE_VERSION_NUM (21 ,0 ,0 ,0 ) &&RTE_VERSION <RTE_VERSION_NUM (21 ,12 ,0 ,0 )) +#define DPDK_21_11_5 +#elif (RTE_VERSION >=RTE_VERSION_NUM (22 ,0 ,0 ,0 ) &&RTE_VERSION <RTE_VERSION_NUM (22 ,12 ,0 ,0 )) +#define DPDK_22_11_3 +#endif + +#endif
drivers/net/sxe/base/sxe_errno.h new file +61 -0
61 lines not on this page · raw message
drivers/net/sxe/base/sxe_hw.c new file +6647 -0
2,059 lines not on this page · raw message
drivers/net/sxe/base/sxe_hw.h new file +1505 -0
1,505 lines not on this page · raw message
drivers/net/sxe/base/sxe_logs.h new file +299 -0
299 lines not on this page · raw message
drivers/net/sxe/base/sxe_offload_common.c new file +66 -0
66 lines not on this page · raw message
drivers/net/sxe/base/sxe_offload_common.h new file +15 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/base/sxe_queue_common.c new file +450 -0
450 lines not on this page · raw message
drivers/net/sxe/base/sxe_queue_common.h new file +236 -0
236 lines not on this page · raw message
drivers/net/sxe/base/sxe_rx_common.c new file +349 -0
349 lines not on this page · raw message
drivers/net/sxe/base/sxe_rx_common.h new file +24 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/base/sxe_tx_common.c new file +49 -0
49 lines not on this page · raw message
drivers/net/sxe/base/sxe_tx_common.h new file +12 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/base/sxe_types.h new file +40 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/base/sxevf_hw.c new file +1057 -0
1,057 lines not on this page · raw message
drivers/net/sxe/base/sxevf_hw.h new file +351 -0
351 lines not on this page · raw message
drivers/net/sxe/base/sxevf_regs.h new file +119 -0
119 lines not on this page · raw message
drivers/net/sxe/include/drv_msg.h new file +22 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/include/readme.txt new file +0 -0
drivers/net/sxe/include/sxe/mgl/sxe_port.h new file +40 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/include/sxe/sxe_cli.h new file +213 -0
213 lines not on this page · raw message
drivers/net/sxe/include/sxe/sxe_hdc.h new file +43 -0
43 lines not on this page · raw message
drivers/net/sxe/include/sxe/sxe_ioctl.h new file +21 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/include/sxe/sxe_msg.h new file +139 -0
139 lines not on this page · raw message
drivers/net/sxe/include/sxe/sxe_regs.h new file +1276 -0
1,276 lines not on this page · raw message
drivers/net/sxe/include/sxe_type.h new file +794 -0
794 lines not on this page · raw message
drivers/net/sxe/include/sxe_version.h new file +32 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/meson.build new file +55 -0
55 lines not on this page · raw message
drivers/net/sxe/pf/rte_pmd_sxe.h new file +33 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/pf/sxe.h new file +117 -0
117 lines not on this page · raw message
drivers/net/sxe/pf/sxe_dcb.c new file +1014 -0
1,014 lines not on this page · raw message
drivers/net/sxe/pf/sxe_dcb.h new file +99 -0
99 lines not on this page · raw message
drivers/net/sxe/pf/sxe_ethdev.c new file +1109 -0
1,109 lines not on this page · raw message
drivers/net/sxe/pf/sxe_ethdev.h new file +27 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/pf/sxe_filter.c new file +826 -0
826 lines not on this page · raw message
drivers/net/sxe/pf/sxe_filter.h new file +119 -0
119 lines not on this page · raw message
drivers/net/sxe/pf/sxe_flow_ctrl.c new file +100 -0
100 lines not on this page · raw message
drivers/net/sxe/pf/sxe_flow_ctrl.h new file +16 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/pf/sxe_irq.c new file +562 -0
562 lines not on this page · raw message
drivers/net/sxe/pf/sxe_irq.h new file +56 -0
56 lines not on this page · raw message
drivers/net/sxe/pf/sxe_main.c new file +326 -0
326 lines not on this page · raw message
drivers/net/sxe/pf/sxe_offload.c new file +365 -0
365 lines not on this page · raw message
drivers/net/sxe/pf/sxe_offload.h new file +51 -0
51 lines not on this page · raw message
drivers/net/sxe/pf/sxe_phy.c new file +993 -0
993 lines not on this page · raw message
drivers/net/sxe/pf/sxe_phy.h new file +121 -0
121 lines not on this page · raw message
drivers/net/sxe/pf/sxe_pmd_hdc.c new file +717 -0
717 lines not on this page · raw message
drivers/net/sxe/pf/sxe_pmd_hdc.h new file +44 -0
44 lines not on this page · raw message
drivers/net/sxe/pf/sxe_ptp.c new file +204 -0
204 lines not on this page · raw message
drivers/net/sxe/pf/sxe_queue.c new file +856 -0
856 lines not on this page · raw message
drivers/net/sxe/pf/sxe_queue.h new file +147 -0
147 lines not on this page · raw message
drivers/net/sxe/pf/sxe_rx.c new file +1567 -0
1,567 lines not on this page · raw message
drivers/net/sxe/pf/sxe_rx.h new file +195 -0
195 lines not on this page · raw message
drivers/net/sxe/pf/sxe_stats.c new file +593 -0
593 lines not on this page · raw message
drivers/net/sxe/pf/sxe_stats.h new file +79 -0
79 lines not on this page · raw message
drivers/net/sxe/pf/sxe_tx.c new file +1069 -0
1,069 lines not on this page · raw message
drivers/net/sxe/pf/sxe_vf.c new file +1275 -0
1,275 lines not on this page · raw message
drivers/net/sxe/pf/sxe_vf.h new file +221 -0
221 lines not on this page · raw message
drivers/net/sxe/rte_pmd_sxe_version.map new file +10 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/sxe_drv_type.h new file +23 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/vf/sxevf.h new file +44 -0
44 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_ethdev.c new file +811 -0
811 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_ethdev.h new file +17 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/vf/sxevf_filter.c new file +511 -0
511 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_filter.h new file +79 -0
79 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_irq.c new file +455 -0
455 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_irq.h new file +40 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/vf/sxevf_main.c new file +94 -0
94 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_msg.c new file +646 -0
646 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_msg.h new file +201 -0
201 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_offload.c new file +36 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/vf/sxevf_offload.h new file +17 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/vf/sxevf_queue.c new file +236 -0
236 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_queue.h new file +82 -0
82 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_rx.c new file +182 -0
182 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_rx.h new file +19 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/vf/sxevf_stats.c new file +166 -0
166 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_stats.h new file +32 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/vf/sxevf_tx.c new file +48 -0
48 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_tx.h new file +15 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Signature · 1 line
2.45.2.windows.1
Part of the diff is not shown here. View the raw message.
PATCH v2 2/2 net/sxe: add net driver sxe
Adjust code implementation according to code style requirements.
--- MAINTAINERS | 2 +- doc/guides/nics/features/sxe.ini | 1 + drivers/net/sxe-dpdk-0.0.0.0-src.tar.gz | Bin 0 -> 196888 bytes drivers/net/sxe.zip | Bin 0 -> 193908 bytes drivers/net/sxe/Makefile | 14 + drivers/net/sxe/base/docker_version | 4 - drivers/net/sxe/base/sxe_common.c | 18 +- drivers/net/sxe/base/sxe_compat_platform.h | 23 +- drivers/net/sxe/base/sxe_compat_version.h | 303 +- drivers/net/sxe/base/sxe_errno.h | 78 +- drivers/net/sxe/base/sxe_hw.c | 1263 +++------ drivers/net/sxe/base/sxe_hw.h | 928 +++--- drivers/net/sxe/base/sxe_logs.h | 132 +- drivers/net/sxe/base/sxe_offload_common.c | 9 +- drivers/net/sxe/base/sxe_queue_common.c | 97 +- drivers/net/sxe/base/sxe_queue_common.h | 177 +- drivers/net/sxe/base/sxe_rx_common.c | 79 +- drivers/net/sxe/base/sxe_rx_common.h | 3 +- drivers/net/sxe/base/sxe_tx_common.c | 6 +- drivers/net/sxe/base/sxe_types.h | 2 +- drivers/net/sxe/base/sxevf_hw.c | 238 +- drivers/net/sxe/base/sxevf_hw.h | 139 +- drivers/net/sxe/base/sxevf_regs.h | 182 +- drivers/net/sxe/include/drv_msg.h | 6 +- drivers/net/sxe/include/sxe/mgl/sxe_port.h | 37 +- drivers/net/sxe/include/sxe/sxe_cli.h | 247 +- drivers/net/sxe/include/sxe/sxe_hdc.h | 46 +- drivers/net/sxe/include/sxe/sxe_ioctl.h | 10 +- drivers/net/sxe/include/sxe/sxe_msg.h | 124 +- drivers/net/sxe/include/sxe/sxe_regs.h | 880 +++--- drivers/net/sxe/include/sxe_type.h | 820 +++--- drivers/net/sxe/include/sxe_version.h | 31 +- drivers/net/sxe/meson.build | 14 + drivers/net/sxe/pf/sxe.h | 30 +- drivers/net/sxe/pf/sxe_dcb.c | 147 +- drivers/net/sxe/pf/sxe_dcb.h | 48 +- drivers/net/sxe/pf/sxe_ethdev.c | 117 +- drivers/net/sxe/pf/sxe_ethdev.h | 11 +- drivers/net/sxe/pf/sxe_filter.c | 125 +- drivers/net/sxe/pf/sxe_filter.h | 40 +- drivers/net/sxe/pf/sxe_filter_ctrl.c | 2951 ++++++++++++++++++++ drivers/net/sxe/pf/sxe_filter_ctrl.h | 153 + drivers/net/sxe/pf/sxe_flow_ctrl.c | 13 +- drivers/net/sxe/pf/sxe_flow_ctrl.h | 6 +- drivers/net/sxe/pf/sxe_fnav.c | 507 ++++ drivers/net/sxe/pf/sxe_fnav.h | 80 + drivers/net/sxe/pf/sxe_irq.c | 116 +- drivers/net/sxe/pf/sxe_irq.h | 15 +- drivers/net/sxe/pf/sxe_macsec.c | 260 ++ drivers/net/sxe/pf/sxe_macsec.h | 20 + drivers/net/sxe/pf/sxe_main.c | 27 +- drivers/net/sxe/pf/sxe_offload.c | 74 +- drivers/net/sxe/pf/sxe_offload.h | 4 +- drivers/net/sxe/pf/sxe_phy.c | 166 +- drivers/net/sxe/pf/sxe_phy.h | 57 +- drivers/net/sxe/pf/sxe_pmd_hdc.c | 168 +- drivers/net/sxe/pf/sxe_pmd_hdc.h | 28 +- drivers/net/sxe/pf/sxe_ptp.c | 14 +- drivers/net/sxe/pf/sxe_ptp.h | 4 +- drivers/net/sxe/pf/sxe_queue.c | 196 +- drivers/net/sxe/pf/sxe_queue.h | 34 +- drivers/net/sxe/pf/sxe_rx.c | 274 +- drivers/net/sxe/pf/sxe_rx.h | 41 +- drivers/net/sxe/pf/sxe_stats.c | 63 +- drivers/net/sxe/pf/sxe_stats.h | 8 +- drivers/net/sxe/pf/sxe_tm.c | 1115 ++++++++ drivers/net/sxe/pf/sxe_tm.h | 59 + drivers/net/sxe/pf/sxe_tx.c | 208 +- drivers/net/sxe/pf/sxe_tx.h | 2 +- drivers/net/sxe/pf/sxe_vec_common.h | 328 +++ drivers/net/sxe/pf/sxe_vec_neon.c | 606 ++++ drivers/net/sxe/pf/sxe_vec_sse.c | 634 +++++ drivers/net/sxe/pf/sxe_vf.c | 247 +- drivers/net/sxe/pf/sxe_vf.h | 114 +- drivers/net/sxe/rte_pmd_sxe_version.map | 2 +- drivers/net/sxe/version.map | 6 +- drivers/net/sxe/vf/sxevf.h | 8 +- drivers/net/sxe/vf/sxevf_ethdev.c | 169 +- drivers/net/sxe/vf/sxevf_filter.c | 119 +- drivers/net/sxe/vf/sxevf_filter.h | 35 +- drivers/net/sxe/vf/sxevf_irq.c | 90 +- drivers/net/sxe/vf/sxevf_irq.h | 4 +- drivers/net/sxe/vf/sxevf_main.c | 14 +- drivers/net/sxe/vf/sxevf_msg.c | 78 +- drivers/net/sxe/vf/sxevf_msg.h | 76 +- drivers/net/sxe/vf/sxevf_queue.c | 20 +- drivers/net/sxe/vf/sxevf_queue.h | 8 +- drivers/net/sxe/vf/sxevf_rx.c | 28 +- drivers/net/sxe/vf/sxevf_stats.c | 14 +- drivers/net/sxe/vf/sxevf_tx.c | 1 - 90 files changed, 10798 insertions(+), 4897 deletions(-) create mode 100644 drivers/net/sxe-dpdk-0.0.0.0-src.tar.gz create mode 100644 drivers/net/sxe.zip delete mode 100644 drivers/net/sxe/base/docker_version create mode 100644 drivers/net/sxe/pf/sxe_filter_ctrl.c create mode 100644 drivers/net/sxe/pf/sxe_filter_ctrl.h create mode 100644 drivers/net/sxe/pf/sxe_fnav.c create mode 100644 drivers/net/sxe/pf/sxe_fnav.h create mode 100644 drivers/net/sxe/pf/sxe_macsec.c create mode 100644 drivers/net/sxe/pf/sxe_macsec.h create mode 100644 drivers/net/sxe/pf/sxe_tm.c create mode 100644 drivers/net/sxe/pf/sxe_tm.h create mode 100644 drivers/net/sxe/pf/sxe_vec_common.h create mode 100644 drivers/net/sxe/pf/sxe_vec_neon.c create mode 100644 drivers/net/sxe/pf/sxe_vec_sse.c
MAINTAINERS +1 -1
@@ -982,7 +982,7 @@ F: doc/guides/nics/sfc_efx.rst F: doc/guides/nics/features/sfc.ini Linkdata sxe -M: Jie Liu <[email protected]> +M: Jie Li <[email protected]> F: drivers/net/sxe/ F: doc/guides/nics/sxe.rst F: doc/guides/nics/features/sxe*.ini
doc/guides/nics/features/sxe.ini +1 -0
@@ -35,6 +35,7 @@ VLAN offload = P QinQ offload = P L3 checksum offload = P L4 checksum offload = P +MACsec offload = P Inner L3 checksum = P Inner L4 checksum = P Packet type parsing = Y
drivers/net/sxe-dpdk-0.0.0.0-src.tar.gz new file binary +0 -0
drivers/net/sxe.zip new file binary +0 -0
drivers/net/sxe/Makefile +14 -0
@@ -13,6 +13,10 @@ CFLAGS += -DSXE_DPDK CFLAGS += -DSXE_HOST_DRIVER CFLAGS += -DSXE_DPDK_L4_FEATURES CFLAGS += -DSXE_DPDK_SRIOV +CFLAGS += -DSXE_DPDK_FILTER_CTRL +CFLAGS += -DSXE_DPDK_MACSEC +CFLAGS += -DSXE_DPDK_TM +CFLAGS += -DSXE_DPDK_SIMD CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS)
@@ -86,6 +90,16 @@ SRCS-$(CONFIG_RTE_LIBRTE_SXE_PMD) += sxe_stats.c SRCS-$(CONFIG_RTE_LIBRTE_SXE_PMD) += sxe_tx.c SRCS-$(CONFIG_RTE_LIBRTE_SXE_PMD) += sxe_vf.c +ifeq ($(CONFIG_RTE_ARCH_ARM64),y) +SRCS-$(CONFIG_RTE_LIBRTE_SXE_PMD) += sxe_vec_neon.c +else +SRCS-$(CONFIG_RTE_LIBRTE_SXE_PMD) += sxe_vec_sse.c +endif +SRCS-$(CONFIG_RTE_LIBRTE_SXE_PMD) += sxe_filter_ctrl.c +SRCS-$(CONFIG_RTE_LIBRTE_SXE_PMD) += sxe_fnav.c +SRCS-$(CONFIG_RTE_LIBRTE_SXE_PMD) += sxe_macsec.c +SRCS-$(CONFIG_RTE_LIBRTE_SXE_PMD) += sxe_tm.c + SRCS-$(CONFIG_RTE_LIBRTE_SXE_PMD) += sxevf_main.c SRCS-$(CONFIG_RTE_LIBRTE_SXE_PMD) += sxevf_filter.c SRCS-$(CONFIG_RTE_LIBRTE_SXE_PMD) += sxevf_msg.c
drivers/net/sxe/base/docker_version deleted +0 -4
@@ -1,4 +0,0 @@ -dpdk_images_v0.1: -只包含dodk源码,源码目录:/usr/src/dpdk -dpdk_images_v0.2: -包含dpdk源码和build下的原生编译产物
drivers/net/sxe/base/sxe_common.c +8 -10
@@ -11,9 +11,9 @@#include "sxe_common.h" #define SXE_TRACE_ID_COUNT_MASK 0x00000000000000FFLLU -#define SXE_TRACE_ID_TID_MASK 0x0000000000FFFF00LLU +#define SXE_TRACE_ID_TID_MASK 0x0000000000FFFF00LLU#define SXE_TRACE_ID_TIME_MASK 0x00FFFFFFFF000000LLU -#define SXE_TRACE_ID_FLAG 0xFF00000000000000LLU +#define SXE_TRACE_ID_FLAG 0xFF00000000000000LLU#define SXE_TRACE_ID_COUNT_SHIFT 0#define SXE_TRACE_ID_TID_SHIFT 8
@@ -22,18 +22,17 @@#define SXE_SEC_TO_MS (sec) (sec * 1000ULL)#define SXE_SEC_TO_NS (sec) (sec * 1000000000ULL) -#define SXE_USEC_PER_MS 1000 +#define SXE_USEC_PER_MS 1000 -static u64 sxe_trace_id =0 ; +u64 sxe_trace_id;u64 sxe_time_get_real_ms (void ) {u64 ms =0 ; -struct timeval tv = {0 }; +struct timeval tv = {0 };s32 ret =gettimeofday (&tv,NULL ); -if (ret <0 ) { +if (ret <0 ) goto l_end; - } ms =SXE_SEC_TO_MS (tv.tv_sec) + tv.tv_usec /SXE_USEC_PER_MS ;
@@ -43,8 +42,8 @@ u64 sxe_time_get_real_ms(void)u64 sxe_trace_id_gen (void ) { -u64 tid =getpid () + (pthread_self () <<20 ); -u64 index =0 ; +u64 tid =getpid () + (pthread_self () <<20 ); +u64 index =0 ;u64 timestamp =sxe_time_get_real_ms (); sxe_trace_id = (SXE_TRACE_ID_FLAG )
@@ -57,7 +56,6 @@ u64 sxe_trace_id_gen(void)void sxe_trace_id_clean (void ) { sxe_trace_id =0 ; -return ; }u64 sxe_trace_id_get (void )
drivers/net/sxe/base/sxe_compat_platform.h +11 -12
@@ -19,27 +19,27 @@#ifdef SXE_TEST #define STATIC #else -#define STATIC static +#define static static#endif #ifndef DIV_ROUND_UP -#define DIV_ROUND_UP (n, d) (((n) + (d) - 1) / (d)) +#define DIV_ROUND_UP (n, d) (((n) + (d) - 1) / (d))#endif #define __iomem#define __force -#define min (a,b) RTE_MIN(a,b) +#define min (a, b) RTE_MIN(a, b)#ifdef __has_attribute#if __has_attribute (__fallthrough__)# define fallthrough __attribute__((__fallthrough__))#else -# define fallthrough do {} while (0) -#endif +# define fallthrough do {} while (0) +#endif #else -# define fallthrough do {} while (0) -#endif +# define fallthrough do {} while (0) +#endif #define __swab32 (_value) \ (((u32)(_value) >> 24) | (((u32)(_value) & 0x00FF0000) >> 8) | \
@@ -74,7 +74,7 @@#define mdelay rte_delay_ms#define udelay rte_delay_us#define usleep_range (min, max) rte_delay_us(min) -#define msleep (x) rte_delay_us(x*1000) +#define msleep (x) rte_delay_us(x*1000)#define ARRAY_SIZE (arr) (sizeof(arr) / sizeof((arr)[0]))#define BIT (x) (1UL << (x))
@@ -82,15 +82,15 @@#define NSEC_PER_SEC 1000000000L -#define ETH_P_1588 0x88F7 +#define ETH_P_1588 0x88F7#define VLAN_PRIO_SHIFT 13static inline void set_bit (unsigned long nr,void *addr) { -int *m = ((int *)addr) + (nr >>5 ); - *m |=1 << (nr &31 ); +int *m = ((int *)addr) + (nr >>5 ); + *m |=1 << (nr &31 ); } static inline int
@@ -137,7 +137,6 @@ static inline u32 sxe_read_addr(const volatile void *addr)static inline void sxe_write_addr (u32 value,volatile void *addr) {rte_write32 ((rte_cpu_to_le_32 (value)), addr); -return ; }#endif
drivers/net/sxe/base/sxe_compat_version.h +150 -153
391 lines not on this page · raw message
drivers/net/sxe/base/sxe_errno.h +39 -39
84 lines not on this page · raw message
drivers/net/sxe/base/sxe_hw.c +451 -812
2,363 lines not on this page · raw message
drivers/net/sxe/base/sxe_hw.h +474 -454
928 lines not on this page · raw message
drivers/net/sxe/base/sxe_logs.h +50 -82
132 lines not on this page · raw message
drivers/net/sxe/base/sxe_offload_common.c +4 -5
Lines of this file are not shown. View the raw message.
drivers/net/sxe/base/sxe_queue_common.c +43 -54
97 lines not on this page · raw message
drivers/net/sxe/base/sxe_queue_common.h +89 -88
177 lines not on this page · raw message
drivers/net/sxe/base/sxe_rx_common.c +40 -39
79 lines not on this page · raw message
drivers/net/sxe/base/sxevf_hw.c +88 -150
238 lines not on this page · raw message
drivers/net/sxe/base/sxevf_hw.h +70 -69
139 lines not on this page · raw message
drivers/net/sxe/base/sxevf_regs.h +91 -91
182 lines not on this page · raw message
drivers/net/sxe/include/sxe/mgl/sxe_port.h +19 -18
Lines of this file are not shown. View the raw message.
drivers/net/sxe/include/sxe/sxe_cli.h +126 -121
247 lines not on this page · raw message
drivers/net/sxe/include/sxe/sxe_hdc.h +23 -23
46 lines not on this page · raw message
drivers/net/sxe/include/sxe/sxe_ioctl.h +5 -5
Lines of this file are not shown. View the raw message.
drivers/net/sxe/include/sxe/sxe_msg.h +62 -62
124 lines not on this page · raw message
drivers/net/sxe/include/sxe/sxe_regs.h +440 -440
880 lines not on this page · raw message
drivers/net/sxe/include/sxe_type.h +411 -409
820 lines not on this page · raw message
drivers/net/sxe/include/sxe_version.h +15 -16
Lines of this file are not shown. View the raw message.
drivers/net/sxe/pf/sxe_dcb.c +50 -97
147 lines not on this page · raw message
drivers/net/sxe/pf/sxe_dcb.h +24 -24
48 lines not on this page · raw message
drivers/net/sxe/pf/sxe_ethdev.c +55 -62
117 lines not on this page · raw message
drivers/net/sxe/pf/sxe_filter.c +48 -77
125 lines not on this page · raw message
drivers/net/sxe/pf/sxe_filter_ctrl.c new file +2951 -0
2,951 lines not on this page · raw message
drivers/net/sxe/pf/sxe_filter_ctrl.h new file +153 -0
153 lines not on this page · raw message
drivers/net/sxe/pf/sxe_fnav.c new file +507 -0
507 lines not on this page · raw message
drivers/net/sxe/pf/sxe_fnav.h new file +80 -0
80 lines not on this page · raw message
drivers/net/sxe/pf/sxe_irq.c +48 -68
116 lines not on this page · raw message
drivers/net/sxe/pf/sxe_macsec.c new file +260 -0
260 lines not on this page · raw message
drivers/net/sxe/pf/sxe_macsec.h new file +20 -0
Lines of this file are not shown. View the raw message.
drivers/net/sxe/pf/sxe_offload.c +27 -47
74 lines not on this page · raw message
drivers/net/sxe/pf/sxe_phy.c +75 -91
166 lines not on this page · raw message
drivers/net/sxe/pf/sxe_phy.h +27 -30
57 lines not on this page · raw message
drivers/net/sxe/pf/sxe_pmd_hdc.c +73 -95
168 lines not on this page · raw message
drivers/net/sxe/pf/sxe_queue.c +84 -112
196 lines not on this page · raw message
drivers/net/sxe/pf/sxe_rx.c +110 -164
274 lines not on this page · raw message
drivers/net/sxe/pf/sxe_rx.h +20 -21
41 lines not on this page · raw message
drivers/net/sxe/pf/sxe_stats.c +29 -34
63 lines not on this page · raw message
drivers/net/sxe/pf/sxe_tm.c new file +1115 -0
1,115 lines not on this page · raw message
drivers/net/sxe/pf/sxe_tm.h new file +59 -0
59 lines not on this page · raw message
drivers/net/sxe/pf/sxe_tx.c +83 -125
208 lines not on this page · raw message
drivers/net/sxe/pf/sxe_vec_common.h new file +328 -0
328 lines not on this page · raw message
drivers/net/sxe/pf/sxe_vec_neon.c new file +606 -0
606 lines not on this page · raw message
drivers/net/sxe/pf/sxe_vec_sse.c new file +634 -0
634 lines not on this page · raw message
drivers/net/sxe/pf/sxe_vf.c +113 -134
247 lines not on this page · raw message
drivers/net/sxe/pf/sxe_vf.h +57 -57
114 lines not on this page · raw message
drivers/net/sxe/rte_pmd_sxe_version.map +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/sxe/vf/sxevf_ethdev.c +80 -89
169 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_filter.c +49 -70
119 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_irq.c +38 -52
90 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_msg.c +31 -47
78 lines not on this page · raw message
drivers/net/sxe/vf/sxevf_msg.h +38 -38
76 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
Signature · 1 line
2.45.2.windows.1
Part of the diff is not shown here. View the raw message.
Quoted 4 lines · On Fri, 6 Sep 2024 10:09:31 +0800 Jie Liu <[email protected]>…
Adjust code implementation according to code style requirements.
Signed-off-by Jie Liu <[email protected]>---
Please break the submission into smaller patches, and each patch should build and pass the code style (checkpatch).
drivers/net/sxe/Makefile
Quoted 5 lines · On Fri, 6 Sep 2024 10:09:30 +0800 Jie Liu <[email protected]>…
drivers/net/sxe/Makefile new file +0
-0
DPDK does not use make anymore, please remove this from next version.