mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Just several instances of overlapping changes. Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
commit
de0ba9a0d8
276 changed files with 2475 additions and 1313 deletions
|
|
@ -146,10 +146,12 @@ static netdev_tx_t vlan_dev_hard_start_xmit(struct sk_buff *skb,
|
|||
|
||||
static int vlan_dev_change_mtu(struct net_device *dev, int new_mtu)
|
||||
{
|
||||
/* TODO: gotta make sure the underlying layer can handle it,
|
||||
* maybe an IFF_VLAN_CAPABLE flag for devices?
|
||||
*/
|
||||
if (vlan_dev_priv(dev)->real_dev->mtu < new_mtu)
|
||||
struct net_device *real_dev = vlan_dev_priv(dev)->real_dev;
|
||||
unsigned int max_mtu = real_dev->mtu;
|
||||
|
||||
if (netif_reduces_vlan_mtu(real_dev))
|
||||
max_mtu -= VLAN_HLEN;
|
||||
if (max_mtu < new_mtu)
|
||||
return -ERANGE;
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
|
|
|
|||
|
|
@ -118,6 +118,7 @@ static int vlan_newlink(struct net *src_net, struct net_device *dev,
|
|||
{
|
||||
struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
|
||||
struct net_device *real_dev;
|
||||
unsigned int max_mtu;
|
||||
__be16 proto;
|
||||
int err;
|
||||
|
||||
|
|
@ -144,9 +145,11 @@ static int vlan_newlink(struct net *src_net, struct net_device *dev,
|
|||
if (err < 0)
|
||||
return err;
|
||||
|
||||
max_mtu = netif_reduces_vlan_mtu(real_dev) ? real_dev->mtu - VLAN_HLEN :
|
||||
real_dev->mtu;
|
||||
if (!tb[IFLA_MTU])
|
||||
dev->mtu = real_dev->mtu;
|
||||
else if (dev->mtu > real_dev->mtu)
|
||||
dev->mtu = max_mtu;
|
||||
else if (dev->mtu > max_mtu)
|
||||
return -EINVAL;
|
||||
|
||||
err = vlan_changelink(dev, tb, data);
|
||||
|
|
|
|||
Loading…
Reference in a new issue