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/