To circle back to this, it seems to have had to do with my lack of clear comprehension about how subroutines actually work. The behaviour below makes much more sense now.
> On Feb 23, 2019, at 11:53 AM, Wojciech Janiszewski > <[email protected]> wrote: > > Hi Jason, > > "advertise-inactive" makes router to advertise BGP route even if it is not > active. One example is when you have a static and BGP route for the same > prefix. By default, static route is preferred and BGP is marked as inactive. > As such BGP route would not be advertised. By configuring > "advertise-inactive" you can advertise such inactive BGP route. > > HTH, > Wojciech > > > sob., 23 lut 2019, 16:58: Jason Lixfeld via juniper-nsp > <[email protected] <mailto:[email protected]>> napisał(a): > Hello! > > I’m confused about some observations while testing BGP announcements of > inactive routes. I’m hoping someone can offer some clue. > > I have this sample route: > > jlixfeld@mx# run show route table rifoo.inet.0 protocol static 44.44.44.0/21 > <http://44.44.44.0/21> detail > > rifoo.inet.0: 27 destinations, 29 routes (27 active, 0 holddown, 0 hidden) > 44.44.44.0/21 <http://44.44.44.0/21> (1 entry, 1 announced) > *Static Preference: 5 > Next hop type: Discard, Next hop index: 0 > Address: 0x71101cc > Next-hop reference count: 42 > State: <Active NotInstall Int Ext> > Age: 12:24:23 > Validation State: unverified > Task: RT > Announcement bits (1): 2-BGP_RT_Background > AS path: I > Communities: 4444:1001 > > [edit] > jlixfeld@mx# > > My understanding is: > > 1. With advertise-inactive configured, this route should be advertised to an > EBGP neighbor that has no export policy configured. > [ > https://www.juniper.net/documentation/en_US/junos/topics/reference/configuration-statement/advertise-inactive-edit-protocols-bgp.html > > <https://www.juniper.net/documentation/en_US/junos/topics/reference/configuration-statement/advertise-inactive-edit-protocols-bgp.html> > ] > > 2. The BGP default action of 'accept' should not require an accept action in > a policy statement. > [ > https://www.juniper.net/documentation/en_US/junos/topics/concept/policy-routing-policies-actions-defaults.html > > <https://www.juniper.net/documentation/en_US/junos/topics/concept/policy-routing-policies-actions-defaults.html> > ] > > However, neither of these two cases seem to be true, so my understanding is > obviously wrong and I haven’t been able to find any documentation that points > to the difference in behaviour. > > Based on the configuration below, here’s what works and what doesn’t: > > To 4.4.4.4 <http://4.4.4.4/>: 44.44.44.0/21 <http://44.44.44.0/21> is not > announced. > To 5.5.5.5 <http://5.5.5.5/>: 44.44.44.0/21 <http://44.44.44.0/21> is not > announced unless tfoo includes 'then accept' and ANNOUNCE:ANCHOR then {} > includes 'accept' > To 6.6.6.6 <http://6.6.6.6/>: 44.44.44.0/21 <http://44.44.44.0/21> is not > announced unless sfoo ANNOUNCE:ANCHOR then {} includes 'accept' > > routing-instances { > rifoo { > routing-options { > rib rifoo.inet6.0 { > static { > route 2607:4444::/32 { > discard; > no-install; > community 4444:1001; > } > } > } > static { > route 44.44.44.0/21 <http://44.44.44.0/21> { > discard; > no-install; > community 4444:1001; > } > protocols { > bgp { > group gfoo { > type external; > advertise-inactive; > neighbor 4.4.4.4 { > peer-as 5555; > } > neighbor 5.5.5.5 { > export pfoo > peer-as 5555; > } > neighbor 6.6.6.6 { > export sfoo > peer-as 5555; > } > } > } > } > } > } > policy-statement pfoo { > term tfoo { > from policy sfoo > # then accept; > } > } > policy-statement sfoo { > term ANNOUNCE:ANCHOR { > from { > protocol static; > community TYPE:ANCHOR; > } > then { > community delete TYPE:ANCHOR; > # accept; > } > } > } > community TYPE:ANCHOR members 4444:1001; > > Can anyone see what I might be missing here? > > Thanks! > _______________________________________________ > juniper-nsp mailing list [email protected] > <mailto:[email protected]> > https://puck.nether.net/mailman/listinfo/juniper-nsp > <https://puck.nether.net/mailman/listinfo/juniper-nsp> _______________________________________________ juniper-nsp mailing list [email protected] https://puck.nether.net/mailman/listinfo/juniper-nsp

