eclist matching question

Alexander Shikov a.shikov at dtel-ix.net
Tue Jun 30 14:39:25 CEST 2020


On Mon, Jun 15, 2020 at 15:53:46 +0300, Alexander Shikov wrote:
> Hello!
> 
> I have some strange behavior of list matching operator applied to eclist
> in v.1.6.3.
> 
> Example filter function:
> 
> function test (int peer_as)
> {
>         if net = 109.68.40.0/21 &&
>            peer_as = 28773 then {
>                 print "DEBUG2: ", bgp_ext_community;
>         }
> 
>         if (rt,65001,peer_as) ~ bgp_ext_community then {
>                 print "DEBUG: Adding one prepend: ", bgp_path.first;
>                 bgp_path.prepend(bgp_path.first);
>         }
> }
> 
> In log file I see bgp_ext_community attribute which includes
> (rt,65001,28773) community:
> 
> Jun 15 15:37:52 <daemon.info> rs1 bird: DEBUG2: (eclist (rt, 65001, 13188) (rt, 65001, 28773) (ro, 31210, 25372))
> 
> But the later matching never succeeds, and I don't understand why.
> Please advice. Thanks!

Hello!

The same behavior is in bird v2.0.
Can anyone take a look? Thanks!

-- 
Alexander Shikov
Technical Staff, Digital Telecom IX
Tel.: +380 44 201 14 07
Mob.: +380 50 410 30 57
http://dtel-ix.net/


More information about the Bird-users mailing list