Hello,
I stumbled on a problem that was discussed already several years ago (e.g.
https://lists.quagga.net/pipermail/quagga-dev/2011-October/008960.html), but
still seems not to be completely solved. The problem is the Linux kernel in some
situations silently drops entries from its routing table, and Quagga does not
notice they are not in FIB. Below is an example with a static default route,
using Quagga 0.99.23 and Linux 3.10.28. The netmask for a PtP interface may be
considered wrong, but still Quagga and the kernel are not in sync. Does anyone
have an idea how it could be best fixed?
Regards,
Darek
gre8 Link encap:UNSPEC HWaddr
0A-08-45-FB-00-00-10-0E-00-00-00-00-00-00-00-00
inet addr:12.0.0.1 P-t-P:12.0.0.2 Mask:255.255.255.0
UP POINTOPOINT RUNNING NOARP ALLMULTI MTU:1476 Metric:1
Linux routes:
default 12.0.0.2 0.0.0.0 UG 0 0 0 gre8
12.0.0.0 * 255.255.255.0 U 0 0 0 gre8
Quagga routes:
S>* 0.0.0.0/0 [1/0] via 12.0.0.2, gre8
C>* 12.0.0.0/24 is directly connected, gre8
ifconfig gre8 netmask 255.0.0.0
Linux routes after ifconfig:
12.0.0.0 * 255.0.0.0 U 0 0 0 gre8
Quagga routes after ifconfig:
S>* 0.0.0.0/0 [1/0] via 12.0.0.2, gre8
C>* 12.0.0.0/8 is directly connected, gre8
Quagga view of the ifconfig operation:
2015/02/20 12:50:12 ZEBRA: netlink_parse_info: netlink-listen type
RTM_DELADDR(21), seq=0, pid=0
2015/02/20 12:50:12 ZEBRA: netlink_interface_addr RTM_DELADDR gre8:
2015/02/20 12:50:12 ZEBRA: IFA_LOCAL 12.0.0.1/24
2015/02/20 12:50:12 ZEBRA: IFA_ADDRESS 12.0.0.2/24
2015/02/20 12:50:12 ZEBRA: IFA_CACHEINFO pref -1, valid -1
2015/02/20 12:50:12 ZEBRA: MESSAGE: ZEBRA_INTERFACE_ADDRESS_DELETE 12.0.0.1/24
on gre8
2015/02/20 12:50:12 ZEBRA: rib_delete_ipv4(): route delete 12.0.0.0/24 ifindex
11
2015/02/20 12:50:12 ZEBRA: rib_delnode: 12.0.0.0/24: rn 0x2050c7c8, rib
0x2050c808, removing
2015/02/20 12:50:12 ZEBRA: rib_delete_ipv4(): route delete 12.0.0.0/24 ifindex
11
2015/02/20 12:50:12 ZEBRA: rib_delnode: 12.0.0.0/24: rn 0x2050c5d8, rib
0x2050bfd8, removing
2015/02/20 12:50:12 ZEBRA: netlink_parse_info: netlink-listen type
RTM_DELROUTE(25), seq=0, pid=0
2015/02/20 12:50:12 ZEBRA: RTM_DELROUTE ipv4 unicast proto kernel
2015/02/20 12:50:12 ZEBRA: netlink_parse_info: netlink-listen type
RTM_DELROUTE(25), seq=0, pid=0
2015/02/20 12:50:12 ZEBRA: RTM_DELROUTE ipv4 multicast proto kernel
2015/02/20 12:50:12 ZEBRA: netlink_parse_info: netlink-listen type
RTM_DELROUTE(25), seq=0, pid=0
2015/02/20 12:50:12 ZEBRA: RTM_DELROUTE ipv4 multicast proto kernel
2015/02/20 12:50:12 ZEBRA: netlink_parse_info: netlink-listen type
RTM_DELROUTE(25), seq=0, pid=0
2015/02/20 12:50:12 ZEBRA: RTM_DELROUTE ipv4 multicast proto kernel
2015/02/20 12:50:12 ZEBRA: netlink_parse_info: netlink-listen type
RTM_NEWADDR(20), seq=0, pid=0
2015/02/20 12:50:12 ZEBRA: netlink_interface_addr RTM_NEWADDR gre8:
2015/02/20 12:50:12 ZEBRA: IFA_LOCAL 12.0.0.1/8
2015/02/20 12:50:12 ZEBRA: IFA_ADDRESS 12.0.0.2/8
2015/02/20 12:50:12 ZEBRA: IFA_CACHEINFO pref -1, valid -1
2015/02/20 12:50:12 ZEBRA: MESSAGE: ZEBRA_INTERFACE_ADDRESS_ADD 12.0.0.1/8 on
gre8
2015/02/20 12:50:12 ZEBRA: rib_add_ipv4: calling rib_addnode (0x2050b550,
0x2050da30)
2015/02/20 12:50:12 ZEBRA: rib_link: 12.0.0.0/8: rn 0x2050b550, rib 0x2050da30
2015/02/20 12:50:12 ZEBRA: rib_link: 12.0.0.0/8: adding dest to table
2015/02/20 12:50:12 ZEBRA: rib_add_ipv4: calling rib_addnode (0x2050daa0,
0x2050dae0)
2015/02/20 12:50:12 ZEBRA: rib_link: 12.0.0.0/8: rn 0x2050daa0, rib 0x2050dae0
2015/02/20 12:50:12 ZEBRA: rib_link: 12.0.0.0/8: adding dest to table
2015/02/20 12:50:12 ZEBRA: netlink_parse_info: netlink-listen type
RTM_NEWROUTE(24), seq=0, pid=0
2015/02/20 12:50:12 ZEBRA: RTM_NEWROUTE ipv4 multicast proto kernel
2015/02/20 12:50:12 ZEBRA: netlink_parse_info: netlink-listen type
RTM_NEWROUTE(24), seq=0, pid=0
2015/02/20 12:50:12 ZEBRA: RTM_NEWROUTE ipv4 unicast proto kernel
2015/02/20 12:50:12 ZEBRA: netlink_parse_info: netlink-listen type
RTM_NEWROUTE(24), seq=0, pid=0
2015/02/20 12:50:12 ZEBRA: RTM_NEWROUTE ipv4 multicast proto kernel
2015/02/20 12:50:12 ZEBRA: netlink_parse_info: netlink-listen type
RTM_NEWROUTE(24), seq=0, pid=0
2015/02/20 12:50:12 ZEBRA: RTM_NEWROUTE ipv4 multicast proto kernel
2015/02/20 12:50:12 ZEBRA: rib_process: 12.0.0.0/24: Removing existing route,
fib 0x2050c808
2015/02/20 12:50:12 ZEBRA: rib_process: 12.0.0.0/24: Deleting fib 0x2050c808, rn
0x2050c7c8
2015/02/20 12:50:12 ZEBRA: rib_unlink: 12.0.0.0/24: rn 0x2050c7c8, rib
0x2050c808
2015/02/20 12:50:12 ZEBRA: rib_gc_dest: 12.0.0.0/24: removing dest from table
2015/02/20 12:50:12 ZEBRA: rib_process: 12.0.0.0/24: Removing existing route,
fib 0x2050bfd8
2015/02/20 12:50:12 ZEBRA: rib_process: 12.0.0.0/24: Deleting fib 0x2050bfd8, rn
0x2050c5d8
2015/02/20 12:50:12 ZEBRA: rib_unlink: 12.0.0.0/24: rn 0x2050c5d8, rib
0x2050bfd8
2015/02/20 12:50:12 ZEBRA: rib_gc_dest: 12.0.0.0/24: removing dest from table
2015/02/20 12:50:12 ZEBRA: rib_process: 12.0.0.0/8: Adding route, select
0x2050da30
2015/02/20 12:50:12 ZEBRA: rib_process: 12.0.0.0/8: Adding route, select
0x2050dae0
2015/02/20 12:50:12 ZEBRA: rib_process: 0.0.0.0/0: Updating existing route,
select 0x2050c2e8, fib 0x2050c2e8
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev