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 --]
next prev 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$(echo .)gmane.org \
--cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public$(echo .)gmane.org \
--cc=dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public$(echo .)gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public$(echo .)gmane.org \
--cc=ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public$(echo .)gmane.org \
--cc=jeffrey.t.kirsher-ral2JQCrhuEAvxtiuMwx3w@public$(echo .)gmane.org \
--cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public$(echo .)gmane.org \
--cc=netdev-u79uwXL29TY76Z2rM5mHXA@public$(echo .)gmane.org \
--cc=niranjana.vishwanathapura-ral2JQCrhuEAvxtiuMwx3w@public$(echo .)gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox