Discussion:
[j-nsp] EVPN with IRB and static routing
Alex D.
2018-04-18 21:50:45 UTC
Permalink
Hello,
in our core network, we have an EVPN with IRB setup on 2 MX480. JUNOS is
17.3R1-S1.6.
Here are the relevant parts of my configuration:

routing-instance:
EVPN_TEST {
instance-type virtual-switch;
route-distinguisher x.x.x.x:1002;
vrf-target target:1002:10;
protocols {
evpn {
extended-vlan-list 10;
default-gateway do-not-advertise;
}
}
bridge-domains {
VLAN-10 {
vlan-id 10;
interface ae10.10;
routing-interface irb.1002;
}
}
}

interfaces:
irb {
unit 1002 {
family inet {
address a.b.c.d/29;
}
mac 84:b5:9c:af:fe:02;
}
}
ae10 {
flexible-vlan-tagging;
encapsulation flexible-ethernet-services;
aggregated-ether-options {
~ snip ~
}
unit 10 {
encapsulation vlan-bridge;
vlan-id 10;
family bridge;
}
}

Both routers PE1 and PE2 have identical setup (apart from the
route-distinguisher). The irb interfaces act as default-gateway for a
firewall cluster connected to ae10 on both PE routers. The firewall
cluster has VRRP configured on it's external interfaces, which is
running fine over EVPN. Connectivity to/from the VRRP IP is given
regardless of whether first or second cluster member is VRRP master. So
far everything is going as expected...
Let's come to my problem now...
On both PE routers, I have static routes for DMZ networks (which resides
behind the firewall) towards the VRRP IP. These DMZ networks are only
reacheable, when the packet arrives over the PE router which has the
VRRP master attached.
Here's an example: VRRP master is attached at PE1. PE2 learns this VRRP
IP via an EVPN type-2 route from PE1. Now, an IP packet for a DMZ host
arrives at PE2 which has a static route pointing to the VRRP IP. PE2
doesn't label-switch the IP ipacket to PE1 (where the next-hop is
connected), but tries to use the local irb as outgoing interface. I hope
my problem description is reasonably understandable.

Based on the observations, the following questions arise for me:
- could my setup work at all, or do I have a basic understanding problem
here ? Most EVPN with IRB examples i found focuses on hosts (and not
firewalls/routers) and therefore doesn't use static routes.
- if my setup should work as described, is there a known bug with EVPN
with IRB and static routing ?
- does someone have a similar, but working setup
If you need more informations, a more detailed and non-anonymized
configurations or some output of show commands, feel free to ask. I will
provide them accordingly.

Thanks in advance.
Regards,
Alex
_______________________________________________
juniper-nsp mailing list juniper-***@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp
Peter Sievers
2018-04-19 08:30:30 UTC
Permalink
Hi Alex,
Post by Alex D.
Here's an example: VRRP master is attached at PE1. PE2 learns this VRRP
IP via an EVPN type-2 route from PE1. Now, an IP packet for a DMZ host
arrives at PE2 which has a static route pointing to the VRRP IP. PE2
doesn't label-switch the IP ipacket to PE1 (where the next-hop is
connected), but tries to use the local irb as outgoing interface. I hope
my problem description is reasonably understandable.
What is the status of the route on PE2?
Post by Alex D.
show route forwarding-table destination a.b.c.d
Is it "hold"?
If yes, try to deactivate CNH for family evpn ingress,
export Host routes via routing policy, install the static route with
the option "resolve" and "longest-match".

Thx,

.peter


_______________________________________________
juniper-nsp mailing list juniper-***@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp
Alex D.
2018-04-19 12:48:50 UTC
Permalink
Hi Peter
Post by Peter Sievers
What is the status of the route on PE2?
The route is "active" and is falsely reacheable via the local irb.1002
a.b.c.d/n *[Static/5] 3d 01:33:57, tag 104
Post by Peter Sievers
to x.x.x.x via irb.1002
Post by Alex D.
show route forwarding-table destination a.b.c.d
Is it "hold"?
Yes it is "hold".
Destination Type RtRef Next hop Type Index NhRef Netif
a.b.c.d/n user 0 x.x.x.x hold 1872 4 irb.1002
Post by Peter Sievers
If yes, try to deactivate CNH for family evpn ingress,
I didn't configure chained-composite-nexthop explicitely, because it is
activated by junos-defaults. How can i deactivate it in this case ?
Post by Peter Sievers
export Host routes via routing policy, install the static route with
the option "resolve" and "longest-match".
I configured the static route with the proposed options. Now it looks as
follows:
Destination Type RtRef Next hop Type Index NhRef Netif
a.b.c.d/n user 0 indr 1048944 2
x.x.x.x hold 1872 3
irb.1002

But which host routes do you mean ? Host routes for the respective DMZ
hosts ?

Regards,
Alex

_______________________________________________
juniper-nsp mailing list juniper-***@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp
Peter Sievers
2018-04-19 12:59:08 UTC
Permalink
Hi Alex,
Post by Alex D.
Post by Peter Sievers
If yes, try to deactivate CNH for family evpn ingress,
I didn't configure chained-composite-nexthop explicitely, because it is
activated by junos-defaults. How can i deactivate it in this case ?
# set routing-option forwarding-table chained-composite-next-hop ingress
no-evpn
Post by Alex D.
But which host routes do you mean ? Host routes for the respective DMZ
hosts ?
With disabling CNH for evpn you decouple L2 and L3 for evpn routes,
therefore the PE which receives an ARP for on specific host on
that LAN segment has to export this host route.

BR,

.peter

_______________________________________________
juniper-nsp mailing list juniper-***@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp
Alex D.
2018-04-19 14:10:53 UTC
Permalink
Hi Peter,
Post by Peter Sievers
With disabling CNH for evpn you decouple L2 and L3 for evpn routes,
therefore the PE which receives an ARP for on specific host on
that LAN segment has to export this host route.
as proposed, i exported host routes with an additional term in my policy:
term evpn-host-routes {
from protocol evpn;
then accept;
}

Now, it seems to work. I will do further testing, but currently it looks
fine.
Many thanks for you hint.
Regards,
Alex

P.S.: Sadly, this behavior is not in mentioned in Juniper documentation
_______________________________________________
juniper-nsp mailing list juniper-***@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp

Alex D.
2018-04-19 12:18:29 UTC
Permalink
Hi Nitzan,
here's a diagramm which shows my current setup:

+------------------+
| MPLS CORE |
+------------------+
| |
| |
+---+ +---+
|P1 | |P2 |
+---+ +---+
| |
| |
.2| VRRP .1 |.3
+------------------------+
| MASTER | |
| +---+ +---+ |
| |FW1| |FW2| |
| +---+ +---+ |
+------------------------+
| |
| |
| |
+------------------+
| DMZ network |
+------------------+


Regards,
Alex
Can you add show evpn database from both MXs
In any case can you try to paste a diagram I am not sure I fully
understand your topology
I have SRX cluster that connect directly to MXs with EVPN VxLAN but I
use two LAG one per SRX (with ESI and virtual-gateway-address ) and I
have static routes and it works well
_______________________________________________
juniper-nsp mailing list juniper-***@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp
Loading...