From: "Vishwanathapura, Niranjana" <niranjana.vishwanathapura-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: Erez Shitrit <erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
valex-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
saedm-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
erezsh-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org
Subject: Re: [RFC v1 for accelerated IPoIB 04/25] IB/verb: Add ipoib_options struct and API
Date: Mon, 13 Mar 2017 23:44:09 -0700 [thread overview]
Message-ID: <20170314064409.GC79937@knc-06.sc.intel.com> (raw)
In-Reply-To: <1489429896-10781-5-git-send-email-erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
On Mon, Mar 13, 2017 at 08:31:15PM +0200, Erez Shitrit wrote:
>+struct ipoib_rdma_netdev {
>+ struct rdma_netdev rn; /* keep this first */
>+ /* followed by device private data */
>+ char *dev_priv[0];
>+};
>+
>+static inline void *ipoib_priv(const struct net_device *dev)
>+{
>+ struct rdma_netdev *rn = netdev_priv(dev);
>+
>+ return rn->clnt_priv;
>+}
>+
>+static inline void *ipoib_dev_priv(const struct net_device *dev)
>+{
>+ struct ipoib_rdma_netdev *ipoib_rn = netdev_priv(dev);
>+
>+ return ipoib_rn->dev_priv;
>+}
>+
It can be confusing to see return of ipoib_priv() getting assigned to
ipoib_dev_priv (legacy name). May be we should change ipoib_dev_priv() to
ipoib_hw_priv()?
>+#endif /* IB_IPOIB_ACCEL_OPS_H */
>diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
>index 85b9034c8cfc..9b090efccdba 100644
>--- a/include/rdma/ib_verbs.h
>+++ b/include/rdma/ib_verbs.h
>@@ -1901,6 +1901,41 @@ struct ib_port_immutable {
> u32 max_mad_size;
> };
>
>+/* rdma netdev type - specifies protocol type */
>+enum rdma_netdev_t {
>+ RDMA_NETDEV_OPA_VNIC,
>+ RDMA_NETDEV_IPOIB
>+};
>+
>+struct ipoib_ah;
>+
>+/**
>+ * struct rdma_netdev - rdma netdev
>+ * For cases where netstack interfacing is required.
>+ */
>+struct rdma_netdev {
>+ void *clnt_priv;
>+
>+ /* control functions */
>+ void (*set_id)(struct net_device *netdev, int id);
>+ /* IB resource allocation function, returns new UD QP */
>+ int (*ib_dev_init)(struct net_device *dev, struct ib_device *hca,
>+ int *qp_num);
>+ void (*ib_dev_cleanup)(struct net_device *dev, struct ib_device *hca);
>+
>+ /* send packet */
>+ void (*send)(struct net_device *dev, struct sk_buff *skb,
>+ struct ipoib_ah *address, u32 dqpn, u32 dqkey);
>+
>+ /* multicast */
>+ int (*attach_mcast)(struct net_device *dev, struct ib_device *hca,
>+ union ib_gid *gid, u16 lid, int set_qkey);
>+ int (*detach_mcast)(struct net_device *dev, struct ib_device *hca,
>+ union ib_gid *gid, u16 lid);
>+ int qp_num;
May be ipoib_rdma_netdev structure is the right place for these functions?
>+ void *context;
No context should be necessary here.
>+};
>+
> struct ib_device {
> struct device *dma_device;
>
>@@ -2149,6 +2184,7 @@ struct ib_device {
> struct ib_wq_attr *attr,
> u32 wq_attr_mask,
> struct ib_udata *udata);
>+ struct ib_ipoib_accel_ops * (*get_ipoib_accel_ops)(struct ib_device *device);
old code, needs fix.
Niranjana
--
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
next prev parent reply other threads:[~2017-03-14 6:44 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-13 18:31 [RFC v1 for accelerated IPoIB 00/25] Enhanced mode for IPoIB driver Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 01/25] IB/ipoib: Separate control and data related initializations Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 02/25] IB/ipoib: separate control from HW operation on ipoib_open/stop ndo Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 03/25] IB/ipoib: Rename qpn to dqpn in ipoib_send and post_send functions Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 04/25] IB/verb: Add ipoib_options struct and API Erez Shitrit
[not found] ` <1489429896-10781-5-git-send-email-erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2017-03-13 20:01 ` Jason Gunthorpe
2017-03-14 7:01 ` Vishwanathapura, Niranjana
2017-03-14 13:25 ` Erez Shitrit
2017-03-14 16:11 ` Jason Gunthorpe
[not found] ` <20170314161149.GA15752-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-03-15 6:30 ` Leon Romanovsky
[not found] ` <20170315063043.GC2079-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-03-15 16:40 ` Vishwanathapura, Niranjana
2017-03-16 15:17 ` Erez Shitrit
2017-03-16 16:04 ` Jason Gunthorpe
2017-03-14 6:44 ` Vishwanathapura, Niranjana [this message]
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 05/25] IB/ipoib: Support ipoib acceleration options callbacks Erez Shitrit
2017-03-13 20:10 ` Jason Gunthorpe
[not found] ` <1489429896-10781-6-git-send-email-erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2017-03-14 6:35 ` Vishwanathapura, Niranjana
[not found] ` <20170314063538.GB79937-wPcXA7LoDC+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-03-14 14:42 ` Erez Shitrit
2017-03-14 16:00 ` Jason Gunthorpe
[not found] ` <20170314160021.GD3244-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-03-15 6:47 ` Leon Romanovsky
2017-03-15 15:58 ` Jason Gunthorpe
[not found] ` <20170315155802.GB29562-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-03-15 17:39 ` Leon Romanovsky
2017-03-14 15:44 ` Jason Gunthorpe
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 06/25] hw/mlx5: Add New bit to check over QP creation Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 07/25] linux/mlx5/mlx5_ifc.h: Add underlay_qpn field to PRM objects Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 08/25] net/mlx5e: Refactor EN code to support IB link Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 10/25] net/mlx5e: Support netdevice creation for IB link type Erez Shitrit
[not found] ` <1489429896-10781-1-git-send-email-erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 09/25] net/mlx5e: Creating and Destroying flow-steering tables for IB link Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 11/25] net/mlx5e: Refactor attach_netdev API Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 12/25] net/mlx5e: Use underlay_qpn in tis creation Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 13/25] net/mlx5e: Export resource creation function to be used in IB link Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 17/25] net/mlx5e: Change mlx5e_open_locked and mlx5e_close_locked api Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 18/25] net/mlx5e: Export open/close api for IB link Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 19/25] include/linux/mlx5: Add mlx5_wqe_eth_pad and enhanced-ipoib-qp-mode Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 20/25] net/mlx5e: Refactor TX send flow Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 22/25] net/mlx5e: New function pointer for build_rx_skb is Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 23/25] net/mlx5e: Change the function that checks the packet type Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 14/25] net/mlx5: Enable flow-steering for IB link Erez Shitrit
2017-03-15 18:56 ` Leon Romanovsky
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 15/25] net/mlx5e: Enhanced flow table creation to support ETH and IB links Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 16/25] net/mlx5e: Change cleanup API in order to enable IB link Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 21/25] net/mlx5e: Export send function for IB link type Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 24/25] net/mlx5e: Add support for build_rx_skb for packet from IB type Erez Shitrit
2017-03-13 18:31 ` [RFC v1 for accelerated IPoIB 25/25] mlx5_ib: skeleton for mlx5_ib to support ipoib_ops Erez Shitrit
[not found] ` <1489429896-10781-26-git-send-email-erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2017-03-13 20:27 ` Jason Gunthorpe
[not found] ` <20170313202720.GC2738-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-03-14 14:53 ` Erez Shitrit
2017-03-14 16:10 ` Jason Gunthorpe
2017-03-14 16:37 ` Erez Shitrit
2017-03-14 6:07 ` 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=20170314064409.GC79937@knc-06.sc.intel.com \
--to=niranjana.vishwanathapura-ral2jqcrhueavxtiumwx3w@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=erezsh-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org \
--cc=erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=saedm-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=valex-VPRAkNaXOzVWk0Htik3J/w@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).