From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f170.google.com (mail-wr0-f170.google.com [209.85.128.170]) by dpdk.org (Postfix) with ESMTP id 8108D2C17 for ; Thu, 8 Jun 2017 02:01:12 +0200 (CEST) Received: by mail-wr0-f170.google.com with SMTP id q97so12042332wrb.2 for ; Wed, 07 Jun 2017 17:01:12 -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:in-reply-to:references; bh=XxRElwUu5x1LsY0Bu5OudwCQ78bfhIjkA4lBU2kHpC0=; b=B5esrm6SgR7a8Q9qBUnXdmydQdVuGOPM7DlrxzVDzLUtdyHESXcNwyyRDUS5OT9Wew R0/6MXaOP5d/wc1osJ4uAFXixYSEbO7ONgVwWM1SfsAJ2LnTm/sH/wwe/lJjLD1Lsp2R 8GSXRhicIbNLhLakNtKT46P8gsVc+MBcDOeD24n5690qcI/76poQitGUnLhnUhnYrIWM swteLtAVVz0PmxJDIIrT0y5XoYyjZ/JQ6x+C+8zIiC+zgnRj+HlEJbPZAouaiyG2sQ6Z Rdmst3bqm6rQw/nlECR9fjwF//B9xAZzHueKqFFDdI3c7qyUMWGdvdO18dRAx20mrrsd ti9A== 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:in-reply-to :references; bh=XxRElwUu5x1LsY0Bu5OudwCQ78bfhIjkA4lBU2kHpC0=; b=TLrETytfoFI96JRtLNwvAT7NGiO9/Ag3bWeYVJ6JIJUEZmam/GkgMKHid0AoK7CHux 59CEsfjopdddNb9jMDFdZAlwwhDuiHxOT3tUbjcCIGwoOvCWl4iY13GxehzaSVG8cYco qVane+K0CZ0PMusU7bIR+mJWuNzF73pkvkTNtW71rM0e0kSYgE70gkQvmrbv75XWfG9J FjHKcP3i6qhDNKhGZp+w14zRx/eQUyOc554PaovULKuiygx+DYFAegn5mfPAtzWgNxmG scsOBD8nVDqZtSAQdKa9V2qFBtKUyVWRBzyLphpjFEQTVkiyMCqnB8kSqu+X1QRu7zcK fjbQ== X-Gm-Message-State: AODbwcBdbvrCasbK73TPMbVC6UC/GTpi2gzBpRB8ZF9QKBYKA+rR7hr6 IaEVm1I80TZp+TE4Ex0= X-Received: by 10.223.165.1 with SMTP id i1mr24705110wrb.59.1496880071813; Wed, 07 Jun 2017 17:01:11 -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 y42sm4266707wrc.51.2017.06.07.17.01.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 07 Jun 2017 17:01:11 -0700 (PDT) From: Gaetan Rivet To: dev@dpdk.org Cc: Gaetan Rivet , Ferruh Yigit Date: Thu, 8 Jun 2017 02:00:57 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v2 0/4] 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, 08 Jun 2017 00:01:12 -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 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 -- 2.1.4