]> git.baikalelectronics.ru Git - kernel.git/commit
selftests: pmtu: Fix encapsulating device in pmtu_vti6_link_change_mtu
authorStefano Brivio <sbrivio@redhat.com>
Mon, 27 May 2019 17:42:23 +0000 (19:42 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 29 May 2019 00:15:06 +0000 (17:15 -0700)
commitc7bfdb23407c4c65fd0ba72ce75d9e41b6c96d81
tree0a76e0e4a4ed9f582687903544ffa7babcf9d20f
parent2b3b7f98d16e5d384fe0d8c05cc8b0cd0295e7a5
selftests: pmtu: Fix encapsulating device in pmtu_vti6_link_change_mtu

In the pmtu_vti6_link_change_mtu test, both local and remote addresses
for the vti6 tunnel are assigned to the same address given to the dummy
interface that we use as encapsulating device with a known MTU.

This works as long as the dummy interface is actually selected, via
rt6_lookup(), as encapsulating device. But if the remote address of the
tunnel is a local address too, the loopback interface could also be
selected, and there's nothing wrong with it.

This is what some older -stable kernels do (3.18.z, at least), and
nothing prevents us from subtly changing FIB implementation to revert
back to that behaviour in the future.

Define an IPv6 prefix instead, and use two separate addresses as local
and remote for vti6, so that the encapsulating device can't be a
loopback interface.

Reported-by: Xiumei Mu <xmu@redhat.com>
Fixes: 2d854a06dbd5 ("selftests: pmtu: Add pmtu_vti6_link_change_mtu test")
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/pmtu.sh