Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
This commit is contained in:
@@ -299,7 +299,7 @@ static netdev_tx_t macvlan_start_xmit(struct sk_buff *skb,
|
||||
|
||||
if (vlan->fwd_priv) {
|
||||
skb->dev = vlan->lowerdev;
|
||||
ret = dev_hard_start_xmit(skb, skb->dev, NULL, vlan->fwd_priv);
|
||||
ret = dev_queue_xmit_accel(skb, vlan->fwd_priv);
|
||||
} else {
|
||||
ret = macvlan_queue_xmit(skb, dev);
|
||||
}
|
||||
@@ -337,6 +337,8 @@ static const struct header_ops macvlan_hard_header_ops = {
|
||||
.cache_update = eth_header_cache_update,
|
||||
};
|
||||
|
||||
static struct rtnl_link_ops macvlan_link_ops;
|
||||
|
||||
static int macvlan_open(struct net_device *dev)
|
||||
{
|
||||
struct macvlan_dev *vlan = netdev_priv(dev);
|
||||
@@ -352,7 +354,8 @@ static int macvlan_open(struct net_device *dev)
|
||||
goto hash_add;
|
||||
}
|
||||
|
||||
if (lowerdev->features & NETIF_F_HW_L2FW_DOFFLOAD) {
|
||||
if (lowerdev->features & NETIF_F_HW_L2FW_DOFFLOAD &&
|
||||
dev->rtnl_link_ops == &macvlan_link_ops) {
|
||||
vlan->fwd_priv =
|
||||
lowerdev->netdev_ops->ndo_dfwd_add_station(lowerdev, dev);
|
||||
|
||||
@@ -361,10 +364,8 @@ static int macvlan_open(struct net_device *dev)
|
||||
*/
|
||||
if (IS_ERR_OR_NULL(vlan->fwd_priv)) {
|
||||
vlan->fwd_priv = NULL;
|
||||
} else {
|
||||
dev->features &= ~NETIF_F_LLTX;
|
||||
} else
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
err = -EBUSY;
|
||||
@@ -698,8 +699,7 @@ static netdev_features_t macvlan_fix_features(struct net_device *dev,
|
||||
features = netdev_increment_features(vlan->lowerdev->features,
|
||||
features,
|
||||
mask);
|
||||
if (!vlan->fwd_priv)
|
||||
features |= NETIF_F_LLTX;
|
||||
features |= NETIF_F_LLTX;
|
||||
|
||||
return features;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user