Wind River Support Network

HomeDefectsLIN8-12580
Fixed

LIN8-12580 : G2 WR8 kernel fails to delete IPv6 route between namespaced interfaces

Created: Jun 19, 2020    Updated: Oct 26, 2020
Resolved Date: Jul 21, 2020
Found In Version: 8.0.0.30
Fix Version: 8.0.0.34
Severity: Standard
Applicable for: Wind River Linux 8
Component/s: Kernel, Networking

Description

an issue where an IPv6 route between namespaced interfaces does not get deleted.

testcase :

 

#!/bin/sh
set -x
ip netns add fib_1
ip netns add fib_2
ip link set eth10 netns fib_1
ip link set eth11 netns fib_2
ip netns exec fib_1 ifconfig eth10 10.1.2.1/24 up
ip netns exec fib_2 ifconfig eth11 10.1.1.1/24 up
ip netns exec fib_1 ip -6 addr add 2001:1b70:82a8:14:1080:8:0:2/128 dev eth10
ip netns exec fib_2 ip -6 addr add 2001:1b70:82a8:14:80:8:0:2/128 dev eth11
ip netns exec fib_1 ifconfig eth10 up
ip netns exec fib_2 ifconfig eth11 up
ip link add vr1-2 type veth peer name vr2-1
ip link set vr1-2 netns fib_1
ip link set vr2-1 netns fib_2
ip netns exec fib_1 sysctl -w net.ipv6.conf.vr1-2.disable_ipv6=0
ip netns exec fib_2 sysctl -w net.ipv6.conf.vr2-1.disable_ipv6=0
ip netns exec fib_1 ifconfig vr1-2 -arp
ip netns exec fib_2 ifconfig vr2-1 -arp
ip netns exec fib_1 ifconfig vr1-2 hw ether 00:0c:00:00:00:00
ip netns exec fib_2 ifconfig vr2-1 hw ether 00:0c:00:00:00:00
ip netns exec fib_1 ip link set vr1-2 up
ip netns exec fib_2 ip link set vr2-1 up
ip netns exec fib_1 ip route add 10.1.1.1 dev vr1-2
ip netns exec fib_2 ip route add 10.1.2.1 dev vr2-1
ip netns exec fib_1 ip route add 2001:1b70:82a8:14:80:8:0:2/128 dev vr1-2
ip netns exec fib_2 ip route add 2001:1b70:82a8:14:1080:8:0:2/128 dev vr2-1
ip netns exec fib_2 ping6 -c 5 2001:1b70:82a8:14:1080:8:0:2
ip netns exec fib_2 ip -6 route show
ip netns exec fib_2 ip route del 2001:1b70:82a8:14:1080:8:0:2/128 dev vr2-1 # This delete succeeds, but the route is still there
ip netns exec fib_2 ip -6 route show
ip netns exec fib_2 ip route del 2001:1b70:82a8:14:1080:8:0:2/128 dev vr2-1
ip netns exec fib_2 ip -6 route show

Script output on kernel 4.1.21-rt13-wrl800.20_1.78_3:

+ ip netns exec fib_2 ip -6 route show
2001:1b70:82a8:14:80:8:0:2 dev eth11 proto kernel metric 256 pref medium
2001:1b70:82a8:14:1080:8:0:2 dev vr2-1 metric 1024 pref medium
fe80::/64 dev vr2-1 proto kernel metric 256 pref medium
ff00::/8 dev eth11 metric 256 pref medium
ff00::/8 dev vr2-1 metric 256 pref medium
+ ip netns exec fib_2 ip route del 2001:1b70:82a8:14:1080:8:0:2/128 dev vr2-1
+ ip netns exec fib_2 ip -6 route show
2001:1b70:82a8:14:80:8:0:2 dev eth11 proto kernel metric 256 pref medium
2001:1b70:82a8:14:1080:8:0:2 dev vr2-1 metric 1024 pref medium
fe80::/64 dev vr2-1 proto kernel metric 256 pref medium
ff00::/8 dev eth11 metric 256 pref medium
ff00::/8 dev vr2-1 metric 256 pref medium
+ ip netns exec fib_2 ip route del 2001:1b70:82a8:14:1080:8:0:2/128 dev vr2-1
+ ip netns exec fib_2 ip -6 route show
2001:1b70:82a8:14:80:8:0:2 dev eth11 proto kernel metric 256 pref medium
fe80::/64 dev vr2-1 proto kernel metric 256 pref medium
ff00::/8 dev eth11 metric 256 pref medium
ff00::/8 dev vr2-1 metric 256 pref medium 

 

Same script works on WRL18

— output on kernel 4.18.45-rt8-wrl18.13_1.22_545:

+ ip netns exec fib_2 ip -6 route show
2001:1b70:82a8:14:80:8:0:2 dev eth11 proto kernel metric 256 linkdown pref medium
2001:1b70:82a8:14:1080:8:0:2 dev vr2-1 metric 1024 pref medium
fe80::/64 dev vr2-1 proto kernel metric 256 pref medium
ff00::/8 dev eth11 metric 256 linkdown pref medium
ff00::/8 dev vr2-1 metric 256 pref medium
+ ip netns exec fib_2 ip route del 2001:1b70:82a8:14:1080:8:0:2/128 dev vr2-1
+ ip netns exec fib_2 ip -6 route show
2001:1b70:82a8:14:80:8:0:2 dev eth11 proto kernel metric 256 linkdown pref medium
fe80::/64 dev vr2-1 proto kernel metric 256 pref medium
ff00::/8 dev eth11 metric 256 linkdown pref medium
ff00::/8 dev vr2-1 metric 256 pref medium
+ ip netns exec fib_2 ip route del 2001:1b70:82a8:14:1080:8:0:2/128 dev vr2-1
RTNETLINK answers: No such process
+ ip netns exec fib_2 ip -6 route show
2001:1b70:82a8:14:80:8:0:2 dev eth11 proto kernel metric 256 linkdown pref medium
fe80::/64 dev vr2-1 proto kernel metric 256 pref medium
ff00::/8 dev eth11 metric 256 linkdown pref medium
ff00::/8 dev vr2-1 metric 256 pref medium
Live chat
Online