Transiting

Michael McConnell michael at winkstreaming.com
Sun Mar 26 18:32:47 CEST 2017


Thank you very much for that example and output. I’ve been leading towards bgp_path.prepend as I am getting BGP.as_path as blank. 

show route all 10.10.10.10/24
10.10.10.10/24     via 192.168.1.1 on bond0 [border7 20:40:33] * (100) [AS65999i]
	Type: BGP unicast univ
	BGP.origin: IGP
	BGP.as_path: 714 2914 20473 2828
	BGP.next_hop: 10.10.10.10
	BGP.local_pref: 100
	BGP.community: (65000,475) (65050,214)
                   unreachable [edge140 20:45:45 from 192.168.1.120] (100/-) [i]
	Type: BGP unicast univ
	BGP.origin: IGP
	BGP.as_path:
	BGP.next_hop: 192.168.1.120
	BGP.local_pref: 100

To me it seemed like I needed to add a prepend to the path to have the parameter set. Your example now has me thinking i’ve got some more basic routing issue.

Thanks again for your comment

--
Michael McConnell
WINK Streaming;
email: michael at winkstreaming.com <mailto:michael at winkstreaming.com>
phone: +1 312 281-5433 x 7400
cell: +506 8706-2389
skype: wink-michael
web: http://winkstreaming.com <http://winkstreaming.com/>
> On Mar 26, 2017, at 10:16 AM, Alarig Le Lay <alarig at swordarmor.fr> wrote:
> 
> On dim. 26 mars 09:08:25 2017, Michael McConnell wrote:
>> Hello all,
>> 
>> We are running into an issue transiting a down stream ASN. E.g. Uplink
>> <-> Our ASN <-> Downlink ASN
>> 
>> To me it seems we should only need to bgp_path.prepend our outbound
>> filter, however our uplink is dropping the as path when we run it that
>> way.
>> 
>> Any suggestions as to what I am missing to carrier a downstream ASN
>> and prefixes to our uplinks?
>> 
>> Thanks so much,
>> Mike
> 
> Hi, why do you want to bgp_path.prepend? Your ASN will be automatically
> added in the path if you act as transit between upstream and downstream
> AS.
> 
> Exemple:
> 
> template bgp DOWNSTREAM {
> 	import keep filtered;
> 	export all;
> }
> 
> function bgp_filter_customer_in (prefix customer_prefix) {
>        if ! (net ~ customer_prefix) then return false;
>        else return true;
> }
> 
> filter bgp_filter_customer_petrus_in {
>        if (bgp_filter_customer_in(2001:678:3cc::/48)) then accept;
>        else reject "Prefix filtered for petrus";
> }
> 
> 
> protocol bgp bgp_petrus from DOWNSTREAM {
>        local as 204092;
>        description "BGP for petrus";
> 	neighbor 2a00:5884::25 as 206155;
>        import keep filtered;
>        import filter bgp_filter_customer_petrus_in;
> }
> 
> 
> And from another router, we see that:
> bird> show route all protocol bgp_grifon_nominoe
> 2a00:5884::/32     via 2001:7f8:b1::a on eth2 [bgp_grifon_nominoe 12:41:15] (100) [AS204092i]
> 	Type: BGP unicast univ
> 	BGP.origin: IGP
> 	BGP.as_path: 204092
> 	BGP.next_hop: 2001:7f8:b1::a fe80::215:17ff:fe39:f01a
> 	BGP.local_pref: 100
> 2001:678:3cc::/48  via 2001:7f8:b1::a on eth2 [bgp_grifon_nominoe 12:41:15] (100) [AS206155i]
> 	Type: BGP unicast univ
> 	BGP.origin: IGP
> 	BGP.as_path: 204092 206155
> 	BGP.next_hop: 2001:7f8:b1::a fe80::215:17ff:fe39:f01a
> 	BGP.local_pref: 100
> 
> So, we have our prefix with just our ASN, and 2001:678:3cc::/48 with our
> and the customer ASN.
> 
> -- 
> alarig

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20170326/7c416b91/attachment.html>


More information about the Bird-users mailing list