[RFC v3 11/11] IB/hfi1: VNIC SDMA support

2017-02-07 Thread Vishwanathapura, Niranjana
HFI1 VNIC SDMA support enables transmission of VNIC packets over SDMA. Map VNIC queues to SDMA engines and support halting and wakeup of the VNIC queues. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny Signed-off-by: Niranjana

[RFC v3 09/11] IB/hfi1: HFI_VNIC RDMA netdev support

2017-02-07 Thread Vishwanathapura, Niranjana
Add support to create and free HFI_VNIC rdma netdev devices. Implement netstack interface functionality including xmit_skb, receive side NAPI etc. Also implement rdma netdev control functions. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny

[RFC v3 10/11] IB/hfi1: Virtual Network Interface Controller (VNIC) HW support

2017-02-07 Thread Vishwanathapura, Niranjana
HFI1 HW specific support for VNIC functionality. Dynamically allocate a set of contexts for VNIC when the first vnic port is instantiated. Allocate VNIC contexts from user contexts pool and return them back to the same pool while freeing up. Set aside enough MSI-X interrupts for VNIC contexts and

[RFC v3 06/11] IB/hfi-vnic: VNIC MAC table support

2017-02-07 Thread Vishwanathapura, Niranjana
HFI VNIC MAC table contains the MAC address to DLID mappings provided by the Ethernet manager. During transmission, the MAC table provides the MAC address to DLID translation. Implement MAC table using simple hash list. Also provide support to update/query the MAC table by Ethernet manager.

[RFC v3 05/11] IB/hfi-vnic: VNIC statistics support

2017-02-07 Thread Vishwanathapura, Niranjana
HFI VNIC driver statistics support maintains various counters including standard netdev counters and the Ethernet manager defined counters. Add the Ethtool hook to read the counters. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny

[RFC v3 08/11] IB/hfi-vnic: VNIC Ethernet Management Agent (VEMA) function

2017-02-07 Thread Vishwanathapura, Niranjana
HFI VEMA function interfaces with the Infiniband MAD stack to exchange the management information packets with the Ethernet Manager (EM). It interfaces with the HFI VNIC netdev function to SET/GET the management information. The information exchanged with the EM includes class port details,

[RFC v3 07/11] IB/hfi-vnic: VNIC Ethernet Management Agent (VEMA) interface

2017-02-07 Thread Vishwanathapura, Niranjana
HFI VNIC EMA interface functions are the management interfaces to the HFI VNIC netdev. Add support to add and remove VNIC ports. Implement the required GET/SET management interface functions and processing of new management information. Add support to send trap notifications upon various events

[RFC v3 02/11] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) interface

2017-02-07 Thread Vishwanathapura, Niranjana
Add rdma netdev interface to ib device structure allowing rdma netdev devices to be allocated by ib clients. Define HFI VNIC interface between hardware independent VNIC functionality and the hardware dependent VNIC functionality. Reviewed-by: Dennis Dalessandro

[RFC v3 00/11] HFI Virtual Network Interface Controller (VNIC)

2017-02-07 Thread Vishwanathapura, Niranjana
support | || ++ Vishwanathapura, Niranjana (11): IB/hfi-vnic: Virtual Network Interface Controller (VNIC) documentation IB/hfi-vnic: Virtual Network Interface Controller (VNIC) interface IB/hfi-vnic: Virtual Network Interface Controller (VNIC) netdev IB/hfi-vnic: VNIC Ethernet Managem

[RFC v3 01/11] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) documentation

2017-02-07 Thread Vishwanathapura, Niranjana
Add HFI VNIC design document explaining the VNIC architecture and the driver design. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny Signed-off-by: Niranjana Vishwanathapura ---

[RFC v3 04/11] IB/hfi-vnic: VNIC Ethernet Management (EM) structure definitions

2017-02-07 Thread Vishwanathapura, Niranjana
Define VNIC EM MAD structures and the associated macros. These structures are used for information exchange between VNIC EM agent (EMA) on the HFI host and the Ethernet manager. These include the virtual ethernet switch (vesw) port information, vesw port mac table, summay and error counters, vesw

[RFC v3 03/11] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) netdev

2017-02-07 Thread Vishwanathapura, Niranjana
HFI VNIC netdev function supports Ethernet functionality over Omni-Path fabric by encapsulating Ethernet packets inside Omni-Path packet header. It allocates a rdma netdev device and interfaces with the network stack to provide standard Ethernet network interfaces. It overrides HFI device's netdev

Re: [RFC v3 00/11] HFI Virtual Network Interface Controller (VNIC)

2017-02-07 Thread Vishwanathapura, Niranjana
On Tue, Feb 07, 2017 at 01:00:05PM -0800, Hefty, Sean wrote: I didn't read patches yet, and prefer to ask it in advance. Does this new ULP work with all drivers/infiniband/hw/* devices as it is expected from ULP? Like the way ipoib or srp work with all hw devices? What is the real point of

Re: [RFC v3 09/11] IB/hfi1: HFI_VNIC RDMA netdev support

2017-02-08 Thread Vishwanathapura, Niranjana
On Wed, Feb 08, 2017 at 04:06:40AM +, Parav Pandit wrote: Hi, -Original Message- From: linux-rdma-ow...@vger.kernel.org [mailto:linux-rdma- ow...@vger.kernel.org] On Behalf Of Vishwanathapura, Niranjana Sent: Tuesday, February 7, 2017 2:23 PM To: dledf...@redhat.com Cc: linux-r

Re: [RFC v3 02/11] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) interface

2017-02-07 Thread Vishwanathapura, Niranjana
On Tue, Feb 07, 2017 at 02:19:01PM -0700, Jason Gunthorpe wrote: On Tue, Feb 07, 2017 at 12:23:01PM -0800, Vishwanathapura, Niranjana wrote: Add rdma netdev interface to ib device structure allowing rdma netdev devices to be allocated by ib clients. Define HFI VNIC interface between hardware

Re: [RFC v3 02/11] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) interface

2017-02-07 Thread Vishwanathapura, Niranjana
On Tue, Feb 07, 2017 at 03:19:25PM -0700, Jason Gunthorpe wrote: On Tue, Feb 07, 2017 at 02:06:30PM -0800, Vishwanathapura, Niranjana wrote: >>IB_DEVICE_RAW_SCATTER_FCS = (1ULL << 34), >>+ IB_DEVICE_RDMA_NETDEV_HFI_VNIC = (1U

Re: [RFC v3 00/11] HFI Virtual Network Interface Controller (VNIC)

2017-02-07 Thread Vishwanathapura, Niranjana
On Tue, Feb 07, 2017 at 09:58:50PM +, Bart Van Assche wrote: On Tue, 2017-02-07 at 21:44 +, Hefty, Sean wrote: This is Ethernet - not IP - encapsulation over a non-InfiniBand device/protocol. That's more than clear from the cover letter. In my opinion the cover letter should explain

Re: [RFC v3 02/11] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) interface

2017-02-07 Thread Vishwanathapura, Niranjana
On Wed, Feb 08, 2017 at 12:43:40AM +, Parav Pandit wrote: @@ -2096,6 +2114,15 @@ struct ib_device { struct ib_rwq_ind_table_init_attr *init_attr, struct ib_udata *udata);

Re: [RFC v3 00/11] HFI Virtual Network Interface Controller (VNIC)

2017-02-22 Thread Vishwanathapura, Niranjana
On Mon, Feb 13, 2017 at 10:09:35AM -0700, Jason Gunthorpe wrote: On Sun, Feb 12, 2017 at 01:26:35PM +, Liran Liss wrote: > From: linux-rdma-ow...@vger.kernel.org [mailto:linux-rdma- > ow...@vger.kernel.org] On Behalf Of Vishwanathapura, Niranjana > > ChangeLog: > =

Re: [RFC v3 01/11] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) documentation

2017-02-22 Thread Vishwanathapura, Niranjana
On Wed, Feb 08, 2017 at 05:00:45PM +, Bart Van Assche wrote: On Tue, 2017-02-07 at 12:23 -0800, Vishwanathapura, Niranjana wrote: Please elaborate this section. What is a virtual Ethernet switch? Is it a software entity or something that is implemented in hardware? Also, how

[PATCH 08/11] IB/opa-vnic: VNIC Ethernet Management Agent (VEMA) function

2017-02-22 Thread Vishwanathapura, Niranjana
OPA VEMA function interfaces with the Infiniband MAD stack to exchange the management information packets with the Ethernet Manager (EM). It interfaces with the OPA VNIC netdev function to SET/GET the management information. The information exchanged with the EM includes class port details,

[PATCH 02/11] IB/opa-vnic: Virtual Network Interface Controller (VNIC) interface

2017-02-22 Thread Vishwanathapura, Niranjana
Add rdma netdev interface to ib device structure allowing rdma netdev devices to be allocated by ib clients. Define OPA VNIC interface between hardware independent VNIC functionality and the hardware dependent VNIC functionality. Reviewed-by: Dennis Dalessandro

[PATCH 07/11] IB/opa-vnic: VNIC Ethernet Management Agent (VEMA) interface

2017-02-22 Thread Vishwanathapura, Niranjana
OPA VNIC EMA interface functions are the management interfaces to the OPA VNIC netdev. Add support to add and remove VNIC ports. Implement the required GET/SET management interface functions and processing of new management information. Add support to send trap notifications upon various events

[PATCH 09/11] IB/hfi1: OPA_VNIC RDMA netdev support

2017-02-22 Thread Vishwanathapura, Niranjana
Add support to create and free OPA_VNIC rdma netdev devices. Implement netstack interface functionality including xmit_skb, receive side NAPI etc. Also implement rdma netdev control functions. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny

[PATCH 01/11] IB/opa-vnic: Virtual Network Interface Controller (VNIC) documentation

2017-02-22 Thread Vishwanathapura, Niranjana
Add OPA VNIC design document explaining the VNIC architecture and the driver design. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny Signed-off-by: Niranjana Vishwanathapura ---

[PATCH 10/11] IB/hfi1: Virtual Network Interface Controller (VNIC) HW support

2017-02-22 Thread Vishwanathapura, Niranjana
HFI1 HW specific support for VNIC functionality. Dynamically allocate a set of contexts for VNIC when the first vnic port is instantiated. Allocate VNIC contexts from user contexts pool and return them back to the same pool while freeing up. Set aside enough MSI-X interrupts for VNIC contexts and

[PATCH 05/11] IB/opa-vnic: VNIC statistics support

2017-02-22 Thread Vishwanathapura, Niranjana
OPA VNIC driver statistics support maintains various counters including standard netdev counters and the Ethernet manager defined counters. Add the Ethtool hook to read the counters. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny

[PATCH 04/11] IB/opa-vnic: VNIC Ethernet Management (EM) structure definitions

2017-02-22 Thread Vishwanathapura, Niranjana
Define VNIC EM MAD structures and the associated macros. These structures are used for information exchange between VNIC EM agent (EMA) on the host and the Ethernet manager. These include the virtual ethernet switch (vesw) port information, vesw port mac table, summay and error counters, vesw port

[PATCH 03/11] IB/opa-vnic: Virtual Network Interface Controller (VNIC) netdev

2017-02-22 Thread Vishwanathapura, Niranjana
OPA VNIC netdev function supports Ethernet functionality over Omni-Path fabric by encapsulating Ethernet packets inside Omni-Path packet header. It allocates a rdma netdev device and interfaces with the network stack to provide standard Ethernet network interfaces. It overrides HFI1 device's

[PATCH 11/11] IB/hfi1: VNIC SDMA support

2017-02-22 Thread Vishwanathapura, Niranjana
HFI1 VNIC SDMA support enables transmission of VNIC packets over SDMA. Map VNIC queues to SDMA engines and support halting and wakeup of the VNIC queues. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny Signed-off-by: Niranjana

[PATCH 06/11] IB/opa-vnic: VNIC MAC table support

2017-02-22 Thread Vishwanathapura, Niranjana
OPA VNIC MAC table contains the MAC address to DLID mappings provided by the Ethernet manager. During transmission, the MAC table provides the MAC address to DLID translation. Implement MAC table using simple hash list. Also provide support to update/query the MAC table by Ethernet manager.

[PATCH 00/11] Omni-Path Virtual Network Interface Controller (VNIC)

2017-02-22 Thread Vishwanathapura, Niranjana
port | || ++ Vishwanathapura, Niranjana (11): IB/opa-vnic: Virtual Network Interface Controller (VNIC) documentation IB/opa-vnic: Virtual Network Interface Controller (VNIC) interface IB/opa-vnic: Virtual Network Interface Controller (

Re: [RFC v2 00/10] HFI Virtual Network Interface Controller (VNIC)

2017-01-17 Thread Vishwanathapura, Niranjana
Thanks Jason for the valuable inputs. Here is the new generic interface. Overview: Bottom driver defines net_device_ops. The upper driver can override it. For example, upper driver can implement ndo_open() which calls bottom driver's ndo_open() and also do some book keeping.

Re: [RFC 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) Bus driver

2016-11-23 Thread Vishwanathapura, Niranjana
On Tue, Nov 22, 2016 at 05:49:32PM -0700, Jason Gunthorpe wrote: > > We could add a custom Interface between HFI1 driver and hfi_vnic drivers > > without involving a bus. > > hfi is already registering on the infiniband class, just use that. I don't understand what you mean here? Get the

Re: [RFC 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) Bus driver

2016-11-21 Thread Vishwanathapura, Niranjana
On Sat, Nov 19, 2016 at 12:04:45PM -0700, Jason Gunthorpe wrote: On Fri, Nov 18, 2016 at 02:42:10PM -0800, Vishwanathapura, Niranjana wrote: +HFI-VNIC DRIVER +M: Dennis Dalessandro <dennis.dalessan...@intel.com> +M: Niranjana Vishwanathapura <niranjana.vishwanathap...@inte

Re: [RFC 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) Bus driver

2016-11-21 Thread Vishwanathapura, Niranjana
On Mon, Nov 21, 2016 at 04:31:18PM -0700, Jason Gunthorpe wrote: + ida_init(_vnic_ctrl_ida); + idr_init(_vnic_idr); + + rc = bus_register(_vnic_bus); >>> >>>Why on earth do we need this? Didn't I give you enough grief for the >>>psm stuff and now you want to

Re: [RFC 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) Bus driver

2016-11-22 Thread Vishwanathapura, Niranjana
On Tue, Nov 22, 2016 at 05:04:37PM -0600, Christoph Lameter wrote: On Tue, 22 Nov 2016, Vishwanathapura, Niranjana wrote: Ok, I do understand Jason's point that we should probably not put this driver under drivers/infiniband/sw/.., as this driver is not a HCA. It is an ULP similar to ipoib

Re: [RFC 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) Bus driver

2016-11-22 Thread Vishwanathapura, Niranjana
Ok, I do understand Jason's point that we should probably not put this driver under drivers/infiniband/sw/.., as this driver is not a HCA. It is an ULP similar to ipoib, built on top of Omni-path irrespective of whether we register a hfi_vnic_bus or a direct custom interface with HFI1. This ULP

Re: [RFC 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) Bus driver

2016-11-21 Thread Vishwanathapura, Niranjana
On Mon, Nov 21, 2016 at 02:39:30PM -0700, Jason Gunthorpe wrote: On Mon, Nov 21, 2016 at 01:30:17PM -0800, Vishwanathapura, Niranjana wrote: On Sat, Nov 19, 2016 at 12:04:45PM -0700, Jason Gunthorpe wrote: >On Fri, Nov 18, 2016 at 02:42:10PM -0800, Vishwanathapura, Niranjana wrote: >>

Re: [RFC 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) Bus driver

2016-11-24 Thread Vishwanathapura, Niranjana
On Thu, Nov 24, 2016 at 09:15:45AM -0700, Jason Gunthorpe wrote: On Wed, Nov 23, 2016 at 04:08:25PM -0800, Vishwanathapura, Niranjana wrote: In order to pass the hfi function pointers to the hfi_vnic ULP, I can, a) Have hfi_vnic ULP define an interface API for hfi1 driver to call to register

Re: [RFC 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) Bus driver

2016-11-28 Thread Vishwanathapura, Niranjana
On Thu, Nov 24, 2016 at 09:15:45AM -0700, Jason Gunthorpe wrote: And will move the hfi_vnic module under ‘drivers/infiniband/ulp/hfi_vnic’. I would prefer drivers/net/ethernet This is clearly not a ULP since it doesn't use verbs. I understand it is not using verbs, but the control path

Re: [RFC 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) Bus driver

2016-11-28 Thread Vishwanathapura, Niranjana
On Fri, Nov 25, 2016 at 12:05:09PM -0700, Jason Gunthorpe wrote: On Thu, Nov 24, 2016 at 06:13:50PM -0800, Vishwanathapura, Niranjana wrote: In order to be truely device independent the hfi_vnic ULP should not depend on a device exported symbol. Instead device should register its functions

[RFC 00/10] HFI Virtual Network Interface Controller (VNIC)

2016-11-18 Thread Vishwanathapura, Niranjana
| ++ | | ++ || | HFI1 Driver with VNIC support | || ++ Vishwanathapura, Niranjana (10): IB/hfi-vnic: Virtual Network Interface

[RFC 07/10] IB/hfi-vnic: VNIC Ethernet Management Agent (VEMA) interface

2016-11-18 Thread Vishwanathapura, Niranjana
HFI VNIC EMA interface functions are the management interfaces to the HFI VNIC netdev driver. Implement the required GET/SET management interface functions and processing of new management information. Add support to send trap notifications upon various events like interface status change,

[RFC 03/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) netdev driver

2016-11-18 Thread Vishwanathapura, Niranjana
HFI VNIC netdev driver supports Ethernet functionality over Omni-Path fabric by encapsulating Ethernet packets inside Omni-Path packet header. It interfaces with the network stack to provide standard Ethernet network interfaces to the user. It binds with the HFI VNIC device and invokes the bus

[RFC 10/10] IB/hfi1: VNIC SDMA support

2016-11-18 Thread Vishwanathapura, Niranjana
HFI1 VNIC SDMA support enables transmission of VNIC packets over SDMA. Map VNIC queues to SDMA engines and support halting and wakeup of the VNIC queues. Change-Id: I2d2d23bda9fb8a7194d9722e23bc69b110cdcf86 Reviewed-by: Dennis Dalessandro Signed-off-by: Niranjana

[RFC 08/10] IB/hfi-vnic: VNIC Ethernet Management Agent (VEMA) driver

2016-11-18 Thread Vishwanathapura, Niranjana
HFI VEMA driver interfaces with the Infiniband MAD stack to exchange the management information packets with the Ethernet Manager (EM). It interfaces with the HFI VNIC netdev driver to SET/GET the management information. The information exchanged with the EM includes class port details,

[RFC 09/10] IB/hfi1: Virtual Network Interface Controller (VNIC) support

2016-11-18 Thread Vishwanathapura, Niranjana
HFI1 HW specific support for VNIC functionality. Add support to create VNIC devices on HFI VNIC Bus. Also implement the bus operations to allocate resources, transmit and receive of Omni-Path encapsulated Ethernet packets. Dynamically allocate a set of contexts for VNIC when the first vnic port

[RFC 05/10] IB/hfi-vnic: VNIC statistics support

2016-11-18 Thread Vishwanathapura, Niranjana
HFI VNIC driver statistics support maintains various counters including standard netdev counters and the Ethernet manager defined counters. Add the Ethtool hook to read the counters. Change-Id: I6d828c2ce5eeae73d611174a985ff41f83480562 Reviewed-by: Dennis Dalessandro

[RFC 06/10] IB/hfi-vnic: VNIC MAC table support

2016-11-18 Thread Vishwanathapura, Niranjana
HFI VNIC MAC table contains the MAC address to DLID mappings provided by the Ethernet manager. During transmission, the MAC table provides the MAC address to DLID translation. Implement MAC table using simple hash list. Also provide support to update/query the MAC table by Ethernet manager.

[RFC 04/10] IB/hfi-vnic: VNIC Ethernet Management (EM) structure definitions

2016-11-18 Thread Vishwanathapura, Niranjana
Define VNIC EM MAD structures and the associated macros. These structures are used for information exchange between VNIC EM agent on the HFI host and the Ethernet manager. Change-Id: If4837ec74e5b0eecc81774a52ab92fffea4b6338 Reviewed-by: Dennis Dalessandro

[RFC 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) Bus driver

2016-11-18 Thread Vishwanathapura, Niranjana
HFI VNIC bus driver interfaces between hardware independent VNIC functionality and the hardware dependent VNIC functionality. Support creation of Intel HFI VNIC devices and binding with Intel HFI VNIC drivers. Define the bus operations the HFI VNIC device should support. Change-Id:

[RFC 01/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) documentation

2016-11-18 Thread Vishwanathapura, Niranjana
Add HFI VNIC design document explaining the VNIC architecture and the driver design. Change-Id: I7baa39444579dc582fe1e49b86e9cfc71f0a41a4 Reviewed-by: Dennis Dalessandro Signed-off-by: Niranjana Vishwanathapura ---

Re: [RFC v2 00/10] HFI Virtual Network Interface Controller (VNIC)

2016-12-15 Thread Vishwanathapura, Niranjana
On Thu, Dec 15, 2016 at 08:24:05PM -0500, ira.weiny wrote: On Thu, Dec 15, 2016 at 11:48:37AM -0700, Jason Gunthorpe wrote: On Thu, Dec 15, 2016 at 01:19:18PM -0500, Doug Ledford wrote: > On 12/15/2016 12:07 PM, Jason Gunthorpe wrote: > > On Thu, Dec 15, 2016 at 11:28:06AM -0500, Doug Ledford

Re: [RFC v2 00/10] HFI Virtual Network Interface Controller (VNIC)

2016-12-15 Thread Vishwanathapura, Niranjana
On Thu, Dec 15, 2016 at 10:07:13AM -0700, Jason Gunthorpe wrote: On Thu, Dec 15, 2016 at 11:28:06AM -0500, Doug Ledford wrote: 1) Since your intent is to make this work with multiple versions of the hfi drivers, I disagree with Jason that just because there is only one driver today that we

Re: [RFC v2 03/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) netdev

2016-12-15 Thread Vishwanathapura, Niranjana
On Thu, Dec 15, 2016 at 10:01:09AM -0700, Jason Gunthorpe wrote: On Wed, Dec 14, 2016 at 11:59:35PM -0800, Vishwanathapura, Niranjana wrote: +/** + * union hfi_vnic_bypass_hdr - VNIC bypass header + * @slid: source lid + * @length: length of packet + * @becn: backward explicit congestion

Re: [RFC v2 00/10] HFI Virtual Network Interface Controller (VNIC)

2016-12-15 Thread Vishwanathapura, Niranjana
On Thu, Dec 15, 2016 at 09:56:11AM -0700, Jason Gunthorpe wrote: On Wed, Dec 14, 2016 at 11:59:32PM -0800, Vishwanathapura, Niranjana wrote: create mode 100644 drivers/infiniband/sw/intel/hfi_vnic/Kconfig create mode 100644 drivers/infiniband/sw/intel/hfi_vnic/Makefile Stil NAK

[RFC v2 08/10] IB/hfi-vnic: VNIC Ethernet Management Agent (VEMA) function

2016-12-15 Thread Vishwanathapura, Niranjana
HFI VEMA function interfaces with the Infiniband MAD stack to exchange the management information packets with the Ethernet Manager (EM). It interfaces with the HFI VNIC netdev function to SET/GET the management information. The information exchanged with the EM includes class port details,

[RFC v2 05/10] IB/hfi-vnic: VNIC statistics support

2016-12-15 Thread Vishwanathapura, Niranjana
HFI VNIC driver statistics support maintains various counters including standard netdev counters and the Ethernet manager defined counters. Add the Ethtool hook to read the counters. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny

[RFC v2 09/10] IB/hfi1: Virtual Network Interface Controller (VNIC) support

2016-12-15 Thread Vishwanathapura, Niranjana
HFI1 HW specific support for VNIC functionality. Add support to add and remove VNIC ports. Also implement the operations to allocate resources, transmit and receive of Omni-Path encapsulated Ethernet packets. Dynamically allocate a set of contexts for VNIC when the first vnic port is

[RFC v2 03/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) netdev

2016-12-15 Thread Vishwanathapura, Niranjana
HFI VNIC netdev function supports Ethernet functionality over Omni-Path fabric by encapsulating Ethernet packets inside Omni-Path packet header. It interfaces with the network stack to provide standard Ethernet network interfaces. It invokes HFI device's VNIC callback functions for HW access.

[RFC v2 10/10] IB/hfi1: VNIC SDMA support

2016-12-15 Thread Vishwanathapura, Niranjana
HFI1 VNIC SDMA support enables transmission of VNIC packets over SDMA. Map VNIC queues to SDMA engines and support halting and wakeup of the VNIC queues. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny Signed-off-by: Niranjana

[RFC v2 01/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) documentation

2016-12-15 Thread Vishwanathapura, Niranjana
Add HFI VNIC design document explaining the VNIC architecture and the driver design. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny Signed-off-by: Niranjana Vishwanathapura ---

[RFC v2 04/10] IB/hfi-vnic: VNIC Ethernet Management (EM) structure definitions

2016-12-15 Thread Vishwanathapura, Niranjana
Define VNIC EM MAD structures and the associated macros. These structures are used for information exchange between VNIC EM agent (EMA) on the HFI host and the Ethernet manager. These include the virtual ethernet switch (vesw) port information, vesw port mac table, summay and error counters, vesw

[RFC v2 00/10] HFI Virtual Network Interface Controller (VNIC)

2016-12-15 Thread Vishwanathapura, Niranjana
ort | || ++ Vishwanathapura, Niranjana (10): IB/hfi-vnic: Virtual Network Interface Controller (VNIC) documentation IB/hfi-vnic: Virtual Network Interface Controller (VNIC) interface IB/hfi-vnic: Virtual Network Interface Controller (VNIC) netdev IB/hfi-vnic: V

[RFC v2 06/10] IB/hfi-vnic: VNIC MAC table support

2016-12-15 Thread Vishwanathapura, Niranjana
HFI VNIC MAC table contains the MAC address to DLID mappings provided by the Ethernet manager. During transmission, the MAC table provides the MAC address to DLID translation. Implement MAC table using simple hash list. Also provide support to update/query the MAC table by Ethernet manager.

[RFC v2 07/10] IB/hfi-vnic: VNIC Ethernet Management Agent (VEMA) interface

2016-12-15 Thread Vishwanathapura, Niranjana
HFI VNIC EMA interface functions are the management interfaces to the HFI VNIC netdev. Add support to add and remove VNIC ports. Implement the required GET/SET management interface functions and processing of new management information. Add support to send trap notifications upon various events

[RFC v2 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) interface

2016-12-15 Thread Vishwanathapura, Niranjana
Create hfi_ibdev abstraction which hfi1_ibdev will extend. Define HFI VNIC interface between hardware independent VNIC functionality and the hardware dependent VNIC functionality. Add VNIC control operations to add and remove VNIC devices, to the hfi_ibdev structure. Reviewed-by: Dennis

Re: [RFC v2 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) interface

2016-12-15 Thread Vishwanathapura, Niranjana
On Wed, Dec 14, 2016 at 11:59:34PM -0800, Vishwanathapura, Niranjana wrote: + +static inline bool is_hfi_ibdev(struct ib_device *ibdev) +{ + return !memcmp(ibdev->name, "hfi", 3); +} I am thinking of adding a device capability flag to indicate HFI VNIC capabilty inste

Re: [RFC v2 00/10] HFI Virtual Network Interface Controller (VNIC)

2017-01-09 Thread Vishwanathapura, Niranjana
On Mon, Jan 09, 2017 at 09:51:04AM +0200, Leon Romanovsky wrote: On Thu, Dec 15, 2016 at 11:28:06AM -0500, Doug Ledford wrote: On 12/15/2016 9:52 AM, ira.weiny wrote: 2) With more than 60% of the code being MAD related, and another significant chunk being hfi related, and only a minor bit (20%

Re: [RFC v2 00/10] HFI Virtual Network Interface Controller (VNIC)

2017-01-11 Thread Vishwanathapura, Niranjana
On Tue, Jan 10, 2017 at 10:14:02AM +0200, Leon Romanovsky wrote: On Mon, Jan 09, 2017 at 07:39:54PM -0800, Vishwanathapura, Niranjana wrote: We are also looking into Jason’s suggestion to make hfi_vnic interface to the bottom driver a generic interface. This will include moving some

Re: [RFC 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) Bus driver

2016-11-30 Thread Vishwanathapura, Niranjana
On Tue, Nov 29, 2016 at 09:50:09AM -0700, Jason Gunthorpe wrote: On Tue, Nov 29, 2016 at 04:44:37PM +, Hefty, Sean wrote: > You are not making a subsystem. Don't overcomplicate things. A > multi-part device device can just directly link. The VNIC may be usable over multiple generations of

Re: [RFC 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) Bus driver

2016-11-30 Thread Vishwanathapura, Niranjana
On Tue, Nov 29, 2016 at 09:21:13AM -0700, Jason Gunthorpe wrote: On Mon, Nov 28, 2016 at 10:29:38PM -0800, Vishwanathapura, Niranjana wrote: On Thu, Nov 24, 2016 at 09:15:45AM -0700, Jason Gunthorpe wrote: >>And will move the hfi_vnic module under >>???drivers/infiniband/ulp/hfi_v

Re: [RFC v2 03/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) netdev

2016-12-18 Thread Vishwanathapura, Niranjana
On Thu, Dec 15, 2016 at 09:24:20PM -0700, Jason Gunthorpe wrote: >>+struct __hfi_vesw_info { >>+ u16 fabric_id; >>+ u16 vesw_id; >>+ >>+ u8 rsvd0[6]; >>+ u16 def_port_mask; >>+ >>+ u8 rsvd1[2]; >>+ u16 pkey; >>+ >>+ u8 rsvd2[4]; >>+ u32

Re: [RFC v1 for accelerated IPoIB 04/25] IB/verb: Add ipoib_options struct and API

2017-03-15 Thread Vishwanathapura, Niranjana
On Wed, Mar 15, 2017 at 08:30:43AM +0200, Leon Romanovsky wrote: On Tue, Mar 14, 2017 at 10:11:49AM -0600, Jason Gunthorpe wrote: On Tue, Mar 14, 2017 at 12:01:09AM -0700, Vishwanathapura, Niranjana wrote: > On Mon, Mar 13, 2017 at 02:01:36PM -0600, Jason Gunthorpe wrote: > >>+

[PATCH rdma-next v1 07/12] IB/opa-vnic: VNIC MAC table support

2017-04-12 Thread Vishwanathapura, Niranjana
OPA VNIC MAC table contains the MAC address to DLID mappings provided by the Ethernet manager. During transmission, the MAC table provides the MAC address to DLID translation. Implement MAC table using simple hash list. Also provide support to update/query the MAC table by Ethernet manager.

[PATCH rdma-next v1 09/12] IB/opa-vnic: VNIC Ethernet Management Agent (VEMA) function

2017-04-12 Thread Vishwanathapura, Niranjana
OPA VEMA function interfaces with the Infiniband MAD stack to exchange the management information packets with the Ethernet Manager (EM). It interfaces with the OPA VNIC netdev function to SET/GET the management information. The information exchanged with the EM includes class port details,

[PATCH rdma-next v1 11/12] IB/hfi1: Virtual Network Interface Controller (VNIC) HW support

2017-04-12 Thread Vishwanathapura, Niranjana
HFI1 HW specific support for VNIC functionality. Dynamically allocate a set of contexts for VNIC when the first vnic port is instantiated. Allocate VNIC contexts from user contexts pool and return them back to the same pool while freeing up. Set aside enough MSI-X interrupts for VNIC contexts and

[PATCH rdma-next v1 06/12] IB/opa-vnic: VNIC statistics support

2017-04-12 Thread Vishwanathapura, Niranjana
OPA VNIC driver statistics support maintains various counters including standard netdev counters and the Ethernet manager defined counters. Add the Ethtool hook to read the counters. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny

[PATCH rdma-next v1 02/12] IB/opa-vnic: RDMA NETDEV interface

2017-04-12 Thread Vishwanathapura, Niranjana
Add rdma netdev interface to ib device structure allowing rdma netdev devices to be allocated by ib clients. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny Signed-off-by: Niranjana Vishwanathapura

[PATCH rdma-next v1 10/12] IB/hfi1: OPA_VNIC RDMA netdev support

2017-04-12 Thread Vishwanathapura, Niranjana
Add support to create and free OPA_VNIC rdma netdev devices. Implement netstack interface functionality including xmit_skb, receive side NAPI etc. Also implement rdma netdev control functions. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny

[PATCH rdma-next v1 08/12] IB/opa-vnic: VNIC Ethernet Management Agent (VEMA) interface

2017-04-12 Thread Vishwanathapura, Niranjana
OPA VNIC EMA interface functions are the management interfaces to the OPA VNIC netdev. Add support to add and remove VNIC ports. Implement the required GET/SET management interface functions and processing of new management information. Add support to send trap notifications upon various events

[PATCH rdma-next v1 12/12] IB/hfi1: VNIC SDMA support

2017-04-12 Thread Vishwanathapura, Niranjana
HFI1 VNIC SDMA support enables transmission of VNIC packets over SDMA. Map VNIC queues to SDMA engines and support halting and wakeup of the VNIC queues. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny Signed-off-by: Niranjana

[PATCH rdma-next v1 01/12] IB/opa-vnic: Virtual Network Interface Controller (VNIC) documentation

2017-04-12 Thread Vishwanathapura, Niranjana
Add OPA VNIC design document explaining the VNIC architecture and the driver design. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny Signed-off-by: Niranjana Vishwanathapura ---

[PATCH rdma-next v1 00/12] Omni-Path Virtual Network Interface Controller (VNIC)

2017-04-12 Thread Vishwanathapura, Niranjana
HFI1 Driver with VNIC support | || +----+ Vishwanathapura, Niranjana (12): IB/opa-vnic: Virtual Network Interface Controller (VNIC) documentation IB/opa-vnic: RDMA NETDEV interface

[PATCH rdma-next v1 04/12] IB/opa-vnic: Virtual Network Interface Controller (VNIC) netdev

2017-04-12 Thread Vishwanathapura, Niranjana
OPA VNIC netdev function supports Ethernet functionality over Omni-Path fabric by encapsulating Ethernet packets inside Omni-Path packet header. It allocates a rdma netdev device and interfaces with the network stack to provide standard Ethernet network interfaces. It overrides HFI1 device's

[PATCH rdma-next v1 05/12] IB/opa-vnic: VNIC Ethernet Management (EM) structure definitions

2017-04-12 Thread Vishwanathapura, Niranjana
Define VNIC EM MAD structures and the associated macros. These structures are used for information exchange between VNIC EM agent (EMA) on the host and the Ethernet manager. These include the virtual ethernet switch (vesw) port information, vesw port mac table, summay and error counters, vesw port

[PATCH rdma-next v1 03/12] IB/opa-vnic: Virtual Network Interface Controller (VNIC) interface

2017-04-12 Thread Vishwanathapura, Niranjana
Define OPA VNIC interface between hardware independent VNIC functionality and the hardware dependent VNIC functionality. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny Signed-off-by: Niranjana Vishwanathapura

Re: [PATCH rdma-next v1 04/12] IB/opa-vnic: Virtual Network Interface Controller (VNIC) netdev

2017-04-12 Thread Vishwanathapura, Niranjana
On Wed, Apr 12, 2017 at 10:08:30AM +0300, Leon Romanovsky wrote: +#define v_dbg(format, arg...) \ + netdev_dbg(adapter->netdev, format, ## arg) +#define v_err(format, arg...) \ + netdev_err(adapter->netdev, format, ## arg) +#define v_info(format, arg...) \ +

Re: [PATCH rdma-next v1 10/12] IB/hfi1: OPA_VNIC RDMA netdev support

2017-04-12 Thread Vishwanathapura, Niranjana
On Wed, Apr 12, 2017 at 09:56:21AM -0600, Jason Gunthorpe wrote: On Tue, Apr 11, 2017 at 11:40:05PM -0700, Vishwanathapura, Niranjana wrote: Add support to create and free OPA_VNIC rdma netdev devices. Implement netstack interface functionality including xmit_skb, receive side NAPI etc. Also

[PATCH rdma-next v2 12/12] IB/hfi1: VNIC SDMA support

2017-04-12 Thread Vishwanathapura, Niranjana
HFI1 VNIC SDMA support enables transmission of VNIC packets over SDMA. Map VNIC queues to SDMA engines and support halting and wakeup of the VNIC queues. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny Signed-off-by: Niranjana

[PATCH rdma-next v2 09/12] IB/opa-vnic: VNIC Ethernet Management Agent (VEMA) function

2017-04-12 Thread Vishwanathapura, Niranjana
OPA VEMA function interfaces with the Infiniband MAD stack to exchange the management information packets with the Ethernet Manager (EM). It interfaces with the OPA VNIC netdev function to SET/GET the management information. The information exchanged with the EM includes class port details,

[PATCH rdma-next v2 11/12] IB/hfi1: Virtual Network Interface Controller (VNIC) HW support

2017-04-12 Thread Vishwanathapura, Niranjana
HFI1 HW specific support for VNIC functionality. Dynamically allocate a set of contexts for VNIC when the first vnic port is instantiated. Allocate VNIC contexts from user contexts pool and return them back to the same pool while freeing up. Set aside enough MSI-X interrupts for VNIC contexts and

[PATCH rdma-next v2 08/12] IB/opa-vnic: VNIC Ethernet Management Agent (VEMA) interface

2017-04-12 Thread Vishwanathapura, Niranjana
OPA VNIC EMA interface functions are the management interfaces to the OPA VNIC netdev. Add support to add and remove VNIC ports. Implement the required GET/SET management interface functions and processing of new management information. Add support to send trap notifications upon various events

[PATCH rdma-next v2 05/12] IB/opa-vnic: VNIC Ethernet Management (EM) structure definitions

2017-04-12 Thread Vishwanathapura, Niranjana
Define VNIC EM MAD structures and the associated macros. These structures are used for information exchange between VNIC EM agent (EMA) on the host and the Ethernet manager. These include the virtual ethernet switch (vesw) port information, vesw port mac table, summay and error counters, vesw port

[PATCH rdma-next v2 06/12] IB/opa-vnic: VNIC statistics support

2017-04-12 Thread Vishwanathapura, Niranjana
OPA VNIC driver statistics support maintains various counters including standard netdev counters and the Ethernet manager defined counters. Add the Ethtool hook to read the counters. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny

[PATCH rdma-next v2 02/12] IB/opa-vnic: RDMA NETDEV interface

2017-04-12 Thread Vishwanathapura, Niranjana
Add rdma netdev interface to ib device structure allowing rdma netdev devices to be allocated by ib clients. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny Signed-off-by: Niranjana Vishwanathapura

[PATCH rdma-next v2 04/12] IB/opa-vnic: Virtual Network Interface Controller (VNIC) netdev

2017-04-12 Thread Vishwanathapura, Niranjana
OPA VNIC netdev function supports Ethernet functionality over Omni-Path fabric by encapsulating Ethernet packets inside Omni-Path packet header. It allocates a rdma netdev device and interfaces with the network stack to provide standard Ethernet network interfaces. It overrides HFI1 device's

[PATCH rdma-next v2 10/12] IB/hfi1: OPA_VNIC RDMA netdev support

2017-04-12 Thread Vishwanathapura, Niranjana
Add support to create and free OPA_VNIC rdma netdev devices. Implement netstack interface functionality including xmit_skb, receive side NAPI etc. Also implement rdma netdev control functions. Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny

[PATCH rdma-next v2 07/12] IB/opa-vnic: VNIC MAC table support

2017-04-12 Thread Vishwanathapura, Niranjana
OPA VNIC MAC table contains the MAC address to DLID mappings provided by the Ethernet manager. During transmission, the MAC table provides the MAC address to DLID translation. Implement MAC table using simple hash list. Also provide support to update/query the MAC table by Ethernet manager.

  1   2   >