[dpdk-dev] [PATCH v3 00/23] net/softnic: refactoring
Jasvinder Singh
jasvinder.singh at intel.com
Wed Jun 27 18:31:00 CEST 2018
This patch set modifies the Soft NIC device driver to use the Packet
Framework, which makes it much more modular, flexible and extensible
with new functionality.
The Soft NIC allows building custom NIC pipelines in SW. The Soft NIC
pipeline is DIY and reconfigurable through firmware (DPDK Packet
Framework script).
Configured through the standard DPDK ethdev API (including flow,
QoS, security). The internal framework is not externally visible.
Key benefits:
- Can be used to augment missing features to HW NICs.
- Allows consumption of advanced DPDK features without
redesigning the target application.
- Allows out-of-the-box performance boost of DPDK.
consumers apps simply by instantiating this Ethernet device.
Example: Create "Soft NIC" port with configuration defined
in firmware script file
--vdev 'net_softnic0,firmware=script.cli'
v3 changes:
- fix freebsd build errors
- add firmware script for softnic
v2 changes:
- fix build warnings
- fix checkpatch warnings
Cristian Dumitrescu (22):
Jasvinder Singh (23):
Reshma Pattan (1):
net/softnic: restructuring
net/softnic: add software queue object
net/softnic: add link object
net/softnic: add mempool object
net/softnic: add tap object
net/softnic: add traffic manager object
net/softnic: add port action profile
net/softnic: add table action profile
net/softnic: add pipeline object
net/softnic: add thread
net/softnic: add softnic run API
net/softnic: add cli interface
net/softnic: add connection agent
net/softnic: add cli to create softnic objects
net/softnic: add cli to enable and disable pipeline
net/softnic: add cli for pipeline table entries
net/softnic: add cli to read stats
net/softnic: add cli for meter action
net/softnic: add cli for ttl action
net/softnic: receive and transmit queue setup
net/softnic: start and stop function
net/softnic: add firmware script
app/testpmd: rework softnic forward mode
app/test-pmd/Makefile | 4 +-
app/test-pmd/cmdline.c | 54 +-
app/test-pmd/config.c | 57 +
app/test-pmd/{tm.c => softnicfwd.c} | 405 +-
app/test-pmd/testpmd.c | 29 +-
app/test-pmd/testpmd.h | 44 +-
config/common_base | 2 +-
config/common_linuxapp | 1 +
drivers/net/softnic/Makefile | 23 +-
drivers/net/softnic/conn.c | 332 ++
drivers/net/softnic/conn.h | 49 +
drivers/net/softnic/firmware.cli | 21 +
drivers/net/softnic/hash_func.h | 359 ++
drivers/net/softnic/hash_func_arm64.h | 261 ++
drivers/net/softnic/parser.c | 685 +++
drivers/net/softnic/parser.h | 66 +
drivers/net/softnic/rte_eth_softnic.c | 755 ++--
drivers/net/softnic/rte_eth_softnic.h | 49 +-
drivers/net/softnic/rte_eth_softnic_action.c | 389 ++
drivers/net/softnic/rte_eth_softnic_cli.c | 4342 ++++++++++++++++++++
drivers/net/softnic/rte_eth_softnic_internals.h | 814 +++-
drivers/net/softnic/rte_eth_softnic_link.c | 98 +
drivers/net/softnic/rte_eth_softnic_mempool.c | 103 +
drivers/net/softnic/rte_eth_softnic_pipeline.c | 966 +++++
drivers/net/softnic/rte_eth_softnic_swq.c | 113 +
drivers/net/softnic/rte_eth_softnic_tap.c | 118 +
drivers/net/softnic/rte_eth_softnic_thread.c | 2710 ++++++++++++
drivers/net/softnic/rte_eth_softnic_tm.c | 173 +-
...nic_version.map => rte_eth_softnic_version.map} | 6 +
mk/rte.app.mk | 6 +
30 files changed, 12004 insertions(+), 1030 deletions(-)
rename app/test-pmd/{tm.c => softnicfwd.c} (61%)
create mode 100644 drivers/net/softnic/conn.c
create mode 100644 drivers/net/softnic/conn.h
create mode 100644 drivers/net/softnic/firmware.cli
create mode 100644 drivers/net/softnic/hash_func.h
create mode 100644 drivers/net/softnic/hash_func_arm64.h
create mode 100644 drivers/net/softnic/parser.c
create mode 100644 drivers/net/softnic/parser.h
create mode 100644 drivers/net/softnic/rte_eth_softnic_action.c
create mode 100644 drivers/net/softnic/rte_eth_softnic_cli.c
create mode 100644 drivers/net/softnic/rte_eth_softnic_link.c
create mode 100644 drivers/net/softnic/rte_eth_softnic_mempool.c
create mode 100644 drivers/net/softnic/rte_eth_softnic_pipeline.c
create mode 100644 drivers/net/softnic/rte_eth_softnic_swq.c
create mode 100644 drivers/net/softnic/rte_eth_softnic_tap.c
create mode 100644 drivers/net/softnic/rte_eth_softnic_thread.c
rename drivers/net/softnic/{rte_pmd_softnic_version.map => rte_eth_softnic_version.map} (52%)
--
2.9.3
More information about the dev
mailing list