Adding and deleting communities...

Simone Morandini simone.morandini at mix-it.net
Thu May 20 16:41:04 CEST 2010


Hi all,

I need your help to understand what I'm missing...
One of the rs clients sends a route with no-export community, so I have 
to strip it on ingress and re-attach it on egress. I thought I have two 
alternatives: using "interpret community no" in the bgp table of the 
peer, or playing with bgp_community.add and delete.

I would expect to receive a "duplicate" network on my peering router, 
one learned via the direct peering and one learned via the route server. 
So far I only see the network from the direct peering.
Relevant part of the config file:

protocol pipe P_MYPEER {
        table master;
        mode transparent;
        peer table T_MYPEER;
        export where bgp_out(<mypeer>) = true;
        import where bgp_mypeer_in(<mypeer>) = true;
}

in the bgp_mypeer_in function, after checking that it is a legitimate 
network for that peer, I added:
        bgp_community.delete ((65535, 65281));
just before the final "return true".

in the bgp_out function, after checking if a filtering community is set, 
I added:
    if (bgp_path.first = <mypeer>) then bgp_community.add ((65535, 65281));
just before the final "return true".

I also set "interpret community no" in protocol bgp MYPEER.

If I issue a "show route where bgp_path.first=<my-peer> all" I see that 
the no-export community is actually being stripped, but I still see one 
network on my peering router (sh ip bgp regexp ^<mypeer>, via the direct 
peering).


TIA for any help,
Simone.

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.




More information about the Bird-users mailing list