projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vlan: propagate gso_max_segs
[deliverable/linux.git]
/
net
/
8021q
/
vlan_dev.c
diff --git
a/net/8021q/vlan_dev.c
b/net/8021q/vlan_dev.c
index 9f4bd137e045f0d239543a9e83900788c3b4c6a9..e7e62570bdb869f64e7198c53357e18702165bf1 100644
(file)
--- a/
net/8021q/vlan_dev.c
+++ b/
net/8021q/vlan_dev.c
@@
-543,14
+543,15
@@
static int vlan_dev_init(struct net_device *dev)
(1<<__LINK_STATE_DORMANT))) |
(1<<__LINK_STATE_PRESENT);
(1<<__LINK_STATE_DORMANT))) |
(1<<__LINK_STATE_PRESENT);
- dev->hw_features = NETIF_F_
ALL
_CSUM | NETIF_F_SG |
+ dev->hw_features = NETIF_F_
HW
_CSUM | NETIF_F_SG |
NETIF_F_FRAGLIST | NETIF_F_GSO_SOFTWARE |
NETIF_F_FRAGLIST | NETIF_F_GSO_SOFTWARE |
- NETIF_F_HIGHDMA | NETIF_F_SCTP_C
SUM
|
+ NETIF_F_HIGHDMA | NETIF_F_SCTP_C
RC
|
NETIF_F_ALL_FCOE;
dev->features |= real_dev->vlan_features | NETIF_F_LLTX |
NETIF_F_GSO_SOFTWARE;
dev->gso_max_size = real_dev->gso_max_size;
NETIF_F_ALL_FCOE;
dev->features |= real_dev->vlan_features | NETIF_F_LLTX |
NETIF_F_GSO_SOFTWARE;
dev->gso_max_size = real_dev->gso_max_size;
+ dev->gso_max_segs = real_dev->gso_max_segs;
if (dev->features & NETIF_F_VLAN_FEATURES)
netdev_warn(real_dev, "VLAN features are set incorrectly. Q-in-Q configurations may not work correctly.\n");
if (dev->features & NETIF_F_VLAN_FEATURES)
netdev_warn(real_dev, "VLAN features are set incorrectly. Q-in-Q configurations may not work correctly.\n");
@@
-621,12
+622,12
@@
static netdev_features_t vlan_dev_fix_features(struct net_device *dev,
return features;
}
return features;
}
-static int vlan_ethtool_get_settings(struct net_device *dev,
-
struct ethtool_cmd
*cmd)
+static int vlan_ethtool_get_
link_k
settings(struct net_device *dev,
+
struct ethtool_link_ksettings
*cmd)
{
const struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
{
const struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
- return __ethtool_get_settings(vlan->real_dev, cmd);
+ return __ethtool_get_
link_k
settings(vlan->real_dev, cmd);
}
static void vlan_ethtool_get_drvinfo(struct net_device *dev,
}
static void vlan_ethtool_get_drvinfo(struct net_device *dev,
@@
-741,7
+742,7
@@
static int vlan_dev_get_iflink(const struct net_device *dev)
}
static const struct ethtool_ops vlan_ethtool_ops = {
}
static const struct ethtool_ops vlan_ethtool_ops = {
- .get_
settings = vlan_ethtool_get_
settings,
+ .get_
link_ksettings = vlan_ethtool_get_link_k
settings,
.get_drvinfo = vlan_ethtool_get_drvinfo,
.get_link = ethtool_op_get_link,
.get_ts_info = vlan_ethtool_get_ts_info,
.get_drvinfo = vlan_ethtool_get_drvinfo,
.get_link = ethtool_op_get_link,
.get_ts_info = vlan_ethtool_get_ts_info,
@@
-799,6
+800,7
@@
void vlan_setup(struct net_device *dev)
ether_setup(dev);
dev->priv_flags |= IFF_802_1Q_VLAN | IFF_NO_QUEUE;
ether_setup(dev);
dev->priv_flags |= IFF_802_1Q_VLAN | IFF_NO_QUEUE;
+ dev->priv_flags |= IFF_UNICAST_FLT;
dev->priv_flags &= ~IFF_TX_SKB_SHARING;
netif_keep_dst(dev);
dev->priv_flags &= ~IFF_TX_SKB_SHARING;
netif_keep_dst(dev);
This page took
0.028657 seconds
and
5
git commands to generate.