diff options
Diffstat (limited to 'net/8021q/vlan_dev.c')
-rw-r--r-- | 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 be737539f34d..ae610f046de5 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) | |||
625 | rc = ops->ndo_fcoe_get_wwn(real_dev, wwn, type); | 625 | rc = ops->ndo_fcoe_get_wwn(real_dev, wwn, type); |
626 | return rc; | 626 | return rc; |
627 | } | 627 | } |
628 | |||
629 | static int vlan_dev_fcoe_ddp_target(struct net_device *dev, u16 xid, | ||
630 | struct scatterlist *sgl, unsigned int sgc) | ||
631 | { | ||
632 | struct net_device *real_dev = vlan_dev_info(dev)->real_dev; | ||
633 | const struct net_device_ops *ops = real_dev->netdev_ops; | ||
634 | int rc = 0; | ||
635 | |||
636 | if (ops->ndo_fcoe_ddp_target) | ||
637 | rc = ops->ndo_fcoe_ddp_target(real_dev, xid, sgl, sgc); | ||
638 | |||
639 | return rc; | ||
640 | } | ||
628 | #endif | 641 | #endif |
629 | 642 | ||
630 | static void vlan_dev_change_rx_flags(struct net_device *dev, int change) | 643 | static void vlan_dev_change_rx_flags(struct net_device *dev, int change) |
@@ -858,6 +871,7 @@ static const struct net_device_ops vlan_netdev_ops = { | |||
858 | .ndo_fcoe_enable = vlan_dev_fcoe_enable, | 871 | .ndo_fcoe_enable = vlan_dev_fcoe_enable, |
859 | .ndo_fcoe_disable = vlan_dev_fcoe_disable, | 872 | .ndo_fcoe_disable = vlan_dev_fcoe_disable, |
860 | .ndo_fcoe_get_wwn = vlan_dev_fcoe_get_wwn, | 873 | .ndo_fcoe_get_wwn = vlan_dev_fcoe_get_wwn, |
874 | .ndo_fcoe_ddp_target = vlan_dev_fcoe_ddp_target, | ||
861 | #endif | 875 | #endif |
862 | }; | 876 | }; |
863 | 877 | ||