[dpdk-dev] [PATCH v5 00/23] net/softnic: refactoring
Jasvinder Singh
jasvinder.singh at intel.com
Fri Jul 6 19:20:53 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'
v5 changes:
- update meson file
v4 changes:
- fix multiple function definitions errors in ip-pipeline due to
softnic functions
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/meson.build | 15 +-
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 | 2929 +++++++++++++
drivers/net/softnic/rte_eth_softnic_tm.c | 173 +-
...nic_version.map => rte_eth_softnic_version.map} | 6 +
mk/rte.app.mk | 6 +
31 files changed, 12236 insertions(+), 1032 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