Thank you, the unset workaround works just fine. By the way, unset() is not mentioned in documentation :-) On 3/5/19 7:32 PM, Ondrej Zajicek wrote:
On Mon, Mar 04, 2019 at 04:54:10PM +0300, Yaroslav Dronskii wrote:
Hello, I need some help in understanding bird. Route redistribution between ospf instances doesn't work for me. I tried everything I could think of short of debugging source code, and narrowed it down to route type. If it's RTS_OSPF_IA, ospf_metric2 is set to LSINFINITY. Hello
This seems like a bug in BIRD. OSPF generated routes other than E2 (type 2 external) have attribute ospf_metric2 set to LSINFINITY, but when a route is exported to OSPF and have ospf_metric2 set (even to LSINFINITY), then it is generated as E2 with given metric. We should generate ospf_metric2 attribute only for E2 routes.
There is a simple workaround: In OSPF export filter, use this command:
unset(ospf_metric2);
That would generate E1 routes from IA routes. Or just set ospf_metric2 to a sane value to generate E2 routes.
How route is seen: Imported from other vm host via ospf: bird> show route table table_ospf_0 10.20.5.135/32 all Table table_ospf_0: 10.20.5.135/32 unicast [ospf_vm 13:52:53.209] IA (150/20) [10.255.10.129] via 10.133.146.12 on ospf0-br Type: OSPF-IA univ This seems like another bug, there should be list of OSPF attributes.