All of lore.kernel.org
 help / color / mirror / Atom feed
From: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: "Vishwanathapura,
	Niranjana"
	<niranjana.vishwanathapura-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: Jason Gunthorpe
	<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>,
	"ira.weiny" <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Jeff Kirsher
	<jeffrey.t.kirsher-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"David S. Miller" <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org
Subject: Re: [RFC v2 00/10] HFI Virtual Network Interface Controller (VNIC)
Date: Wed, 18 Jan 2017 07:43:54 +0200	[thread overview]
Message-ID: <20170118054354.GT32481@mtr-leonro.local> (raw)
In-Reply-To: <20170117192720.GA2833-wPcXA7LoDC+1XWohqUldA0EOCMrvLtNR@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 2604 bytes --]

On Tue, Jan 17, 2017 at 11:27:20AM -0800, Vishwanathapura, Niranjana wrote:
> 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.
>
>
> include/rdma/ib_verbs.h:
>
> /* rdma netdev type - specifies protocol type */
> enum rdma_netdev_t {
> 	RDMA_NETDEV_HFI_VNIC,
> };
>
> /* rdma netdev
>  * For usecases where netstack interfacing is required.
>  */
> struct rdma_netdev {
> 	struct net_device *netdev;
> 	u8 port_num;
>
> 	/* client private data structure */
> 	void *clnt_priv;
>
> 	/* control functions */
> 	void (*set_id)(struct rdma_netdev *rn, int id);
> 	void (*set_state)(struct rdma_netdev *rn, int state);
> };
>
> struct ib_device {
> 	...
> 	...
> 	/* rdma netdev operations */
> 	struct net_device *(*alloc_rdma_netdev)(struct ib_device *device,
> 					u8 port_num,
> 					enum rdma_netdev_t type,
> 					const char *name,
> 					unsigned char name_assign_type,
> 					void (*setup)(struct net_device *));
> 	void (*free_rdma_netdev)(struct net_device *netdev);
> };
>
>
> hfi1 driver:
>
> /* rdma netdev's private data structure */
> struct hfi1_rdma_netdev {
> 	struct rdma_netdev  rn;		/* keep this first */
> 	/* hfi1's vnic private data follows */
> };
>
>
> include/rdma/opa_hfi.h:
>
> /* Client's ndo operations use below function instead of netdev_priv() */
> static inline void *hfi_vnic_priv(const struct net_device *dev)
> {
> 	struct rdma_netdev *rn = netdev_priv(dev);
>
> 	return rn->clnt_priv;
> }
>
> /* Overrides rtnl_link_stats64 to include hfi_vnic stats.
>  * ndo_get_stats64() can be used to get the stats
>  */
> struct hfi_vnic_stats {
> 	/* standard netdev statistics */
> 	struct rtnl_link_stats64  netstat;
>
> 	/* HFI VNIC statistics */
> 	u64  tx_mcastbcast;
> 	u64  tx_untagged;
> 	u64  tx_vlan;
> 	u64  tx_64_size;
> 	u64  tx_65_127;
> 	u64  tx_128_255;
> 	u64  tx_256_511;
> 	u64  tx_512_1023;
> 	u64  tx_1024_1518;
> 	u64  tx_1519_max;
>
> 	u64  rx_untagged;
> 	u64  rx_vlan;
> 	u64  rx_64_size;
> 	u64  rx_65_127;
> 	u64  rx_128_255;
> 	u64  rx_256_511;
> 	u64  rx_512_1023;
> 	u64  rx_1024_1518;
> 	u64  rx_1519_max;
>
> 	u64  rx_runt;
> 	u64  rx_oversize;
> };
>
> I have started working on porting hfi_vnic as per this new interface.
> I will post RFC v3 later.
> Posting the interface definition early for comments.

I wonder how many people will comment it without seeing usage example.

>
> Thanks,
> Niranjana
>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2017-01-18  5:43 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-15  7:59 [RFC v2 00/10] HFI Virtual Network Interface Controller (VNIC) Vishwanathapura, Niranjana
2016-12-15  7:59 ` [RFC v2 01/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) documentation Vishwanathapura, Niranjana
     [not found] ` <1481788782-89964-1-git-send-email-niranjana.vishwanathapura-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-12-15  7:59   ` [RFC v2 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) interface Vishwanathapura, Niranjana
     [not found]     ` <1481788782-89964-3-git-send-email-niranjana.vishwanathapura-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-12-15  8:53       ` Vishwanathapura, Niranjana
     [not found]         ` <20161215085349.GA90068-wPcXA7LoDC+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2016-12-15  8:56           ` Christoph Hellwig
2016-12-15 17:36         ` Stephen Hemminger
2016-12-15  7:59   ` [RFC v2 03/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) netdev Vishwanathapura, Niranjana
     [not found]     ` <1481788782-89964-4-git-send-email-niranjana.vishwanathapura-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-12-15 17:01       ` Jason Gunthorpe
2016-12-15 17:21         ` Hefty, Sean
2016-12-15 17:24           ` Jason Gunthorpe
2016-12-15 17:26             ` Christoph Hellwig
     [not found]         ` <20161215170109.GC3264-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-12-16  2:59           ` Vishwanathapura, Niranjana
2016-12-16  4:24             ` Jason Gunthorpe
     [not found]               ` <20161216042420.GB3797-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-12-19  6:43                 ` Vishwanathapura, Niranjana
2016-12-15  7:59   ` [RFC v2 04/10] IB/hfi-vnic: VNIC Ethernet Management (EM) structure definitions Vishwanathapura, Niranjana
2016-12-15  7:59   ` [RFC v2 06/10] IB/hfi-vnic: VNIC MAC table support Vishwanathapura, Niranjana
2016-12-15  7:59   ` [RFC v2 07/10] IB/hfi-vnic: VNIC Ethernet Management Agent (VEMA) interface Vishwanathapura, Niranjana
2016-12-15  9:12   ` [RFC v2 00/10] HFI Virtual Network Interface Controller (VNIC) Leon Romanovsky
     [not found]     ` <20161215091226.GC811-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2016-12-15 14:52       ` ira.weiny
     [not found]         ` <20161215145212.GA29116-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-12-15 16:28           ` Doug Ledford
     [not found]             ` <380b05bf-a18e-1f20-7e8e-10b61f77dec7-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-12-15 17:07               ` Jason Gunthorpe
2016-12-15 18:19                 ` Doug Ledford
     [not found]                   ` <4e22bf29-2260-0768-ab17-9a8df6306f37-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-12-15 18:48                     ` Jason Gunthorpe
     [not found]                       ` <20161215184837.GA16552-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-12-16  1:24                         ` ira.weiny
     [not found]                           ` <20161216012404.GD3785-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-12-16  2:30                             ` Vishwanathapura, Niranjana
2016-12-16  4:17                             ` Jason Gunthorpe
2017-01-17 19:27                               ` Vishwanathapura, Niranjana
     [not found]                                 ` <20170117192720.GA2833-wPcXA7LoDC+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-01-18  5:43                                   ` Leon Romanovsky [this message]
2017-01-18 16:46                                     ` Jason Gunthorpe
     [not found]                 ` <20161215170713.GD3264-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-12-16  2:47                   ` Vishwanathapura, Niranjana
2017-01-09  7:51             ` Leon Romanovsky
     [not found]               ` <20170109075104.GV15685-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-01-10  3:39                 ` Vishwanathapura, Niranjana
     [not found]                   ` <20170110033954.GA53664-wPcXA7LoDC+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-01-10  8:14                     ` Leon Romanovsky
     [not found]                       ` <20170110081402.GH7218-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-01-11  9:05                         ` Vishwanathapura, Niranjana
2017-01-11  9:16                           ` Leon Romanovsky
2016-12-15  7:59 ` [RFC v2 05/10] IB/hfi-vnic: VNIC statistics support Vishwanathapura, Niranjana
2016-12-15  7:59 ` [RFC v2 08/10] IB/hfi-vnic: VNIC Ethernet Management Agent (VEMA) function Vishwanathapura, Niranjana
2016-12-15  7:59 ` [RFC v2 09/10] IB/hfi1: Virtual Network Interface Controller (VNIC) support Vishwanathapura, Niranjana
2016-12-15  7:59 ` [RFC v2 10/10] IB/hfi1: VNIC SDMA support Vishwanathapura, Niranjana
2016-12-15 16:56 ` [RFC v2 00/10] HFI Virtual Network Interface Controller (VNIC) Jason Gunthorpe
     [not found]   ` <20161215165611.GB3264-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-12-16  4:14     ` 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=20170118054354.GT32481@mtr-leonro.local \
    --to=leon-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
    --cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@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=jeffrey.t.kirsher-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=niranjana.vishwanathapura-ral2JQCrhuEAvxtiuMwx3w@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.