l2tp: ignore L2TP_ATTR_MTU
authorGuillaume Nault <g.nault@alphalink.fr>
Fri, 3 Aug 2018 10:38:39 +0000 (12:38 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 3 Aug 2018 17:03:57 +0000 (10:03 -0700)
commite9697e2effad50c0081b3c72002d3975f8ab4347
treeffa8f583cf4fedb528944b3b1121a1471bd7f6eb
parent789141b215fc509defdd0f0978e4bf1bb5b31fc2
l2tp: ignore L2TP_ATTR_MTU

This attribute's handling is broken. It can only be used when creating
Ethernet pseudo-wires, in which case its value can be used as the
initial MTU for the l2tpeth device.
However, when handling update requests, L2TP_ATTR_MTU only modifies
session->mtu. This value is never propagated to the l2tpeth device.
Dump requests also return the value of session->mtu, which is not
synchronised anymore with the device MTU.

The same problem occurs if the device MTU is properly updated using the
generic IFLA_MTU attribute. In this case, session->mtu is not updated,
and L2TP_ATTR_MTU will report an invalid value again when dumping the
session.

It does not seem worthwhile to complexify l2tp_eth.c to synchronise
session->mtu with the device MTU. Even the ip-l2tp manpage advises to
use 'ip link' to initialise the MTU of l2tpeth devices (iproute2 does
not handle L2TP_ATTR_MTU at all anyway). So let's just ignore it
entirely.

Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/l2tp.h
net/l2tp/l2tp_core.c
net/l2tp/l2tp_core.h
net/l2tp/l2tp_debugfs.c
net/l2tp/l2tp_eth.c
net/l2tp/l2tp_netlink.c