To deal with this on MX stuff a way that looked like we did previously on 
Redback gears (old beast but at least on them this «just works» with double 
lookup), we use a «third part« VRF. This is a dedicated empty VRF on each 
router with only a bunch of static next-table routes. It is a no-vrf-advertise 
VRF (config knob normally used in hub and spoke architectures), so it doesn't 
export its content toward other PEs , but only locally (auto-export).

Each time we have a discard route in an origin VRF that we need to import in 
some other VRF (local or not, but let's say local), we create a copy of this 
route in this special VRF, with a next-hop attribute instead of the discard, 
and a special community.
This is this route that is finally imported by other various local VRFs using 
auto-export (so the import policy is the same for all routes for any MPLS VPN, 
local routes or not).

Additionally:
- all the normal VRFs have a first term in their export policy to prevent the 
re-export of those special imported routes (based on the special community – 
this is because no-vrf-advertise imported routes become exportable to other PEs 
once locally imported in another VRF using auto-export).
- in all our import policies, importing static (but also aggregate, in fact all 
but bgp), get its preference changed to more than 5 (default static preference 
– we use 168 but whatever), so once the next-hop route is imported in the VRF 
that contains the former discard route, no route loop ensues (the next-hop 
route is Inactive because of Route Preference).

Toward the other PEs, the «true» discard route is exported from its VRF.


In importing VRFs, the imported next-hop route wins over the imported discard 
route (Inactive reason: Number of gateways).


The goals behind all this stuff were to:
- avoid creating a next-hop route in each VRF that needed the route
- keep the same import/export policy standards for about all the VRFs
- use the same conf whatever the null/discard route is to be imported in local 
or distant VRFs (no difference like on IOS/SEOS and so on)
- use auto-export, so no need for ribgroups (much closer to what was done on 
other vendors gears)


> Le 10 févr. 2020 à 04:50, Nathan Ward <[email protected]> a écrit :
> 
> Sure - there’s a number of solutions like that available. LT, next-table 
> routes, etc. LT means more processing than a next-table, but in some ways is 
> a bit less fiddly.
> 
> I’m hoping there’s a way to bypass this entirely - making packets following 
> imported routes work the same whether the exporter of the route is local or 
> remote.
> 
>> On 10/02/2020, at 4:27 PM, Larry Jones <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Try a tunnel (lt) interface.
>> 
>> 
>> -------- Original message --------
>> From: Nathan Ward <[email protected]>
>> Date: 2/9/20 6:08 PM (GMT-09:00)
>> To: Juniper NSP <[email protected]>
>> Subject: [j-nsp] Next-table, route leaking, etc.
>> 
>> Hi all,
>> 
>> Something that’s always bugged me about JunOS, is when you import a route 
>> from another VRF on JunOS, the attributes follow it - i.e. if it is a 
>> discard route, you get a discard route imported.
>> (Maybe this happens on other platforms, I honestly can’t remember, it’s been 
>> a while..)
>> 
>> This is an issue where you have a VRF with say a full table in it, and want 
>> to generate a default discard for other VRFs to import if they want internet 
>> access. Works great if the VRF importing it is on a different PE, but, if 
>> it’s local it simply gets a discard route, so packets get dropped rather 
>> than doing a second lookup.
>> 
>> You can solve this, sort of, with a next-table route, but things can get a 
>> little messy, so hoping for something more elegant.
>> 
>> I’m trying to figure out if there’s a better way to do this, i.e. to make it 
>> as though packets following leaked routes behave as though they are from a 
>> different router.
>> 
>> Anyone got any magic tricks I’ve somehow missed?

_______________________________________________
juniper-nsp mailing list [email protected]
https://puck.nether.net/mailman/listinfo/juniper-nsp

Reply via email to