All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Vishwanathapura, Niranjana" <niranjana.vishwanathapura-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
	ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
	Niranjana Vishwanathapura
	<niranjana.vishwanathapura-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: [RFC v3 01/11] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) documentation
Date: Tue,  7 Feb 2017 12:23:00 -0800	[thread overview]
Message-ID: <1486498990-76562-2-git-send-email-niranjana.vishwanathapura@intel.com> (raw)
In-Reply-To: <1486498990-76562-1-git-send-email-niranjana.vishwanathapura-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

Add HFI VNIC design document explaining the VNIC architecture and the
driver design.

Reviewed-by: Dennis Dalessandro <dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Reviewed-by: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
 Documentation/infiniband/hfi_vnic.txt | 102 ++++++++++++++++++++++++++++++++++
 1 file changed, 102 insertions(+)
 create mode 100644 Documentation/infiniband/hfi_vnic.txt

diff --git a/Documentation/infiniband/hfi_vnic.txt b/Documentation/infiniband/hfi_vnic.txt
new file mode 100644
index 0000000..c6c801e
--- /dev/null
+++ b/Documentation/infiniband/hfi_vnic.txt
@@ -0,0 +1,102 @@
+Intel Omni-Path Host Fabric Interface (HFI) Virtual Network Interface
+Controller (VNIC) feature supports Ethernet functionality over Omni-Path
+fabric by encapsulating the Ethernet packets between HFI nodes.
+
+The patterns of exchanges of Omni-Path encapsulated Ethernet packets
+involves one or more virtual Ethernet switches overlaid on the Omni-Path
+fabric topology. A subset of HFI nodes on the Omni-Path fabric are
+permitted to exchange encapsulated Ethernet packets across a particular
+virtual Ethernet switch. The virtual Ethernet switches are logical
+abstractions achieved by configuring the HFI nodes on the fabric for
+header generation and processing. In the simplest configuration all HFI
+nodes across the fabric exchange encapsulated Ethernet packets over a
+single virtual Ethernet switch. A virtual Ethernet switch, is effectively
+an independent Ethernet network. The configuration is performed by an
+Ethernet Manager (EM) which is part of the trusted Fabric Manager (FM)
+application. HFI nodes can have multiple VNICs each connected to a
+different virtual Ethernet switch. The below diagram presents a case
+of two virtual Ethernet switches with two HFI nodes.
+
+                             +-------------------+
+                             |      Subnet/      |
+                             |     Ethernet      |
+                             |      Manager      |
+                             +-------------------+
+                                /          /
+                              /           /
+                            /            /
+                          /             /
++-----------------------------+  +------------------------------+
+|  Virtual Ethernet Switch    |  |  Virtual Ethernet Switch     |
+|  +---------+    +---------+ |  | +---------+    +---------+   |
+|  | VPORT   |    |  VPORT  | |  | |  VPORT  |    |  VPORT  |   |
++--+---------+----+---------+-+  +-+---------+----+---------+---+
+         |                 \        /                 |
+         |                   \    /                   |
+         |                     \/                     |
+         |                    /  \                    |
+         |                  /      \                  |
+     +-----------+------------+  +-----------+------------+
+     |   VNIC    |    VNIC    |  |    VNIC   |    VNIC    |
+     +-----------+------------+  +-----------+------------+
+     |          HFI           |  |          HFI           |
+     +------------------------+  +------------------------+
+
+
+Intel HFI VNIC software design is presented in the below diagram.
+HFI VNIC functionality has a HW dependent component and a HW
+independent component.
+
+The support has been added for IB device to allocate and free the RDMA
+netdev devices. The RDMA netdev supports interfacing with the network
+stack thus creating standard network interfaces. HFI_VNIC is an RDMA
+netdev device type.
+
+The HW dependent VNIC functionality is part of the HFI1 driver. It
+implements the verbs to allocate and free the HFI_VNIC RDMA netdev.
+It involves HW resource allocation/management for VNIC functionality.
+It interfaces with the network stack and implements the required
+net_device_ops functions. It expects Omni-Path encapsulated Ethernet
+packets in the transmit path and provides HW access to them. It strips
+the Omni-Path header from the received packets before passing them up
+the network stack. It also implements the RDMA netdev control operations.
+
+The HFI VNIC module implements the HW independent VNIC functionality.
+It consists of two parts. The VNIC Ethernet Management Agent (VEMA)
+registers itself with IB core as an IB client and interfaces with the
+IB MAD stack. It exchanges the management information with the Ethernet
+Manager (EM) and the VNIC netdev. The VNIC netdev part allocates and frees
+the HFI_VNIC RDMA netdev devices. It overrides the net_device_ops functions
+set by HW dependent VNIC driver where required to accommodate any control
+operation. It also handles the encapsulation of Ethernet packets with an
+Omni-Path header in the transmit path. For each VNIC interface, the
+information required for encapsulation is configured by the EM via VEMA MAD
+interface. It also passes any control information to the HW dependent driver
+by invoking the RDMA netdev control operations.
+
+        +-------------------+ +----------------------+
+        |                   | |       Linux          |
+        |     IB MAD        | |      Network         |
+        |                   | |       Stack          |
+        +-------------------+ +----------------------+
+                 |               |          |
+                 |               |          |
+        +----------------------------+      |
+        |                            |      |
+        |      HFI VNIC Module       |      |
+        |  (HFI VNIC RDMA Netdev     |      |
+        |     & EMA functions)       |      |
+        |                            |      |
+        +----------------------------+      |
+                    |                       |
+                    |                       |
+           +------------------+             |
+           |     IB core      |             |
+           +------------------+             |
+                    |                       |
+                    |                       |
+        +--------------------------------------------+
+        |                                            |
+        |      HFI1 Driver with VNIC support         |
+        |                                            |
+        +--------------------------------------------+
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2017-02-07 20:23 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-07 20:22 [RFC v3 00/11] HFI Virtual Network Interface Controller (VNIC) Vishwanathapura, Niranjana
2017-02-07 20:23 ` [RFC v3 03/11] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) netdev Vishwanathapura, Niranjana
2017-02-07 20:23 ` [RFC v3 05/11] IB/hfi-vnic: VNIC statistics support Vishwanathapura, Niranjana
2017-02-07 20:23 ` [RFC v3 06/11] IB/hfi-vnic: VNIC MAC table support Vishwanathapura, Niranjana
2017-02-07 20:23 ` [RFC v3 07/11] IB/hfi-vnic: VNIC Ethernet Management Agent (VEMA) interface Vishwanathapura, Niranjana
2017-02-07 20:23 ` [RFC v3 08/11] IB/hfi-vnic: VNIC Ethernet Management Agent (VEMA) function Vishwanathapura, Niranjana
2017-02-07 20:23 ` [RFC v3 09/11] IB/hfi1: HFI_VNIC RDMA netdev support Vishwanathapura, Niranjana
     [not found]   ` <1486498990-76562-10-git-send-email-niranjana.vishwanathapura-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-02-08  4:06     ` Parav Pandit
2017-02-08 18:21       ` Vishwanathapura, Niranjana
2017-02-07 20:23 ` [RFC v3 10/11] IB/hfi1: Virtual Network Interface Controller (VNIC) HW support Vishwanathapura, Niranjana
2017-02-07 20:23 ` [RFC v3 11/11] IB/hfi1: VNIC SDMA support Vishwanathapura, Niranjana
     [not found] ` <1486498990-76562-1-git-send-email-niranjana.vishwanathapura-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-02-07 20:23   ` Vishwanathapura, Niranjana [this message]
     [not found]     ` <1486498990-76562-2-git-send-email-niranjana.vishwanathapura-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-02-08 17:00       ` [RFC v3 01/11] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) documentation Bart Van Assche
     [not found]         ` <1486573231.16026.1.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-02-23  7:24           ` Vishwanathapura, Niranjana
2017-02-07 20:23   ` [RFC v3 02/11] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) interface Vishwanathapura, Niranjana
2017-02-07 21:19     ` Jason Gunthorpe
     [not found]       ` <20170207211901.GB28922-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-02-07 22:06         ` Vishwanathapura, Niranjana
2017-02-07 22:19           ` Jason Gunthorpe
     [not found]             ` <20170207221925.GA30579-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-02-08  1:04               ` Vishwanathapura, Niranjana
2017-02-08  6:54         ` Leon Romanovsky
2017-02-08 17:29           ` Jason Gunthorpe
2017-02-08  0:43     ` Parav Pandit
     [not found]       ` <VI1PR0502MB3008911E9587F4C004BFEF13D1420-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-02-08  1:12         ` Vishwanathapura, Niranjana
2017-02-07 20:23   ` [RFC v3 04/11] IB/hfi-vnic: VNIC Ethernet Management (EM) structure definitions Vishwanathapura, Niranjana
2017-02-07 20:36   ` [RFC v3 00/11] HFI Virtual Network Interface Controller (VNIC) Leon Romanovsky
     [not found]     ` <20170207203649.GW6005-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-02-07 21:00       ` Hefty, Sean
2017-02-07 21:43         ` Vishwanathapura, Niranjana
     [not found]           ` <20170207214303.GA76652-wPcXA7LoDC+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-02-08  5:18             ` Leon Romanovsky
2017-02-08  5:30         ` Leon Romanovsky
2017-02-07 21:28   ` Bart Van Assche
2017-02-07 21:44     ` Hefty, Sean
2017-02-07 21:58       ` Bart Van Assche
     [not found]         ` <1486504716.2581.8.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-02-08  0:54           ` Vishwanathapura, Niranjana
     [not found]             ` <20170208005416.GA76793-wPcXA7LoDC+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-02-08  1:09               ` Bart Van Assche
2017-02-08  7:01                 ` Weiny, Ira
2017-02-08 17:21                   ` Hefty, Sean
2017-02-08 17:45               ` Jason Gunthorpe
2017-02-12 13:26   ` Liran Liss
2017-02-13 17:09     ` Jason Gunthorpe
     [not found]       ` <20170213170935.GD25430-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-02-22  8:43         ` Vishwanathapura, Niranjana

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1486498990-76562-2-git-send-email-niranjana.vishwanathapura@intel.com \
    --to=niranjana.vishwanathapura-ral2jqcrhueavxtiumwx3w@public.gmane.org \
    --cc=dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.