Re: [PATCH 01/13] net/sxe: add base driver directory and doc

Ivan Malov
2025-07-25T13:43:39Z

On Fri, 25 Jul 2025, Ivan Malov wrote:

> Hi,
>
> (please see below)
>
> On Thu, 24 Apr 2025, Jie Liu wrote:
>
>> From: JieLiu <liujie5@linkdatatechnology.com>
>>
>> Adding a minimum maintainable directory structure for the
>> network driver and request maintenance of the sxe driver.
>>
>> Signed-off-by: Jie Liu <liujie5@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 <lijie@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.
>
> Why not 2025?
>
>> +
>> +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)
>
> Consider: 'PTP (precision time protocol)'.
>
>> +- VMDq(Virtual Machine Device Queues)
>
> Consider: 'VMDq (virtual machine devise queues)'.
>
>> +- SR-IOV,max 2PF,63VF per PF
>
> Consider: 'SR-IOV, max. 2 PFs, 63 VFs 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
>
> Consider to spell it as 'Tx' and 'Rx.
>
>> +- Receiver Side Scaling (RSS)
>
> For consistency, 'RSS (receive side scaling)', may be?
>
>> +- 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
>
> Consider to spell it as '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.
>
> Perhaps 'rx' -> 'Rx'.
>
>> +- ``pmd.net.sxe.tx`` (default level is **DEBUG**)
>
> Perhaps 'tx' -> 'Tx'.
>
>> +
>> + Affects tx-wide messages.
>
> Why is 'DEBUG' used by default? Won't it overwhelm the screen with messages?

Please disregard this message, - I see this has been fixed already. Sorry.

Thank you.

>
> Thank you.
>
>> +
>> +------------------------------
>> +
>> +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
>>
>>
>