discard interface warnings on FreeBSD
I have been using the discard interface - DISC(4) - on FreeBSD for some time to tie down supernets. On frr7, I am getting a warning message at startup I am not sure what to make of The nic is configured as # ifconfig disc0 disc0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 65532 inet 10.128.128.144 netmask 0xfffffff8 inet 10.129.129.1 netmask 0xfffffff0 inet6 2001:db8::1 prefixlen 64 inet6 fe80::1%disc0 prefixlen 64 scopeid 0x7 groups: disc nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> And at startup, I get /usr/local/etc/rc.d/frr start Checking zebra.conf 2019/04/26 15:58:44 warnings: ZEBRA: [EC 4043309141] warning: interface disc0 broadcast addr 10.128.128.144/29 != calculated 10.128.128.151, routing protocols may malfunction 2019/04/26 15:58:44 warnings: ZEBRA: [EC 4043309141] warning: interface disc0 broadcast addr 10.129.129.1/28 != calculated 10.129.129.15, routing protocols may malfunction 2019/04/26 15:58:44 warnings: ZEBRA: [EC 4043309105] Disabling MPLS support (no kernel support) OK Starting zebra. 2019/04/26 15:58:44 warnings: ZEBRA: [EC 4043309141] warning: interface disc0 broadcast addr 10.128.128.144/29 != calculated 10.128.128.151, routing protocols may malfunction 2019/04/26 15:58:44 warnings: ZEBRA: [EC 4043309141] warning: interface disc0 broadcast addr 10.129.129.1/28 != calculated 10.129.129.15, routing protocols may malfunction 2019/04/26 15:58:44 warnings: ZEBRA: [EC 4043309105] Disabling MPLS support (no kernel support) If I use the same IP info on another non discard interface it works / doesnt complain. Also, when starting staticd, I get these warnings as well. Checking staticd.conf 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra OK Starting staticd. Looking at the installed routes, it looks ok, except for one which I must be missing something obvious, but its ok on quagga and frr6 I have interface igb1.6: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=600703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,RXCSUM_IPV6,TXCSUM_IPV6> ether 90:e2:ba:01:37:81 inet6 fe80::92e2:baff:fe01:3781%igb1.6 prefixlen 64 scopeid 0xe inet 64.7.149.177 netmask 0xfffffffc broadcast 64.7.149.179 and a static route of ip route 10.87.1.0/30 64.7.149.178 It ends up installing this static route on the discard interface for some reason on frr7. On frr6, it works. next hop is 64.7.149.178. I do get the same warning messages however at startup. On frr5, its the same as frr7. # vtysh -c "show ip route 10.87.1.0/30" Routing entry for 10.87.1.0/30 Known via "static", distance 1, metric 0, best Last update 00:00:14 ago 64.7.149.178 (recursive) * 10.129.129.1, via disc0 kernel confirms # netstat -nr | grep ^10.87.1. 10.87.1.0/30 10.129.129.1 UG1 disc0 # Any ideas what up ? As this is just a test box, there is no MAC addr for the next hop, but would it not mark the route as inactive rather than change the next hop to the discard interface ? ---Mike -- ------------------- Mike Tancsa, tel +1 519 651 3400 x203 Sentex Communications, mike@sentex.net Providing Internet services since 1994 www.sentex.net Cambridge, Ontario Canada
The zebra startup messages don't worry me too much. We definitely see them from time to time especially when the broadcast address doesn't match the mask given. The error from staticd indicates that it does not think it is connected to zebra. Are you sure zebra is started? From the log message it sure looks like you are running zebra two times? donald On Fri, Apr 26, 2019 at 4:43 PM Mike Tancsa <mike@sentex.net> wrote:
I have been using the discard interface - DISC(4) - on FreeBSD for some time to tie down supernets. On frr7, I am getting a warning message at startup I am not sure what to make of
The nic is configured as
# ifconfig disc0 disc0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 65532 inet 10.128.128.144 netmask 0xfffffff8 inet 10.129.129.1 netmask 0xfffffff0 inet6 2001:db8::1 prefixlen 64 inet6 fe80::1%disc0 prefixlen 64 scopeid 0x7 groups: disc nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
And at startup, I get
/usr/local/etc/rc.d/frr start Checking zebra.conf 2019/04/26 15:58:44 warnings: ZEBRA: [EC 4043309141] warning: interface disc0 broadcast addr 10.128.128.144/29 != calculated 10.128.128.151, routing protocols may malfunction 2019/04/26 15:58:44 warnings: ZEBRA: [EC 4043309141] warning: interface disc0 broadcast addr 10.129.129.1/28 != calculated 10.129.129.15, routing protocols may malfunction 2019/04/26 15:58:44 warnings: ZEBRA: [EC 4043309105] Disabling MPLS support (no kernel support) OK Starting zebra. 2019/04/26 15:58:44 warnings: ZEBRA: [EC 4043309141] warning: interface disc0 broadcast addr 10.128.128.144/29 != calculated 10.128.128.151, routing protocols may malfunction 2019/04/26 15:58:44 warnings: ZEBRA: [EC 4043309141] warning: interface disc0 broadcast addr 10.129.129.1/28 != calculated 10.129.129.15, routing protocols may malfunction 2019/04/26 15:58:44 warnings: ZEBRA: [EC 4043309105] Disabling MPLS support (no kernel support)
If I use the same IP info on another non discard interface it works / doesnt complain.
Also, when starting staticd, I get these warnings as well.
Checking staticd.conf 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/26 15:58:44 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra OK Starting staticd.
Looking at the installed routes, it looks ok, except for one which I must be missing something obvious, but its ok on quagga and frr6
I have interface
igb1.6: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=600703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,RXCSUM_IPV6,TXCSUM_IPV6> ether 90:e2:ba:01:37:81 inet6 fe80::92e2:baff:fe01:3781%igb1.6 prefixlen 64 scopeid 0xe inet 64.7.149.177 netmask 0xfffffffc broadcast 64.7.149.179
and a static route of
ip route 10.87.1.0/30 64.7.149.178
It ends up installing this static route on the discard interface for some reason on frr7. On frr6, it works. next hop is 64.7.149.178. I do get the same warning messages however at startup. On frr5, its the same as frr7.
# vtysh -c "show ip route 10.87.1.0/30" Routing entry for 10.87.1.0/30 Known via "static", distance 1, metric 0, best Last update 00:00:14 ago 64.7.149.178 (recursive) * 10.129.129.1, via disc0
kernel confirms
# netstat -nr | grep ^10.87.1. 10.87.1.0/30 10.129.129.1 UG1 disc0
#
Any ideas what up ? As this is just a test box, there is no MAC addr for the next hop, but would it not mark the route as inactive rather than change the next hop to the discard interface ?
---Mike
-- ------------------- Mike Tancsa, tel +1 519 651 3400 x203 Sentex Communications, mike@sentex.net Providing Internet services since 1994 www.sentex.net Cambridge, Ontario Canada
_______________________________________________ dev mailing list dev@lists.frrouting.org https://lists.frrouting.org/listinfo/dev
On 4/27/2019 9:22 AM, Donald Sharp wrote:
The zebra startup messages don't worry me too much. We definitely see them from time to time especially when the broadcast address doesn't match the mask given.
Oh, I never even noticed that. It seems the discard interface does not have a broadcast address for whatever reason. FreeBSD 9 through 12 seem to all be this way. # ifconfig disc0 | grep inet inet6 2001:db8::1 prefixlen 64 inet6 fe80::1%disc0 prefixlen 64 scopeid 0x7 inet 10.129.129.1 netmask 0xfffffff0 vs a "normal" interface # ifconfig igb3 | grep inet inet 10.255.255.129 netmask 0xffffff00 broadcast 10.255.255.255
The error from staticd indicates that it does not think it is connected to zebra. Are you sure zebra is started? From the log message it sure looks like you are running zebra two times?
Odd, it looks like something in the default startup script ? If I manually start zebra and staticd its fine # /usr/local/sbin/zebra -A127.0.0.1 -d 2019/04/29 10:31:58 warnings: ZEBRA: [EC 4043309141] warning: interface disc0 broadcast addr 10.129.129.1/28 != calculated 10.129.129.15, routing protocols may malfunction 2019/04/29 10:31:58 warnings: ZEBRA: [EC 4043309141] warning: interface disc0 broadcast addr 9.9.9.1/30 != calculated 9.9.9.3, routing protocols may malfunction 2019/04/29 10:31:58 warnings: ZEBRA: [EC 4043309105] Disabling MPLS support (no kernel support) # /usr/local/sbin/staticd -A127.0.0.1 -d # ps -auxww | grep frr frr 66687 0.0 0.1 73284 9516 - Ss 10:31 0:00.00 /usr/local/sbin/zebra -A127.0.0.1 -d frr 66689 0.0 0.0 33864 7736 - Ss 10:32 0:00.00 /usr/local/sbin/staticd -A127.0.0.1 -d root 66691 0.0 0.0 11292 2640 3 S+ 10:32 0:00.00 grep frr # using the startup script from the ports # grep -i frr /etc/rc.conf frr_enable="YES" frr_flags="-A127.0.0.1" frr_daemons="zebra staticd" # I get the errors/warnings # /usr/local/etc/rc.d/frr start Checking zebra.conf 2019/04/29 10:33:47 warnings: ZEBRA: [EC 4043309141] warning: interface disc0 broadcast addr 10.129.129.1/28 != calculated 10.129.129.15, routing protocols may malfunction 2019/04/29 10:33:47 warnings: ZEBRA: [EC 4043309141] warning: interface disc0 broadcast addr 9.9.9.1/30 != calculated 9.9.9.3, routing protocols may malfunction 2019/04/29 10:33:47 warnings: ZEBRA: [EC 4043309105] Disabling MPLS support (no kernel support) OK Starting zebra. 2019/04/29 10:33:48 warnings: ZEBRA: [EC 4043309141] warning: interface disc0 broadcast addr 10.129.129.1/28 != calculated 10.129.129.15, routing protocols may malfunction 2019/04/29 10:33:48 warnings: ZEBRA: [EC 4043309141] warning: interface disc0 broadcast addr 9.9.9.1/30 != calculated 9.9.9.3, routing protocols may malfunction 2019/04/29 10:33:48 warnings: ZEBRA: [EC 4043309105] Disabling MPLS support (no kernel support) Checking staticd.conf 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra 2019/04/29 10:33:48 warnings: STATIC: void static_zebra_nht_register(struct static_route *, _Bool): Failure to send nexthop to zebra OK Starting staticd. # ps -auxww | grep frr frr 66745 0.0 0.1 73236 9508 - Ss 10:33 0:00.00 /usr/local/sbin/zebra -A127.0.0.1 -d frr 66751 0.0 0.0 33864 7736 - Ss 10:33 0:00.00 /usr/local/sbin/staticd -A127.0.0.1 -d root 66753 0.0 0.0 11292 2640 3 S+ 10:33 0:00.00 grep frr But it only starts one copy However, I still have the issue of the one static route getting pointed to the discard interface 10.87.1.0/30 10.129.129.1 UG1 disc0 where as it should be pointed to a host on a connected interface. vtysh -c "show ip route 10.87.1.0/30" Routing entry for 10.87.1.0/30 Known via "static", distance 1, metric 0, best Last update 00:03:21 ago 64.7.149.178 (recursive) * 10.129.129.1, via disc0 The supernet is tied down to the /24 vtysh -c "sh ip route 64.7.149.178" Routing entry for 64.7.149.0/24 Known via "static", distance 1, metric 0, best Last update 00:03:36 ago * 10.129.129.1, via disc0 The interface was booted with the carrier down, but the nic administratively up. If I plug in a cable so there is carrier, the connected interface now looks good vtysh -c "sh ip route 64.7.149.178" Routing entry for 64.7.149.176/30 Known via "connected", distance 0, metric 1, best Last update 00:01:35 ago * directly connected, igb1.6 but the 10.87.1.0/30 does not change vtysh -c "show ip route 10.87.1.0/30" Routing entry for 10.87.1.0/30 Known via "static", distance 1, metric 0, best Last update 00:07:43 ago 64.7.149.178 (recursive) * 10.129.129.1, via disc0 Even when the mac address shows up, so that the path is reachable, the static route does not update vtysh -c "show ip route 10.87.1.0/30" Routing entry for 10.87.1.0/30 Known via "static", distance 1, metric 0, best Last update 00:09:50 ago 64.7.149.178 (recursive) * 10.129.129.1, via disc0 # arp -na | grep 178 ? (64.7.149.178) at 00:0d:b9:1c:0f:25 on igb1.6 expires in 1131 seconds [vlan] # I have to stop frr and start it again, and it then works vtysh -c "show ip route 10.87.1.0/30" Routing entry for 10.87.1.0/30 Known via "static", distance 1, metric 0, best Last update 00:00:04 ago * 64.7.149.178, via igb1.6
participants (3)
-
Donald Sharp -
mike tancsa -
Mike Tancsa