I see AS205082 is yours. You'll need a 16-bit ASN in order to use the communities described below.
Chris On Mon, 22 Jan 2018, Chris Caputo wrote: > What is myas set to? > > Chris > > On Mon, 22 Jan 2018, Piotr Marciniak wrote: > > Hello Chris, > > > > Thank you for your config. Looks much better. Still I have know error... > > > > bird> conf check > > Reading configuration from /etc/bird/bird.conf > > /etc/bird/bird.conf, line 121: Value 205082 out of range (0-65535) > > > > ...but not in main section of filter. It is only here now: > > > > #Remove IXP related communities > > #(...) > > bgp_community.delete([(myas,*)]); > > > > Only this one line. Once commented - no errors in filter reported. Is there > > any fix for it? > > > > Rgrds, > > > > Peter > > > > -----Oryginalna wiadomość----- From: Chris Caputo > > Sent: Monday, January 22, 2018 2:25 PM > > To: Piotr Marciniak > > Cc: [email protected] > > Subject: Re: Community for small IX - problem with 4B ASN > > > > > 1. Is it possible to enable 4B ASn for communities in Bird? Will it work > > > with other rouers? > > > 2. Can we use instead private ASn just for community filters? Are they > > > processed corretly by other Internet routers of our peers? > > > > 1. Yes. > > > > 2. I don't recommend it. > > > > To see the communities supported by the SIX route servers, refer to: > > > > https://www.seattleix.net/route-servers#communities > > > > Below is how we do it with bird 1.6.3. Not sure about 2.0+. > > > > I hope this helps and feedback from the community is welcome. > > > > Chris > > > > --- > > > > define myas = SET TO IXP ASN; > > define peerPrepend1 = 65001; > > define peerPrepend2 = 65002; > > define peerPrepend3 = 65003; > > > > # BGP output filter (based on communities) > > # Returning false means don't propagate route to peeras. > > # Returning true means do propagate route to peeras. > > function bgp_out_comm(int peeras) > > { > > if ! (source = RTS_BGP ) then return false; > > > > if (myas,0,peeras) ~ bgp_large_community then return false; > > if (myas,1,peeras) ~ bgp_large_community then return true; > > if (myas,0,0) ~ bgp_large_community then return false; > > > > if peeras > 65535 then > > { > > if (ro,0,peeras) ~ bgp_ext_community then return false; > > if (ro,myas,peeras) ~ bgp_ext_community then return true; > > if ((ro,0,myas) ~ bgp_ext_community) then return false; > > } else { > > if ((0,peeras) ~ bgp_community) || ((ro,0,peeras) ~ bgp_ext_community) > > then return false; > > if ((myas,peeras) ~ bgp_community) || ((ro,myas,peeras) ~ > > bgp_ext_community) then return true; > > if ((0,myas) ~ bgp_community) || ((ro,0,myas) ~ bgp_ext_community) then > > return false; > > } > > return true; > > } > > > > function bgp_out(int peeras) > > { > > if !bgp_out_comm(peeras) then return false; > > > > # Prepends > > if peeras > 65535 then > > { > > if ((ro,peerPrepend1,peeras) ~ bgp_ext_community) || > > ((myas,peerPrepend1,peeras) ~ bgp_large_community) then { > > bgp_path.prepend(bgp_path.first); > > } > > if ((ro,peerPrepend2,peeras) ~ bgp_ext_community) || > > ((myas,peerPrepend2,peeras) ~ bgp_large_community) then { > > bgp_path.prepend(bgp_path.first); > > bgp_path.prepend(bgp_path.first); > > } > > if ((ro,peerPrepend3,peeras) ~ bgp_ext_community) || > > ((myas,peerPrepend3,peeras) ~ bgp_large_community) then { > > bgp_path.prepend(bgp_path.first); > > bgp_path.prepend(bgp_path.first); > > bgp_path.prepend(bgp_path.first); > > } > > } else { > > if ((peerPrepend1,peeras) ~ bgp_community) || ((ro,peerPrepend1,peeras) > > ~ bgp_ext_community) || ((myas,peerPrepend1,peeras) ~ bgp_large_community) > > then { > > bgp_path.prepend(bgp_path.first); > > } > > if ((peerPrepend2,peeras) ~ bgp_community) || ((ro,peerPrepend2,peeras) > > ~ bgp_ext_community) || ((myas,peerPrepend2,peeras) ~ bgp_large_community) > > then { > > bgp_path.prepend(bgp_path.first); > > bgp_path.prepend(bgp_path.first); > > } > > if ((peerPrepend3,peeras) ~ bgp_community) || ((ro,peerPrepend3,peeras) > > ~ bgp_ext_community) || ((myas,peerPrepend3,peeras) ~ bgp_large_community) > > then { > > bgp_path.prepend(bgp_path.first); > > bgp_path.prepend(bgp_path.first); > > bgp_path.prepend(bgp_path.first); > > } > > } > > > > # Remove IXP related communities > > bgp_community.delete([(0,*)]); > > bgp_community.delete([(myas,*)]); > > bgp_community.delete([(peerPrepend1,*)]); > > bgp_community.delete([(peerPrepend2,*)]); > > bgp_community.delete([(peerPrepend3,*)]); > > bgp_ext_community.delete([(ro,0,*)]); > > bgp_ext_community.delete([(ro,myas,*)]); > > bgp_ext_community.delete([(ro,peerPrepend1,*)]); > > bgp_ext_community.delete([(ro,peerPrepend2,*)]); > > bgp_ext_community.delete([(ro,peerPrepend2,*)]); > > bgp_large_community.delete([(myas,*,*)]); > > > > return true; > > } > > > > On Mon, 22 Jan 2018, Piotr Marciniak wrote: > > > Dear Advisors ;], > > > > > > Thank you for all posts. But still I do not know how to make Bird working > > > with > > > 4B communities and if I may do this - whether it will be accepted for our > > > peers? In short - I do not know how to adapt to 4B communities following > > > examples: > > > > > > https://gitlab.labs.nic.cz/labs/bird/wikis/Route_server_with_community_based_filtering_and_multiple_RIBs > > > https://gitlab.labs.nic.cz/labs/bird/wikis/Route_server_with_community_based_filtering_and_single_RIB > > > > > > Is there any way to enable 4B communities in bird.conf? > > > > > > I do not have any problem with 4B ASn. I set bgp peering sessions from > > > Bird > > > with 4B ASn. Even our IX has AS205082. > > > > > > This is why I put 2 questions: > > > > > > 1. Is it possible to enable 4B ASn for communities in Bird? Will it work > > > with other rouers? > > > 2. Can we use instead private ASn just for community filters? Are they > > > processed corretly by other Internet routers of our peers? > > > > > > Please - do not explain me theoretical difference between 16 and 32 bits. > > > Question is simple - can I use 4B communities for filters? If not - what > > > 16bit > > > "fake ASn" I can use instead safely? > > > > > > Best wishes, > > > > > > Piotr Marciniak > > > > > > > > > -----Oryginalna wiadomość----- From: Paweł Nastachowski > > > Sent: Monday, January 22, 2018 1:12 PM > > > To: Piotr Marciniak > > > Cc: [email protected] > > > Subject: Re: Community for small IX - problem with 4B ASN > > > > > > Hi Piotr, > > > > > > I should use extended community for 4B ASN, because normal community is > > > too > > > small “Encodes a 32-bit value displayed as “16-bit ASN:16-bit value”. > > > > > > Regards, > > > Pawel > > > > > > -----Wiadomość oryginalna----- > > > Od: Bird-users <[email protected]> w imieniu użytkownika Piotr > > > Marciniak <[email protected]> > > > Data: poniedziałek, 22 stycznia 2018 11:15 > > > Do: "[email protected]" <[email protected]> > > > Temat: Community for small IX - problem with 4B ASN > > > > > > Hello, > > > > > > I've spent a while on below docs and faced a problem with 4B ASN we > > > use. > > > Bird reports an error 'when 'myas' is 4B => so above 65535. > > > See some testing example below: > > > > > > bird> configure > > > Reading configuration from /etc/bird/bird.conf > > > /etc/bird/bird.conf, line 81: Value 165250 out of range (0-65535) > > > > > > The only way this config reports no error is to set here private ASn - > > > fe. > > > 65250. But it will never match our real ASn. > > > > > > Two questions: > > > > > > 1. Is it possible to enable 4B ASn for communities in Bird? Will it > > > work > > > with other rouers? > > > 2. Can we use instead private ASn just for community filters? Are they > > > processed corretly by other Internet routers of our peers? > > > > > > Or maybe there is another work around? > > > > > > Best wishes, > > > > > > Peter > > > > > > > > > -----Oryginalna wiadomość----- > > > From: Piotr Marciniak > > > Sent: Friday, December 29, 2017 5:01 PM > > > To: Ondrej Zajicek > > > Cc: [email protected] > > > Subject: Re: Community for small IX > > > > > > > > > There are some examples in BIRD wiki, mainly: > > > > > > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__gitlab.labs.nic.cz_labs_bird_wikis_Route-5Fserver-5Fwith-5Fcommunity-5Fbased-5Ffiltering-5Fand-5Fmultiple-5FRIBs&d=DwIDaQ&c=gxW9PgscCAGwFImBgfkGkoANogu61GVPNv0sglxAtik&r=5Q01PsGCLGh5Iipn2_EFz2pKmXKRl5oJ_tHzyrwTUhrj4D27CXd9SGXgnGWoH5Yy&m=b6e1rT2mu_bWkZiOT-71FnOGwrXSx-xnpaRwbI3-BFI&s=2UgZOD_Fkqt6ZgVqlXm_vXRiY1LP_MTlkWo-TGVqAtE&e= > > > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__gitlab.labs.nic.cz_labs_bird_wikis_Route-5Fserver-5Fwith-5Fcommunity-5Fbased-5Ffiltering-5Fand-5Fsingle-5FRIB&d=DwIDaQ&c=gxW9PgscCAGwFImBgfkGkoANogu61GVPNv0sglxAtik&r=5Q01PsGCLGh5Iipn2_EFz2pKmXKRl5oJ_tHzyrwTUhrj4D27CXd9SGXgnGWoH5Yy&m=b6e1rT2mu_bWkZiOT-71FnOGwrXSx-xnpaRwbI3-BFI&s=KjVYea-iJRNl8BxFQFgkEeHLWFK8qwenAm_GRJDH4Q4&e= > > > > > > -- > > > Elen sila lumenn' omentielvo > > > > > > Ondrej 'Santiago' Zajicek (email: [email protected]) > > > OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) > > > "To err is human -- to blame it on a computer is even more so." > > > > > > > > > > > > This email is from Equinix (EMEA) B.V. or one of its associated companies > > > in > > > the territory from where this email has been sent. This email, and any > > > files > > > transmitted with it, contains information which is confidential, is solely > > > for > > > the use of the intended recipient and may be legally privileged. If you > > > have > > > received this email in error, please notify the sender and delete this > > > email > > > immediately. Equinix (EMEA) B.V.. Registered Office: Amstelplein 1, 1096 > > > HA > > > Amsterdam, The Netherlands. Registered in The Netherlands No. 57577889. > > > >
