Has anyone encountered a problem of routes not being passed from Quagga to kernel with Quagga (0.99.17 on 2.6.32-5-amd64)?
I'm suspecting a missconfiguration but haven't found it yet.
Cheers,
Piotr J.
With two peers active (HE and native):
# ip -6 r | wc -l
3840
With one peer active (other shutdown):
# ip -6 r | wc -l
4073
# sh ipv6 b su
BGP router identifier xxxx, local AS number xxxx
RIB entries 13990, using 1312 KiB of memory
Peers 2, using 9120 bytes of memory
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
2001:470:dddd::1
4 6939 5759 79 0 0 0 01:15:58 7153
2001:hhhh::1
4 cccc 5502 5 0 0 0 00:00:21 7215
Total number of neighbors 2
And the configuration:
router bgp xxxx
bgp router-id ggg
neighbor 2001:470:dddd::1 remote-as 6939
neighbor 2001:470:dddd::1 route-map HE_in in
neighbor 2001:470:dddd::1 route-map HE_out out
neighbor 2001:hhhh::1 remote-as cccc
neighbor 2001:hhhh::1 route-map yyy_out out
!
address-family ipv6
network pppp::/32
neighbor 2001:470:dddd::1 activate
neighbor 2001:470:dddd::1 route-map HE_in in
neighbor 2001:470:dddd route-map HE_out out
neighbor 2001:hhhh::1 activate
neighbor 2001:hhhh::1 route-map yyy_out out
exit-address-family
!
ipv6 prefix-list xxx-ipv6 seq 10 permit pppp::/32
!
route-map yyy_out permit 10
match ipv6 address prefix-list xxx-ipv6
!
route-map yyy_in permit 10
!
route-map HE_out permit 10
match ipv6 address prefix-list xxx-ipv6
set as-path prepend x x x
!
route-map HE_in permit 10
set local-preference 50
And a real example of a missing route:
# ip -6 r g 2001:470::
unreachable 2001:470:: from :: dev lo table unspec proto kernel src 2001:470:dddd::2 metric -1 error -101 hoplimit 255
# ip -6 r | grep 2001:470:
2001:470:dddd::/64 via :: dev he-ipv6 proto kernel metric 256 mtu 1480 advmss 1420 hoplimit 4294967295
2001:470:4a::/48 via fe80::21b:c003:a6eb:f000 dev eth2.478 proto zebra metric 1024 mtu 1500 advmss 1440 hoplimit 4294967295
but from quagga:
# sh ipv b 2001:470::
BGP routing table entry for 2001:470::/32
Paths: (2 available, best #1, table Default-IP-Routing-Table)
Not advertised to any peer
xxxx yyyy 6939
2001:gggg::1 from 2001:rrrr::1 (wwww)
(fe80::21b:c003:a6eb:f000)
Origin IGP, localpref 100, valid, external, best
Extended Community: SoO:196844:1220
Last update: Thu Jan 1 02:16:01 1970
6939
2001:470:rrrr::1 from 2001:470:rrrr::1 (vvvv)
(fe80::d842:5436)
Origin IGP, localpref 50, valid, external
Last update: Thu Jan 1 01:00:39 1970
Zebra in debug had:
2011/11/01 19:25:15 ZEBRA: netlink-cmd error: Cannot allocate memory, type=RTM_NEWROUTE(24), seq=19462, pid=0
It was due to the Debian's default:
cat /proc/sys/net/ipv6/route/max_size
4096
echo 50000 > /proc/sys/net/ipv6/route/max_size
or editing /etc/sysctl.conf with:
net.ipv6.route.max_size = 50000
fixes the issue.
Cheers,
Piotr J.