Have you tried to check that in cli like: show route where bgp_out(...) And check that required route has all needed communities: show route all x.x.x.x/y
On Mon, Apr 6, 2020 at 5:35 PM Fabiano D'Agostino <fabiano.dagostin...@gmail.com> wrote: > > Hey, > thank you! I think I am having the same problem they had here: > https://bird.network.cz/pipermail/bird-users/2010-September/001620.html > > But I didn't understand how they solved. > > Regards, > Fabiano > > Il giorno lun 6 apr 2020 alle ore 17:16 Cybertinus <b...@cybertinus.nl> ha > scritto: >> >> Hello Fabiano, >> >> >> BGP Communities are basically tags you add to a prefix that is received >> from, or send to, a peer. And in Bird you can do whatever you want with >> these communities. A community by itself has no meaning and has no influence >> on the routing decision whatsoever. It is the meaning you add to it in your >> configuration what makes them work. >> >> More information about communities: >> https://en.wikipedia.org/wiki/Border_Gateway_Protocol#Communities >> >> >> Kind regards, >> Cybertinus >> >> >> On 2020-04-06 17:03, Fabiano D'Agostino wrote: >> >> and how these kind of checks are handled? >> if (myas,peeras) ~ bgp_community what is bgp_community? >> >> Thanks, >> >> Il giorno lun 6 apr 2020 alle ore 15:32 Fabiano D'Agostino >> <fabiano.dagostin...@gmail.com> ha scritto: >> >> Thank you, but "if the route does not come from BGP then false" >> here I have: >> protocol pipe a { >> table master; >> mode transparent; >> peer table a; >> import all; >> export where bgp_out(x); => this becomes false, what does this mean? >> #export all; >> } >> >> Thanks, >> >> Il giorno lun 6 apr 2020 alle ore 10:50 Bernd Naumann <b...@spreadshirt.net> >> ha scritto: >> >> On 05.04.20 23:08, Fabiano D'Agostino wrote: >> > Good evening, >> > could someone explain me the meaning of these lines? >> > >> > function bgp_out(int peeras) >> > { >> > if ! (source = RTS_BGP ) then return false; >> > if peeras > 65535 then return true; ### communities do not support AS32 >> > if (0,peeras) ~ bgp_community then return false; >> > if (myas,peeras) ~ bgp_community then return true; >> > if (0, myas) ~ bgp_community then return false; >> > return true; >> > } >> > >> > Thanks, >> > >> > Fabiano >> > >> >> Morning, >> >> I can not cover the whole section but as a start... >> >> * if the route does not come from BGP then false (routing table source?) >> * if the remote AS Number is greater 65535 (16 Bit) then "just" return >> true (see AS 32 Bit Numbers, and the non-support of older >> devices/implementations) >> * For the next 3 I'm not 100% sure how to read but I found >> https://bird-users.network.narkive.com/3uDbo6H9/any-ix-willing-to-share-their-config >> >> ``` >> 0:XXXXX - Do not announce route to peer XXXXX >> 0:MyASN - Do not announce route to all peers >> MyASN:XXXXX - Announce route to peer XXXXX only >> MyASN:MyASN - Announce routes to all peers. This community is >> automatically added to all routes that are not >> tagged with any of MyASN:XXXXX communities. >> ``` >> >> Maybe this helps a little bit. >> >> Bernd