diff options
| author | Guillaume Nault <g.nault@alphalink.fr> | 2018-08-03 06:38:39 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2018-08-03 13:03:57 -0400 |
| commit | e9697e2effad50c0081b3c72002d3975f8ab4347 (patch) | |
| tree | ffa8f583cf4fedb528944b3b1121a1471bd7f6eb /include/uapi/linux | |
| parent | 789141b215fc509defdd0f0978e4bf1bb5b31fc2 (diff) | |
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>
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/l2tp.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/uapi/linux/l2tp.h b/include/uapi/linux/l2tp.h index 8bb8c7cfabe5..61158f5a1a5b 100644 --- a/include/uapi/linux/l2tp.h +++ b/include/uapi/linux/l2tp.h | |||
| @@ -119,7 +119,7 @@ enum { | |||
| 119 | L2TP_ATTR_IP_DADDR, /* u32 */ | 119 | L2TP_ATTR_IP_DADDR, /* u32 */ |
| 120 | L2TP_ATTR_UDP_SPORT, /* u16 */ | 120 | L2TP_ATTR_UDP_SPORT, /* u16 */ |
| 121 | L2TP_ATTR_UDP_DPORT, /* u16 */ | 121 | L2TP_ATTR_UDP_DPORT, /* u16 */ |
| 122 | L2TP_ATTR_MTU, /* u16 */ | 122 | L2TP_ATTR_MTU, /* u16 (not used) */ |
| 123 | L2TP_ATTR_MRU, /* u16 (not used) */ | 123 | L2TP_ATTR_MRU, /* u16 (not used) */ |
| 124 | L2TP_ATTR_STATS, /* nested */ | 124 | L2TP_ATTR_STATS, /* nested */ |
| 125 | L2TP_ATTR_IP6_SADDR, /* struct in6_addr */ | 125 | L2TP_ATTR_IP6_SADDR, /* struct in6_addr */ |
