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

Reply via email to