Hello. I have some problem with ecmp in bird. We try to migrate from quagga to bird and have faced with ecmp problem in our schema. schema r0-2 - are Linux routers,debian, with bird 1.3.10-1 from debian repo. Both r1,r2 inject default route to area 1 as expected. But r0 inject to kernel only one route. r0 bird> show route 0.0.0.0/0 via 10.200.1.101 on eth0 [onat_ospf 13:05] * IA (150/1010) [10.200.2.101] 10.200.1.0/24 dev eth0 [direct1 18:05] * (240) dev eth0 [onat_ospf 18:20] I (150/10) [10.200.2.100] bird> show ospf lsadb Area 0.0.0.1 Type LS ID Router Age Sequence Checksum 0001 10.200.1.10 10.200.1.10 660 8000008a 2fc1 0003 0.0.0.0 10.200.2.100 947 80000029 64ad 0002 10.200.1.100 10.200.2.100 963 8000002e c3a4 0001 10.200.2.100 10.200.2.100 547 80000083 796c 0003 0.0.0.0 10.200.2.101 967 8000002c 58b5 0001 10.200.2.101 10.200.2.101 955 80000079 8b61 bird> show ospf state area 0.0.0.1 router 10.200.1.10 distance 0 network 10.200.1.0/24 metric 10 router 10.200.2.100 distance 10 network 10.200.1.0/24 metric 10 xnetwork 0.0.0.0/0 metric 1000 router 10.200.2.101 distance 10 network 10.200.1.0/24 metric 10 xnetwork 0.0.0.0/0 metric 1000 network 10.200.1.0/24 dr 10.200.2.100 distance 10 router 10.200.2.100 router 10.200.1.10 router 10.200.2.101 r0:~# ip ro sh default via 10.200.1.101 dev eth0 proto bird 10.200.1.0/24 dev eth0 proto kernel scope link src 10.200.1.10 With quagga all fine. r0# show ip route Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, A - Babel,
- selected route, * - FIB route
O>* 0.0.0.0/0 [110/1010] via 10.200.1.100, eth0, 00:00:35 * via 10.200.1.101, eth0, 00:00:35 O 10.200.1.0/24 [110/10] is directly connected, eth0, 00:00:35 C>* 10.200.1.0/24 is directly connected, eth0 C>* 127.0.0.0/8 is directly connected, lo I have found some reference in ospf doc about it ecmp switch [limit number] but if I understand right, this refers only for ospf behavior. How does bird process ecmp routes? Can bird proccess ecmp routes like quagga ? Thanks. -- ? ?????????, ??????? ???????? SVAJ-RIPE|SVA88-UANIC
On Thu, Aug 01, 2013 at 12:24:46PM +0300, Volodymyr Samodid wrote:
Hello. I have some problem with ecmp in bird.
We try to migrate from quagga to bird and have faced with ecmp problem in our schema.
I have found some reference in ospf doc about it ecmp switch [limit number] but if I understand right, this refers only for ospf behavior.
Hi Just enable this option and OSPF will generate ECMP routes and these routes will be exported to the kernel table. Also note that BIRD kernel support for ECMP is just for Linux/IPv4. -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
On 08/01/2013 04:04 PM, Ondrej Zajicek wrote:
On Thu, Aug 01, 2013 at 12:24:46PM +0300, Volodymyr Samodid wrote:
Hello. I have some problem with ecmp in bird.
We try to migrate from quagga to bird and have faced with ecmp problem in our schema.
I have found some reference in ospf doc about it ecmp switch [limit number] but if I understand right, this refers only for ospf behavior. Hi
Just enable this option and OSPF will generate ECMP routes and these routes will be exported to the kernel table.
Also note that BIRD kernel support for ECMP is just for Linux/IPv4.
I have enabled this option. This is my config for r0 log syslog { debug, trace, info, remote, warning, error, auth, fatal, bug }; router id 10.200.1.10; filter ospf_i { accept;} filter ospf_e { accept;} protocol direct {} protocol kernel { scan time 10; # Scan kernel routing table every 20 seconds import all; # Default is import all export all; # Default is export none } protocol device { scan time 10; } protocol ospf onat_ospf { tick 2; rfc1583compat yes; import filter ospf_i; # import to kernel export filter ospf_e; # export from kernel ecmp yes; area 0.0.0.1 { stub yes; summary no; interface "eth0" { hello 10; retransmit 6; transmit delay 5; dead count 4; wait 50; priority 130; type broadcast; rx buffer large; }; }; }; It does not work. bird> show route 0.0.0.0/0 via 10.200.1.101 on eth0 [onat_ospf 15:55] * IA (150/1010) [10.200.2.101] 10.200.1.0/24 dev eth0 [direct1 15:54] * (240) dev eth0 [onat_ospf 15:55] I (150/10) [10.200.2.100] bird> show ospf lsadb Area 0.0.0.1 Type LS ID Router Age Sequence Checksum 0001 10.200.1.10 10.200.1.10 200 800001b9 cdf2 0003 0.0.0.0 10.200.2.100 1111 8000014d 19d3 0002 10.200.1.100 10.200.2.100 211 8000015b 66d3 0001 10.200.2.100 10.200.2.100 211 800001b6 10a1 0003 0.0.0.0 10.200.2.101 1121 80000150 0ddb 0001 10.200.2.101 10.200.2.101 208 800001ab 2495 -- С уважением, Самодед Владимир SVAJ-RIPE|SVA88-UANIC
On Thu, Aug 01, 2013 at 04:01:12PM +0300, Volodymyr Samodid wrote:
Hi
Just enable this option and OSPF will generate ECMP routes and these routes will be exported to the kernel table.
Also note that BIRD kernel support for ECMP is just for Linux/IPv4.
I have enabled this option. This is my config for r0
...
It does not work.
You are right, i checked it and ECMP is implemented just for intra-area OSPF routes, not for inter-area or external routes - these just inherit the next-hops from (possibly ECMP) internal route to the boundary router (ABR or ASBR). -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
On 08/01/2013 05:02 PM, Ondrej Zajicek wrote:
On Thu, Aug 01, 2013 at 04:01:12PM +0300, Volodymyr Samodid wrote:
Hi
Just enable this option and OSPF will generate ECMP routes and these routes will be exported to the kernel table.
Also note that BIRD kernel support for ECMP is just for Linux/IPv4.
I have enabled this option. This is my config for r0
...
It does not work. You are right, i checked it and ECMP is implemented just for intra-area OSPF routes, not for inter-area or external routes - these just inherit the next-hops from (possibly ECMP) internal route to the boundary router (ABR or ASBR).
Do you have any plans for fixing? -- С уважением, Самодед Владимир SVAJ-RIPE|SVA88-UANIC
On Thu, Aug 01, 2013 at 04:57:42PM +0300, Volodymyr Samodid wrote:
You are right, i checked it and ECMP is implemented just for intra-area OSPF routes, not for inter-area or external routes - these just inherit the next-hops from (possibly ECMP) internal route to the boundary router (ABR or ASBR).
Do you have any plans for fixing?
No acute plans on this. -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
participants (2)
-
Ondrej Zajicek -
Volodymyr Samodid