From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f43.google.com (mail-wm0-f43.google.com [74.125.82.43]) by dpdk.org (Postfix) with ESMTP id F41537CB1 for ; Thu, 1 Jun 2017 12:44:45 +0200 (CEST) Received: by mail-wm0-f43.google.com with SMTP id 123so3089597wmg.1 for ; Thu, 01 Jun 2017 03:44:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=jRJMABozXZweuh6VabrbEq3WfsVw5/sVKVE24C3HFfc=; b=P49mYDnpXFoXDLqGPIyEIVWfLHWaOiipXAYAwg3QJtlA4wt0p4gFZ+QOPrbYLE7Jzm Bs/ePNBhZmOqfsqfK4POblcRLsGO9XzALf64bgh1s5sI6BNEq7MtOKdILOTfC9y20zPr OMFQxBsbbqEF6R/A+TGbCjJR470z/Q1A/EvKlwEndn1hIG21J7H0WqQ8AM1k3OeOQHbC Y1CgXfoCJ8Hy7ZMXRK6o6f0T3MoTxwFBRsvM5HweD/pG5W5ODBffVJkei0EZsfKaDT8z gepSfRL2jOruaOxwDW9qkDZ/vz1AdK3jkY3vPlAf9WQeXJngPp/r8m6uWyaWLoP6kO2P ANyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=jRJMABozXZweuh6VabrbEq3WfsVw5/sVKVE24C3HFfc=; b=gMHpw8kkGD6dTs3ZvDSLShv0NSoU9rtM3DcQPuft7egAAfOWVKtr43UZI6hRy4w9B0 u4ZBcIkEjznpQoX99AzAojH85G0cJqMDpFzNAhziUQDGA0fDw9oAduccqceA7y2lyIt3 f+cm6P7rtStHhh3m/5dG2RZRc6ZKuB6ybeEzdRfthrZkRTRoGa/DpFpteg48JuqK9JvA K/tnEraTIEzt6Tv9eMrsfY8MxeNJx9erV6ziwTZN/T469oiJXt23e/bLSwnNcm2Jx8uz 8gWJIGm9dkWgbIAO8K4yUXT7hLndDqdhm1fgTfHcCs0xFVRLY2KxCrSYKFjBLyJjZlRs O/Yw== X-Gm-Message-State: AODbwcDvPLqfqP/roeXuxJSalYJKBpLiFfr7kSkLPPfL4c9OhLo3LPTS C4XX24UxqZDDUNr18QE= X-Received: by 10.223.136.151 with SMTP id f23mr769263wrf.134.1496313885025; Thu, 01 Jun 2017 03:44:45 -0700 (PDT) Received: from bidouze.dev.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id p78sm10542314wmg.5.2017.06.01.03.44.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 01 Jun 2017 03:44:43 -0700 (PDT) From: Gaetan Rivet To: dev@dpdk.org Cc: Gaetan Rivet Date: Thu, 1 Jun 2017 12:44:30 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 Subject: [dpdk-dev] [PATCH 0/3] Introduce net bus X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Jun 2017 10:44:46 -0000 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