netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/2] Preparing NetDev and VLAN for FCoE targets (offload using DDP)
@ 2011-01-26 18:08 Kiran Patil
  2011-01-26 18:09 ` [RFC PATCH 1/2] net: add ndo_fcoe_ddp_target() to support FCoE DDP in target mode Kiran Patil
  2011-01-26 18:09 ` [RFC PATCH 2/2] vlan: add support to ndo_fcoe_ddp_target() Kiran Patil
  0 siblings, 2 replies; 3+ messages in thread
From: Kiran Patil @ 2011-01-26 18:08 UTC (permalink / raw)
  To: netdev, jeffrey.t.kirsher, yi.zou, robert.w.love, kiran.patil

The following series implements...

1) NetDev: Add ndo_fcoe_ddp_target() in struct net_device_ops to 
   support FCoE DDP in target mode
2) VLAN: Add new target DDP offload support ndo_fcoe_ddp_target.
   This patch depends upon patch 1 of this series. 


Dependencies: This series is preparing the NetDev and VLAN for
   FCoE target (offload using DDP). This series is pre-requistie 
   for the patch which shall be submitted later after final version
   of these patches for ixgbe (10Gb Ethernet Driver).

---

Yi Zou (2):
      vlan: add support to ndo_fcoe_ddp_target()
      net: add ndo_fcoe_ddp_target() to support FCoE DDP in target mode


 drivers/net/ixgbe/ixgbe.h      |    2 +
 drivers/net/ixgbe/ixgbe_fcoe.c |   86 ++++++++++++++++++++++++++++++++++------
 drivers/net/ixgbe/ixgbe_fcoe.h |    4 ++
 drivers/net/ixgbe/ixgbe_main.c |    1 
 include/linux/netdevice.h      |    4 ++
 net/8021q/vlan_dev.c           |   14 +++++++
 6 files changed, 99 insertions(+), 12 deletions(-)

-- 
Thanks,
-- Kiran P

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [RFC PATCH 1/2] net: add ndo_fcoe_ddp_target() to support FCoE DDP in target mode
  2011-01-26 18:08 [RFC PATCH 0/2] Preparing NetDev and VLAN for FCoE targets (offload using DDP) Kiran Patil
@ 2011-01-26 18:09 ` Kiran Patil
  2011-01-26 18:09 ` [RFC PATCH 2/2] vlan: add support to ndo_fcoe_ddp_target() Kiran Patil
  1 sibling, 0 replies; 3+ messages in thread
From: Kiran Patil @ 2011-01-26 18:09 UTC (permalink / raw)
  To: netdev, jeffrey.t.kirsher, yi.zou, robert.w.love, kiran.patil

From: Yi Zou <yi.zou@intel.com>

The Fiber Channel over Ethernet (FCoE) Direct Data Placement (DDP) can also be
used for FCoE target, where the DDP used for read I/O on an initiator can be
used on an FCoE target to speed up the write I/O to the target from the initiator.
The added ndo_fcoe_ddp_target() works in the similar way as the existing
ndo_fcoe_ddp_setup() to allow the underlying hardware set up the DDP context
accordingly when it gets called from the FCoE target implementation on top
the existing Open-FCoE fcoe/libfc protocol stack so without losing the ability
to provide DDP for read I/O as an initiator, it can also provide DDP offload
to the write I/O coming from the initiator as a target.

Signed-off-by: Yi Zou <yi.zou@intel.com>
Signed-off-by: Kiran Patil <kiran.patil@intel.com>
---

 include/linux/netdevice.h |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index d8fd2c2..d96a198 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -774,6 +774,10 @@ struct net_device_ops {
 						      unsigned int sgc);
 	int			(*ndo_fcoe_ddp_done)(struct net_device *dev,
 						     u16 xid);
+	int			(*ndo_fcoe_ddp_target)(struct net_device *dev,
+						       u16 xid,
+						       struct scatterlist *sgl,
+						       unsigned int sgc);
 #define NETDEV_FCOE_WWNN 0
 #define NETDEV_FCOE_WWPN 1
 	int			(*ndo_fcoe_get_wwn)(struct net_device *dev,


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [RFC PATCH 2/2] vlan: add support to ndo_fcoe_ddp_target()
  2011-01-26 18:08 [RFC PATCH 0/2] Preparing NetDev and VLAN for FCoE targets (offload using DDP) Kiran Patil
  2011-01-26 18:09 ` [RFC PATCH 1/2] net: add ndo_fcoe_ddp_target() to support FCoE DDP in target mode Kiran Patil
@ 2011-01-26 18:09 ` Kiran Patil
  1 sibling, 0 replies; 3+ messages in thread
From: Kiran Patil @ 2011-01-26 18:09 UTC (permalink / raw)
  To: netdev, jeffrey.t.kirsher, yi.zou, robert.w.love, kiran.patil

From: Yi Zou <yi.zou@intel.com>

Add the new target ddp offload support ndo_fcoe_ddp_target().

Signed-off-by: Yi Zou <yi.zou@intel.com>
---

 net/8021q/vlan_dev.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
index 14e3d1f..f6e1ace 100644
--- a/net/8021q/vlan_dev.c
+++ b/net/8021q/vlan_dev.c
@@ -670,6 +670,19 @@ static int vlan_dev_fcoe_get_wwn(struct net_device *dev, u64 *wwn, int type)
 		rc = ops->ndo_fcoe_get_wwn(real_dev, wwn, type);
 	return rc;
 }
+
+static int vlan_dev_fcoe_ddp_target(struct net_device *dev, u16 xid,
+				    struct scatterlist *sgl, unsigned int sgc)
+{
+	struct net_device *real_dev = vlan_dev_info(dev)->real_dev;
+	const struct net_device_ops *ops = real_dev->netdev_ops;
+	int rc = 0;
+
+	if (ops->ndo_fcoe_ddp_target)
+		rc = ops->ndo_fcoe_ddp_target(real_dev, xid, sgl, sgc);
+
+	return rc;
+}
 #endif
 
 static void vlan_dev_change_rx_flags(struct net_device *dev, int change)
@@ -905,6 +918,7 @@ static const struct net_device_ops vlan_netdev_ops = {
 	.ndo_fcoe_enable	= vlan_dev_fcoe_enable,
 	.ndo_fcoe_disable	= vlan_dev_fcoe_disable,
 	.ndo_fcoe_get_wwn	= vlan_dev_fcoe_get_wwn,
+	.ndo_fcoe_ddp_target	= vlan_dev_fcoe_ddp_target,
 #endif
 };
 


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-01-26 18:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-26 18:08 [RFC PATCH 0/2] Preparing NetDev and VLAN for FCoE targets (offload using DDP) Kiran Patil
2011-01-26 18:09 ` [RFC PATCH 1/2] net: add ndo_fcoe_ddp_target() to support FCoE DDP in target mode Kiran Patil
2011-01-26 18:09 ` [RFC PATCH 2/2] vlan: add support to ndo_fcoe_ddp_target() Kiran Patil

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).