summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <stephen@networkplumber.org>2017-12-08 00:40:20 +0100
committerDavid S. Miller <davem@davemloft.net>2017-12-08 20:22:59 +0100
commit72d24955b44a4039db54a1c252b5031969eeaac3 (patch)
treefd5c58a47be81e46ab6cedfef32e59b612df49b7
parentrtnetlink: allow GSO maximums to be set on device creation (diff)
downloadlinux-72d24955b44a4039db54a1c252b5031969eeaac3.tar.xz
linux-72d24955b44a4039db54a1c252b5031969eeaac3.zip
veth: set peer GSO values
When new veth is created, and GSO values have been configured on one device, clone those values to the peer. For example: # ip link add dev vm1 gso_max_size 65530 type veth peer name vm2 This should create vm1 <--> vm2 with both having GSO maximum size set to 65530. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/veth.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/veth.c b/drivers/net/veth.c
index f5438d0978ca..a69ad39ee57e 100644
--- a/drivers/net/veth.c
+++ b/drivers/net/veth.c
@@ -410,6 +410,9 @@ static int veth_newlink(struct net *src_net, struct net_device *dev,
if (ifmp && (dev->ifindex != 0))
peer->ifindex = ifmp->ifi_index;
+ peer->gso_max_size = dev->gso_max_size;
+ peer->gso_max_segs = dev->gso_max_segs;
+
err = register_netdevice(peer);
put_net(net);
net = NULL;