Open pguibert6WIND opened 6 years ago
Hello, Any news about this? Could you reproduce the problem? This is quite blocking for us, because our system configures interfaces via iproute2. Thanks!
@jfloret I will look at this today and get back to you
@jfloret, still working on this, I will post updates as soon as the issue is identified
Hi, I did not manage to reproduce the issue here with both master and stable/5.0 branch. caution when passing arguments to vty command if you use A::B/MASK as gateway, this will be read as interface name. can you try to confirm the problem please?
When "iproute2" command applied, did zebra know the interface with its ipv6 address? What command did you use? what was the state in zebra?
Can you show the logs with the following flags set?
debug zebra kernel
debug zebra rib detail
also, the output of:
show interface ntfp21
Hello @Jafaral , sorry for the delay. In fact, I missed that before but it seems that the bug occurs when an interface is renamed. In our test:
Zebra sees the new ipv6 address and the subsequent rename, but does not seem to make the relation between the address and the interface.
Please find attached the logs with 'debug zebra kernel' and 'debug zebra rib detail'.
dut-vm# show interface ntfp2 Interface ntfp2 is up, line protocol is up Link ups: 2 last: 2018/07/30 16:58:17.33 Link downs: 1 last: 2018/07/30 16:58:12.88 PTM status: disabled vrf: vrf0 index 4 metric 0 mtu 1500 speed 1000 flags: <UP,BROADCAST,RUNNING,MULTICAST> Type: Ethernet HWaddr: de:ed:02:48:65:a3 inet6 fe80::dced:2ff:fe48:65a3/64 Interface Type Other
@jfloret sorry I missed you reply as well. I will continue working on this issue and let you know
Hi,
The issue is not reproducible on latest 5.1. Please find the logs as given below.
root@dev:~/frr_new# ifconfig
docker0 Link encap:Ethernet HWaddr 02:42:32:e1:46:a7
inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
ens160 Link encap:Ethernet HWaddr 00:50:56:96:44:81
inet addr:10.112.159.70 Bcast:10.112.159.255 Mask:255.255.254.0
inet6 addr: fe80::250:56ff:fe96:4481/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1539825 errors:0 dropped:0 overruns:0 frame:0
TX packets:87394 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:324203431 (324.2 MB) TX bytes:13901144 (13.9 MB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:18 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:1260 (1.2 KB) TX bytes:1260 (1.2 KB)
root@dev:~/frr_new# vtysh
Hello, this is FRRouting (version 5.1-dev-MyOwnFRRVersion-g46a9c3a-dirty). Copyright 1996-2005 Kunihiro Ishiguro, et al.
This is a git build of frr-5.1-dev-390-g46a9c3a-dirty Associated branch(es): local:1740 local:master github/patrasar/frr/master
dev# show version FRRouting 5.1-dev-MyOwnFRRVersion-g46a9c3a-dirty (dev). Copyright 1996-2005 Kunihiro Ishiguro, et al. This is a git build of frr-5.1-dev-390-g46a9c3a-dirty Associated branch(es): local:1740 local:master github/patrasar/frr/master
configured with:
'--prefix=/usr' '--enable-exampledir=/usr/share/doc/frr/examples/' '--localstatedir=/var/run/frr' '--sbindir=/usr/lib/frr' '--sysconfdir=/etc/frr' '--enable-pimd' '--enable-watchfrr' '--enable-ospfclient=yes' '--enable-ospfapi=yes' '--enable-multipath=64' '--enable-user=frr' '--enable-group=frr' '--enable-vty-group=frrvty' '--enable-configfile-mask=0640' '--enable-logfile-mask=0640' '--enable-rtadv' '--enable-fpm' '--enable-systemd=yes' '--with-pkg-git-version' '--with-pkg-extra-version=-MyOwnFRRVersion'
dev# exit
root@dev:~/frr_new# ifconfig ens192 inet6 add 2001::1/64
root@dev:~/frr_new# ifconfig ens192 up
root@dev:~/frr_new# ifconfig
docker0 Link encap:Ethernet HWaddr 02:42:32:e1:46:a7
inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
ens160 Link encap:Ethernet HWaddr 00:50:56:96:44:81
inet addr:10.112.159.70 Bcast:10.112.159.255 Mask:255.255.254.0
inet6 addr: fe80::250:56ff:fe96:4481/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1540250 errors:0 dropped:0 overruns:0 frame:0
TX packets:87511 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:324293787 (324.2 MB) TX bytes:13916134 (13.9 MB)
ens192 Link encap:Ethernet HWaddr 00:50:56:96:da:b0
inet6 addr: fe80::250:56ff:fe96:dab0/64 Scope:Link
inet6 addr: 2001::1/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1 errors:0 dropped:47 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:60 (60.0 B) TX bytes:896 (896.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:18 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:1260 (1.2 KB) TX bytes:1260 (1.2 KB)
root@dev:~/frr_new# vtysh
Hello, this is FRRouting (version 5.1-dev-MyOwnFRRVersion-g46a9c3a-dirty). Copyright 1996-2005 Kunihiro Ishiguro, et al.
This is a git build of frr-5.1-dev-390-g46a9c3a-dirty Associated branch(es): local:1740 local:master github/patrasar/frr/master
dev# configure terminal dev(config)# interface ens192 dev(config-if)# dev(config-if)# ipv6 route 3ffe:506::/32 2001::2 dev(config)# do show running-config Building configuration...
Current configuration: ! frr version 5.1-dev-MyOwnFRRVersion frr defaults traditional hostname dev log syslog informational no ip forwarding service integrated-vtysh-config username cumulus nopassword ! ipv6 route 3ffe:506::/32 2001::2 ! line vty ! end dev(config)# do show ipv6 route Codes: K - kernel route, C - connected, S - static, R - RIPng, O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR,
- selected route, * - FIB route
C> 2001::/64 is directly connected, ens192, 00:00:57
S> 3ffe:506::/32 [1/0] via 2001::2, ens192, 00:00:15
C fe80::/64 is directly connected, ens192, 00:00:58
C> fe80::/64 is directly connected, ens160, 00:03:52
dev(config)# end
dev# exit
root@dev:~/frr_new# ifconfig
docker0 Link encap:Ethernet HWaddr 02:42:32:e1:46:a7
inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
ens160 Link encap:Ethernet HWaddr 00:50:56:96:44:81
inet addr:10.112.159.70 Bcast:10.112.159.255 Mask:255.255.254.0
inet6 addr: fe80::250:56ff:fe96:4481/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1541011 errors:0 dropped:0 overruns:0 frame:0
TX packets:87653 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:324465888 (324.4 MB) TX bytes:13934670 (13.9 MB)
ens192 Link encap:Ethernet HWaddr 00:50:56:96:da:b0
inet6 addr: fe80::250:56ff:fe96:dab0/64 Scope:Link
inet6 addr: 2001::1/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:47 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:120 (120.0 B) TX bytes:896 (896.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:18 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:1260 (1.2 KB) TX bytes:1260 (1.2 KB)
root@dev:~/frr_new# ifconfig ens192 down
root@dev:~/frr_new# ip link set ens192 name ens888
root@dev:~/frr_new# ifconfig ens888 up
root@dev:~/frr_new# ifconfig
docker0 Link encap:Ethernet HWaddr 02:42:32:e1:46:a7
inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
ens160 Link encap:Ethernet HWaddr 00:50:56:96:44:81
inet addr:10.112.159.70 Bcast:10.112.159.255 Mask:255.255.254.0
inet6 addr: fe80::250:56ff:fe96:4481/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1541255 errors:0 dropped:0 overruns:0 frame:0
TX packets:87747 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:324503388 (324.5 MB) TX bytes:13946434 (13.9 MB)
ens888 Link encap:Ethernet HWaddr 00:50:56:96:da:b0
inet6 addr: fe80::250:56ff:fe96:dab0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1 errors:0 dropped:47 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:60 (60.0 B) TX bytes:648 (648.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:18 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:1260 (1.2 KB) TX bytes:1260 (1.2 KB)
root@dev:~/frr_new# ifconfig ens888 inet6 add 2001::1/64
root@dev:~/frr_new# ifconfig
docker0 Link encap:Ethernet HWaddr 02:42:32:e1:46:a7
inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
ens160 Link encap:Ethernet HWaddr 00:50:56:96:44:81
inet addr:10.112.159.70 Bcast:10.112.159.255 Mask:255.255.254.0
inet6 addr: fe80::250:56ff:fe96:4481/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1541402 errors:0 dropped:0 overruns:0 frame:0
TX packets:87802 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:324529090 (324.5 MB) TX bytes:13954684 (13.9 MB)
ens888 Link encap:Ethernet HWaddr 00:50:56:96:da:b0
inet6 addr: fe80::250:56ff:fe96:dab0/64 Scope:Link
inet6 addr: 2001::1/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:47 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:120 (120.0 B) TX bytes:1116 (1.1 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:18 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:1260 (1.2 KB) TX bytes:1260 (1.2 KB)
root@dev:~/frr_new# vtysh
Hello, this is FRRouting (version 5.1-dev-MyOwnFRRVersion-g46a9c3a-dirty). Copyright 1996-2005 Kunihiro Ishiguro, et al.
This is a git build of frr-5.1-dev-390-g46a9c3a-dirty Associated branch(es): local:1740 local:master github/patrasar/frr/master
dev# show running-config Building configuration...
Current configuration: ! frr version 5.1-dev-MyOwnFRRVersion frr defaults traditional hostname dev log syslog informational no ip forwarding service integrated-vtysh-config username cumulus nopassword ! ipv6 route 3ffe:506::/32 2001::2 ! line vty ! end dev# show ipv6 route Codes: K - kernel route, C - connected, S - static, R - RIPng, O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR,
- selected route, * - FIB route
C> 2001::/64 is directly connected, ens888, 00:00:14 S> 3ffe:506::/32 [1/0] via 2001::2, ens888, 00:02:58 C fe80::/64 is directly connected, ens888, 00:00:35 C> fe80::/64 is directly connected, ens160, 00:06:35 dev#
Issue is reproduced by doing the renaming procedure from jfloret. The issue is that at the first rename of interface, the frr context of interface is not removed.
So when the interface is going back, it looks like its contexts have not been refreshed. This is why IPv6 address ( but should be true for ipv4 too) has been ignored
this ticket : https://github.com/FRRouting/frr/issues/2393 should help solve the issue
not related to 2393 ( despite it could help).
actually, what happens is that IP messages are ignored on zebra side.
ip link add dum103 type dummy
# cat /proc/sys/net/ipv6/conf/dum103/keep_addr_on_down => 0
ip -4 address add 32.1.1.9/24 dev dum103
ip link set dum103 down
ip link set dum103 name _pci-b0s103
ip -6 address add fd00:198::2 dev _pci-b0s103
ip link set _pci-b0s103 name dum103
[LINK]19: dum103: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default
link/ether 2e:58:bc:1c:9e:e0 brd ff:ff:ff:ff:ff:ff
[ADDR]19: dum103 inet 32.1.1.9/24 scope global dum103
valid_lft forever preferred_lft forever
[ROUTE]local 32.1.1.9 dev dum103 table local proto kernel scope host src 32.1.1.9
[LINK]19: _pci-b0s103: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default
link/ether 2e:58:bc:1c:9e:e0 brd ff:ff:ff:ff:ff:ff
[ADDR]19: dum103 inet 32.1.1.9/24 scope global _pci-b0s103
valid_lft forever preferred_lft forever
[ROUTE]ff00::/8 dev dum103 table local metric 256 pref medium
[ROUTE]fd00:198::2 dev dum103 proto kernel metric 256 pref medium
[ADDR]19: dum103 inet6 fd00:198::2/128 scope global
valid_lft forever preferred_lft forever
[ROUTE]local fd00:198::2 dev lo table local proto none metric 0 pref medium
[LINK]19: dum103: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default
link/ether 2e:58:bc:1c:9e:e0 brd ff:ff:ff:ff:ff:ff
[ADDR]19: dum103 inet 32.1.1.9/24 scope global dum103
valid_lft forever preferred_lft forever
ifconfig dum103 up
[LINK]19: dum103: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
link/ether 2e:58:bc:1c:9e:e0 brd ff:ff:ff:ff:ff:ff
[ROUTE]32.1.1.0/24 dev dum103 proto kernel scope link src 32.1.1.9
[ROUTE]broadcast 32.1.1.0 dev dum103 table local proto kernel scope link src 32.1.1.9
[ROUTE]broadcast 32.1.1.255 dev dum103 table local proto kernel scope link src 32.1.1.9
[ROUTE]fe80::/64 dev dum103 proto kernel metric 256 pref medium
[ADDR]19: dum103 inet6 fe80::2c58:bcff:fe1c:9ee0/64 scope link
valid_lft forever preferred_lft forever
[ROUTE]local fe80::2c58:bcff:fe1c:9ee0 dev lo table local proto none metric 0 pref medium
ubuntu1604es# show interface dum103
Interface dum103 is up, line protocol is up
Link ups: 1 last: 2018/08/27 16:43:39.10
Link downs: 0 last: (never)
vrf: Default-IP-Routing-Table
index 19 metric 0 mtu 1500 speed 0
flags: <UP,BROADCAST,RUNNING,NOARP>
Type: Unknown
HWaddr: 2e:58:bc:1c:9e:e0
inet 32.1.1.9/24
inet6 fe80::2c58:bcff:fe1c:9ee0/64
Interface Type Other
ubuntu1604es#
I also observed that if I do the link flap on interface in kernel, the IPv6 address is getting deleted in FRR . I had to reconfigure the IPv6 address on the interface to get it programmed back to kernel. Hopefully it is the same issue
initial state iproute2 has configured an interface ntfp2 with fd00:125::1/64. interface is up. and the neighboring discovery has been done ( ping with fd00:125::2 has been done). zebra has started, and I want to create a static route
result is that route is inactive
extract of zebra debug rib detailed
C> fd00:125::/64 is directly connected, ntfp2, 00:00:10 S> fd00:200::/64 [1/0] via fd00:125::2, ntfp2, 00:16:18 S> fd00:300::/64 [1/0] via fd00:125::2, ntfp2, 00:02:35 C fe80::/64 is directly connected, ntfp3, 00:23:32 C fe80::/64 is directly connected, ntfp1, 00:23:32 C> fe80::/64 is directly connected, mgmt0, 00:24:01 C>* fec0::/64 is directly connected, mgmt0, 00:24:01