[dpdk-dev] [PATCH 0/3] Introduce net bus

Gaetan Rivet gaetan.rivet at 6wind.com
Thu Jun 1 12:44:30 CEST 2017


This new bus takes as devices kernel netdevices.
It offers an API for drivers to register a translation layer that would
transform the netdev name to one their regular PMD would be able to
probe.

This is PoC. It currently only works for MLX4 and MLX5 PMDs as they were
bifurcated and had very little work to do otherwise.

The planned feature is for at least all PCI drivers, be able to unbind
the device from its kmod and bind it to a choosen IO module, prior to
probing.

Additional possible feature would be a close integration with eventually
NCI-like lib, to transparently capture kernel devices, keep a control
interface present and bind / unbind the underlying hardware function as
necessary.

This bus depends on plug / unplug being implemented for the sub-bus
(here, PCI or vdev). If new buses wants to be able to capture kernel
netdevices this way, they should implement plug / unplug.

This patchset depends on:

[PATCH 0/8] bus/pci: remove PCI bus from EAL
http://dpdk.org/dev/patchwork/patch/24972/
http://dpdk.org/ml/archives/dev/2017-June/067061.html

Gaetan Rivet (3):
  bus/net: introduce net bus
  net/mlx4: net bus support
  net/mlx5: net bus support

 MAINTAINERS                                   |   6 +
 config/common_linuxapp                        |   2 +
 drivers/bus/Makefile                          |   2 +
 drivers/bus/net/Makefile                      |  66 +++++++
 drivers/bus/net/bsd/Makefile                  |  33 ++++
 drivers/bus/net/include/rte_bus_net.h         | 145 ++++++++++++++++
 drivers/bus/net/linux/Makefile                |  35 ++++
 drivers/bus/net/linux/rte_bus_net.c           | 237 ++++++++++++++++++++++++++
 drivers/bus/net/linux/rte_bus_net_version.map |   5 +
 drivers/bus/net/private.h                     | 143 ++++++++++++++++
 drivers/bus/net/rte_bus_net.c                 | 210 +++++++++++++++++++++++
 drivers/net/mlx4/mlx4.c                       |  10 ++
 drivers/net/mlx5/mlx5.c                       |  10 ++
 mk/rte.app.mk                                 |   1 +
 14 files changed, 905 insertions(+)
 create mode 100644 drivers/bus/net/Makefile
 create mode 100644 drivers/bus/net/bsd/Makefile
 create mode 100644 drivers/bus/net/include/rte_bus_net.h
 create mode 100644 drivers/bus/net/linux/Makefile
 create mode 100644 drivers/bus/net/linux/rte_bus_net.c
 create mode 100644 drivers/bus/net/linux/rte_bus_net_version.map
 create mode 100644 drivers/bus/net/private.h
 create mode 100644 drivers/bus/net/rte_bus_net.c

-- 
2.1.4



More information about the dev mailing list