On Wed, Feb 28, 2024 at 04:15:32PM +0900, Nico Schottelius via Bird-users wrote:
Good morning,
after switching over to the following filter, as mentioned in the last mails:
filter static_and_bgp_and_ospf { if(source = RTS_STATIC || source = RTS_BGP || source = RTS_OSPF) then accept; reject; }
Hi OSPF generates routes with four source values: RTS_OSPF, RTS_OSPF_IA, RTS_OSPF_EXT1 and RTS_OSPF_EXT2. (for internal, inter-area, type 1 external and type 2 external routes). So in your case you just export internal OSPF routes, not the E2 route. Also note you can write the condition using sets: if source ~ [ RTS_STATIC, RTS_BGP, RTS_OSPF, RTS_OSPF_IA, RTS_OSPF_EXT1, RTS_OSPF_EXT2 ] then ...
-------------------------------------------------------------------------------- bird> show route all for 2a0a:e5c0:2:a::b Table master6: 2a0a:e5c0:2:a::b/128 unicast [ospf6 2024-02-26] * E2 (150/10/10000) [147.78.194.129] via fe80::3eec:efff:fecb:d81a on eth0 Type: OSPF-E2 univ OSPF.metric1: 10 OSPF.metric2: 10000 OSPF.tag: 0x00000000 OSPF.router_id: 147.78.194.129
And is there actually a CLI syntax for verifying that a route is accepted by a filter?
show route export <channel> (for should be exported) or show route exported <channel> (for was exported) -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) "To err is human -- to blame it on a computer is even more so."