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'
Cristian Dumitrescu(21):
Jasvinder Singh (21):
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 trafic 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 pipeline port and table 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
drivers/net/softnic/Makefile | 12 +
drivers/net/softnic/conn.c | 332 ++
drivers/net/softnic/conn.h | 49 +
drivers/net/softnic/hash_func.h | 359 ++
drivers/net/softnic/hash_func_arm64.h | 261 ++
drivers/net/softnic/parser.c | 687 ++++
drivers/net/softnic/parser.h | 63 +
drivers/net/softnic/rte_eth_softnic.c | 732 +---
drivers/net/softnic/rte_eth_softnic.h | 42 +-
drivers/net/softnic/rte_eth_softnic_action.c | 389 ++
drivers/net/softnic/rte_eth_softnic_cli.c | 4298 ++++++++++++++++++++
drivers/net/softnic/rte_eth_softnic_internals.h | 785 +++-
drivers/net/softnic/rte_eth_softnic_link.c | 97 +
drivers/net/softnic/rte_eth_softnic_mempool.c | 104 +
drivers/net/softnic/rte_eth_softnic_pipeline.c | 969 +++++
drivers/net/softnic/rte_eth_softnic_swq.c | 114 +
drivers/net/softnic/rte_eth_softnic_tap.c | 118 +
drivers/net/softnic/rte_eth_softnic_thread.c | 2713 ++++++++++++
drivers/net/softnic/rte_eth_softnic_tm.c | 87 +-
.../net/softnic/rte_pmd_eth_softnic_version.map | 7 +
mk/rte.app.mk | 6 +
21 files changed, 11555 insertions(+), 669 deletions(-)
create mode 100644 drivers/net/softnic/conn.c
create mode 100644 drivers/net/softnic/conn.h
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
--
2.9.3