net/mlx5e: Support RX multi-packet WQE (Striding RQ)
[cascardo/linux.git] / drivers / net / macvlan.c
index 94e6888..2bcf1f3 100644 (file)
@@ -803,6 +803,7 @@ 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->gso_max_segs       = lowerdev->gso_max_segs;
        dev->hard_header_len    = lowerdev->hard_header_len;
 
        macvlan_set_lockdep_class(dev);
@@ -940,12 +941,12 @@ static void macvlan_ethtool_get_drvinfo(struct net_device *dev,
        strlcpy(drvinfo->version, "0.1", sizeof(drvinfo->version));
 }
 
-static int macvlan_ethtool_get_settings(struct net_device *dev,
-                                       struct ethtool_cmd *cmd)
+static int macvlan_ethtool_get_link_ksettings(struct net_device *dev,
+                                             struct ethtool_link_ksettings *cmd)
 {
        const struct macvlan_dev *vlan = netdev_priv(dev);
 
-       return __ethtool_get_settings(vlan->lowerdev, cmd);
+       return __ethtool_get_link_ksettings(vlan->lowerdev, cmd);
 }
 
 static netdev_features_t macvlan_fix_features(struct net_device *dev,
@@ -1020,7 +1021,7 @@ static int macvlan_dev_get_iflink(const struct net_device *dev)
 
 static const struct ethtool_ops macvlan_ethtool_ops = {
        .get_link               = ethtool_op_get_link,
-       .get_settings           = macvlan_ethtool_get_settings,
+       .get_link_ksettings     = macvlan_ethtool_get_link_ksettings,
        .get_drvinfo            = macvlan_ethtool_get_drvinfo,
 };
 
@@ -1069,7 +1070,7 @@ EXPORT_SYMBOL_GPL(macvlan_common_setup);
 static void macvlan_setup(struct net_device *dev)
 {
        macvlan_common_setup(dev);
-       dev->tx_queue_len       = 0;
+       dev->priv_flags |= IFF_NO_QUEUE;
 }
 
 static int macvlan_port_create(struct net_device *dev)
@@ -1532,6 +1533,7 @@ static int macvlan_device_event(struct notifier_block *unused,
        case NETDEV_FEAT_CHANGE:
                list_for_each_entry(vlan, &port->vlans, list) {
                        vlan->dev->gso_max_size = dev->gso_max_size;
+                       vlan->dev->gso_max_segs = dev->gso_max_segs;
                        netdev_update_features(vlan->dev);
                }
                break;