BGP Output Filter judges that bgp-communities includes xxx:xxx will always return false, only dst in works.
Here is my config.
BGP Session:
/routing bgp connection
add as=MY_A connect=yes disabled=no input.affinity=alone .filter=from_downstream-v4 listen=yes \
local.role=ebgp name=To_B output.affinity=alone .filter-chain=\
output_to_peer_with_ix_v4 .keep-sent-attributes=yes .network=bgp-networks remote.address=\
10.144.0.1/32 .as=B routing-table=Main
output_to_peer_with_ix_v4 Filter:
if (dst in 1.1.1.0/24 ){
accept;
return;
}
if ( bgp-communities includes 65500:2000 ){
accept;
}
if ( bgp-communities includes 65500:4000 ){
accept;
}
reject;
The route table of B, Only get one route:
DAb 1.1.1.0/24 10.144.0.2 20
I confirmed on route A that the route with Community 65500:4000 does exist in the routing table.But it is true that route B only received one(1.1.1.0/24).