|
@@ -786,7 +786,6 @@ static int macvlan_init(struct net_device *dev)
|
|
|
dev->hw_features |= NETIF_F_LRO;
|
|
|
dev->vlan_features = lowerdev->vlan_features & MACVLAN_FEATURES;
|
|
|
dev->gso_max_size = lowerdev->gso_max_size;
|
|
|
- dev->iflink = lowerdev->ifindex;
|
|
|
dev->hard_header_len = lowerdev->hard_header_len;
|
|
|
|
|
|
macvlan_set_lockdep_class(dev);
|
|
@@ -995,6 +994,13 @@ static void macvlan_dev_netpoll_cleanup(struct net_device *dev)
|
|
|
}
|
|
|
#endif /* CONFIG_NET_POLL_CONTROLLER */
|
|
|
|
|
|
+static int macvlan_dev_get_iflink(const struct net_device *dev)
|
|
|
+{
|
|
|
+ struct macvlan_dev *vlan = netdev_priv(dev);
|
|
|
+
|
|
|
+ return vlan->lowerdev->ifindex;
|
|
|
+}
|
|
|
+
|
|
|
static const struct ethtool_ops macvlan_ethtool_ops = {
|
|
|
.get_link = ethtool_op_get_link,
|
|
|
.get_settings = macvlan_ethtool_get_settings,
|
|
@@ -1025,6 +1031,7 @@ static const struct net_device_ops macvlan_netdev_ops = {
|
|
|
.ndo_netpoll_setup = macvlan_dev_netpoll_setup,
|
|
|
.ndo_netpoll_cleanup = macvlan_dev_netpoll_cleanup,
|
|
|
#endif
|
|
|
+ .ndo_get_iflink = macvlan_dev_get_iflink,
|
|
|
};
|
|
|
|
|
|
void macvlan_common_setup(struct net_device *dev)
|