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: mich...@winkstreaming.com <mailto:mich...@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 <ala...@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