diff options
Diffstat (limited to 'net/8021q/vlan_dev.c')
-rw-r--r-- | net/8021q/vlan_dev.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c index 8883e9c8a223..c269fcbd13d5 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c | |||
@@ -648,6 +648,26 @@ static void vlan_dev_uninit(struct net_device *dev) | |||
648 | } | 648 | } |
649 | } | 649 | } |
650 | 650 | ||
651 | static int vlan_ethtool_get_settings(struct net_device *dev, | ||
652 | struct ethtool_cmd *cmd) | ||
653 | { | ||
654 | const struct vlan_dev_info *vlan = vlan_dev_info(dev); | ||
655 | struct net_device *real_dev = vlan->real_dev; | ||
656 | |||
657 | if (!real_dev->ethtool_ops->get_settings) | ||
658 | return -EOPNOTSUPP; | ||
659 | |||
660 | return real_dev->ethtool_ops->get_settings(real_dev, cmd); | ||
661 | } | ||
662 | |||
663 | static void vlan_ethtool_get_drvinfo(struct net_device *dev, | ||
664 | struct ethtool_drvinfo *info) | ||
665 | { | ||
666 | strcpy(info->driver, vlan_fullname); | ||
667 | strcpy(info->version, vlan_version); | ||
668 | strcpy(info->fw_version, "N/A"); | ||
669 | } | ||
670 | |||
651 | static u32 vlan_ethtool_get_rx_csum(struct net_device *dev) | 671 | static u32 vlan_ethtool_get_rx_csum(struct net_device *dev) |
652 | { | 672 | { |
653 | const struct vlan_dev_info *vlan = vlan_dev_info(dev); | 673 | const struct vlan_dev_info *vlan = vlan_dev_info(dev); |
@@ -672,6 +692,8 @@ static u32 vlan_ethtool_get_flags(struct net_device *dev) | |||
672 | } | 692 | } |
673 | 693 | ||
674 | static const struct ethtool_ops vlan_ethtool_ops = { | 694 | static const struct ethtool_ops vlan_ethtool_ops = { |
695 | .get_settings = vlan_ethtool_get_settings, | ||
696 | .get_drvinfo = vlan_ethtool_get_drvinfo, | ||
675 | .get_link = ethtool_op_get_link, | 697 | .get_link = ethtool_op_get_link, |
676 | .get_rx_csum = vlan_ethtool_get_rx_csum, | 698 | .get_rx_csum = vlan_ethtool_get_rx_csum, |
677 | .get_flags = vlan_ethtool_get_flags, | 699 | .get_flags = vlan_ethtool_get_flags, |