Skip to content

Introduce net bus

Gaetan Rivet dpdk-dev 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest4 patches 2 repliesIn review
  2. v13 patches 0 repliesSuperseded

Changes in v2 from the cover letter

* New xfrm callback type.
* System access helpers now exposed.
* Fixes a log of edge-cases.
* Better mlx4 support with phys port autodetect.
* Support new plug / unplug API.
* Fixes map files.

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4bus/net: introduce net busMAINTAINERS config/common_linuxapp drivers/bus/Makefile +10 more+1012 -00 replies
2/4bus/net: implement hotplug bus operationsdrivers/bus/net/rte_bus_net.c+60 -00 replies
3/4net/mlx4: net bus supportdrivers/net/mlx4/mlx4.c+35 -00 replies
4/4net/mlx5: net bus supportdrivers/net/mlx5/mlx5.c+9 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/4] Introduce net bus

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

v1 --> v2:

* New xfrm callback type.
* System access helpers now exposed.
* Fixes a log of edge-cases.
* Better mlx4 support with phys port autodetect.
* Support new plug / unplug API.
* Fixes map files.

Gaetan Rivet (4):
bus/net: introduce net bus
bus/net: implement hotplug bus operations
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/bsd/rte_bus_net_version.map   |  14 ++
 drivers/bus/net/include/rte_bus_net.h         | 205 ++++++++++++++++
 drivers/bus/net/linux/Makefile                |  35 +++
 drivers/bus/net/linux/rte_bus_net.c           | 225 ++++++++++++++++++
 drivers/bus/net/linux/rte_bus_net_version.map |  14 ++
 drivers/bus/net/private.h                     | 144 ++++++++++++
 drivers/bus/net/rte_bus_net.c                 | 325 ++++++++++++++++++++++++++
 drivers/net/mlx4/mlx4.c                       |  35 +++
 drivers/net/mlx5/mlx5.c                       |   9 +
 mk/rte.app.mk                                 |   1 +
 15 files changed, 1116 insertions(+)
 create mode 100644 drivers/bus/net/Makefile
 create mode 100644 drivers/bus/net/bsd/Makefile
 create mode 100644 drivers/bus/net/bsd/rte_bus_net_version.map
 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
Signature · 1 line
2.1.4