From: JieLiu <liuj...@linkdatatechnology.com> Adding a minimum maintainable directory structure for the network driver and request maintenance of the sxe driver.
Signed-off-by: Jie Liu <liuj...@linkdatatechnology.com> --- MAINTAINERS | 6 +++ doc/guides/nics/features/sxe.ini | 82 +++++++++++++++++++++++++++++ doc/guides/nics/features/sxe_vf.ini | 39 ++++++++++++++ doc/guides/nics/index.rst | 1 + doc/guides/nics/sxe.rst | 71 +++++++++++++++++++++++++ drivers/net/sxe/meson.build | 9 ++++ drivers/net/sxe/pf/sxe_ethdev.c | 3 ++ drivers/net/sxe/pf/sxe_ethdev.h | 3 ++ 8 files changed, 214 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/meson.build create mode 100644 drivers/net/sxe/pf/sxe_ethdev.c create mode 100644 drivers/net/sxe/pf/sxe_ethdev.h diff --git a/MAINTAINERS b/MAINTAINERS index 82f6e2f917..f92f4fea81 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2055,3 +2055,9 @@ F: examples/vmdq/ F: doc/guides/sample_app_ug/vmdq_forwarding.rst F: examples/vmdq_dcb/ F: doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst + +Linkdata sxe +M: Jie Li <li...@linkdatatechnology.com> +F: drivers/net/sxe/ +F: doc/guides/nics/sxe.rst +F: doc/guides/nics/features/sxe*.ini diff --git a/doc/guides/nics/features/sxe.ini b/doc/guides/nics/features/sxe.ini new file mode 100644 index 0000000000..b61ad7c699 --- /dev/null +++ b/doc/guides/nics/features/sxe.ini @@ -0,0 +1,82 @@ +; +; Supported features of the 'sxe' network poll mode driver. +; +; Refer to default.ini for the full list of available PMD features. +; +[Features] +Speed capabilities = Y +Link speed configuration = Y +Link status = Y +Link status event = Y +Rx interrupt = Y +Queue start/stop = 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 +Multicast MAC filter = Y +RSS hash = Y +RSS key update = Y +RSS reta update = Y +VMDq = Y +SR-IOV = Y +DCB = Y +VLAN filter = Y +Flow control = Y +Rate limitation = Y +Traffic manager = Y +Inline crypto = Y +CRC offload = P +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 +Timesync = Y +Rx descriptor status = Y +Tx descriptor status = Y +Basic stats = Y +Extended stats = Y +Stats per queue = Y +FW version = Y +EEPROM dump = Y +Module EEPROM dump = Y +Registers dump = Y +Multiprocess aware = Y +FreeBSD = Y +Linux = Y +ARMv8 = Y +LoongArch64 = Y +rv64 = Y +x86-32 = Y +x86-64 = Y + +[rte_flow items] +eth = P +e_tag = Y +fuzzy = Y +ipv4 = Y +ipv6 = Y +nvgre = Y +raw = Y +sctp = Y +tcp = Y +udp = Y +vlan = P +vxlan = Y + +[rte_flow actions] +drop = Y +mark = Y +pf = Y +queue = Y +rss = Y +security = Y +vf = Y diff --git a/doc/guides/nics/features/sxe_vf.ini b/doc/guides/nics/features/sxe_vf.ini new file mode 100644 index 0000000000..49eaeaaaae --- /dev/null +++ b/doc/guides/nics/features/sxe_vf.ini @@ -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 diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst index 10a2eca3b0..67e6374c69 100644 --- a/doc/guides/nics/index.rst +++ b/doc/guides/nics/index.rst @@ -72,3 +72,4 @@ Network Interface Controller Drivers vmxnet3 xsc zxdh + sxe diff --git a/doc/guides/nics/sxe.rst b/doc/guides/nics/sxe.rst new file mode 100644 index 0000000000..d86d15bec8 --- /dev/null +++ b/doc/guides/nics/sxe.rst @@ -0,0 +1,71 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright (C), 2022, Linkdata Technology Co., Ltd. + +SXE Poll Mode Driver +====================== + +The SXE PMD (librte_pmd_sxe) provides poll mode driver support +for Linkdata 1160-2X 10GE Ethernet Adapter. + +Features +-------- +- PXE boot +- PTP(Precision Time Protocol) +- VMDq(Virtual Machine Device Queues) +- SR-IOV,max 2PF,63VF per PF +- 128 L2 Ethernet MAC Address Filters (unicast and multicast) +- 64 L2 VLAN filters +- pldm over mctp over smbus +- 802.1q VLAN +- Low Latency Interrupts +- LRO +- Promiscuous mode +- Multicast mode +- Multiple queues for TX and RX +- Receiver Side Scaling (RSS) +- MAC/VLAN filtering +- Packet type information +- Checksum offload +- VLAN/QinQ stripping and inserting +- TSO offload +- Port hardware statistics +- Link state information +- Link flow control +- Interrupt mode for RX +- Scattered and gather for TX and RX +- DCB +- IEEE 1588 +- FW version +- Generic flow API + +Configuration +------------- + +Dynamic Logging Parameters +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +One may leverage EAL option "--log-level" to change default levels +for the log types supported by the driver. The option is used with +an argument typically consisting of two parts separated by a colon. + +SXE PMD provides the following log types available for control: + +- ``pmd.net.sxe.drv`` (default level is **DEBUG**) + + Affects driver-wide messages unrelated to any particular devices. + +- ``pmd.net.sxe.init`` (default level is **DEBUG**) + + Extra logging of the messages during PMD initialization. + +- ``pmd.net.sxe.rx`` (default level is **DEBUG**) + + Affects rx-wide messages. +- ``pmd.net.sxe.tx`` (default level is **DEBUG**) + + Affects tx-wide messages. + +------------------------------ + +Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>` +for details. diff --git a/drivers/net/sxe/meson.build b/drivers/net/sxe/meson.build new file mode 100644 index 0000000000..dad9ee44a0 --- /dev/null +++ b/drivers/net/sxe/meson.build @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright (C), 2020, Wuxi Stars Micro System Technologies Co., Ltd. + +deps += ['hash'] +sources = files( + 'pf/sxe_ethdev.c', +) + +includes += include_directories('pf') diff --git a/drivers/net/sxe/pf/sxe_ethdev.c b/drivers/net/sxe/pf/sxe_ethdev.c new file mode 100644 index 0000000000..e31a23deeb --- /dev/null +++ b/drivers/net/sxe/pf/sxe_ethdev.c @@ -0,0 +1,3 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2015-2024 + */ diff --git a/drivers/net/sxe/pf/sxe_ethdev.h b/drivers/net/sxe/pf/sxe_ethdev.h new file mode 100644 index 0000000000..e31a23deeb --- /dev/null +++ b/drivers/net/sxe/pf/sxe_ethdev.h @@ -0,0 +1,3 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2015-2024 + */ -- 2.18.4