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