RE: [net-next-2.6 05/14] vlan: add support to ndo_fcoe_ddp_target()
From: Zou, Yi <hidden>
Date: 2011-03-08 02:54:42
On Mon, 2011-03-07 at 18:24 -0800, Jeff Kirsher wrote:quoted
From: Yi Zou <redacted> Add the new target ddp offload support ndo_fcoe_ddp_target(). Signed-off-by: Yi Zou <redacted> Signed-off-by: Kiran Patil <redacted> Signed-off-by: Jeff Kirsher <redacted> --- 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 be73753..ae610f0 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c@@ -625,6 +625,19 @@ static int vlan_dev_fcoe_get_wwn(struct net_device*dev, u64 *wwn, int type)quoted
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; +}I can't see a caller or any documentation for this operation, so I don't know what the semantics are supposed to be. But shouldn't the return value be -EOPNOTSUPP if real_dev does not implement the operation? Ben.
This is similar to existing ndo_fcoe_ddp_setup(), but is for target mode, the two are the same on semantics, but the LLD implementation will/may be different depending on the driver as e.g. ,target works on RX_ID where initiator works on OX_ID. The returning of rc being 0 indicates no DDP was setup for this fc exchange, not necessarily EOPNOTSUPP. Thanks, yi
quoted
#endif static void vlan_dev_change_rx_flags(struct net_device *dev, intchange)quoted
@@ -858,6 +871,7 @@ static const struct net_device_ops vlan_netdev_ops= {quoted
.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 };-- Ben Hutchings, Senior Software Engineer, Solarflare Communications Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.