Configuring EVPN VPWS over SRv6 with Traffic Engineering
Starting in Junos OS Evolved 24.2R1, the ACX7000 family of routers support configuring EVPN VPWS over SRv6TE tunnels without fallback support. While EVPN services do not support the fallback switchover of routes, you can configure segment routing policies to support a backup secondary path. If the primary path becomes blocked, the device will use the secondary path as backup.
In Figure 1, we have a topology with two possible paths from CE1 to CE4. The basic steps for configuring EVPN VPWS over SRv6 with traffic engineering on the ingress device (PE1) is as follow.
Configure the node locator SID within the IS-IS protocol.
protocols { isis { source-packet-routing { srv6 { locator One micro-node-sid; } } } }
Configure EVPN-VPWS services.
routing-instances { evpn-vpws1 { instance-type evpn-vpws; protocols { evpn { interface ae0.1 { vpws-service-id { local 111; remote 555; source-packet-routing { srv6 locator one; } } } } } interface ae0.1; route-distinguisher 10.255.1.1:1; vrf-export transport-class-vrf-export-evpn1; } }
Configure support for micro-SID and SRv6.
routing-options { source-packet-routing { srv6 { locator one{ 2001:db8:a1::/48; micro-sid; }
Define the transport class at the ingress or egress node. For this example, we define a gold transport class and assign community value.
routing-options { transport-class { auto-create; name transport-class-gold { color 100; } } }
Configure import or export policies to route traffic. For this example, we use an export policy.
policy-statement transport-class-vrf-export-evpn1 { term a { then { community add transport-class-gold; community add transport-class-route-target1; accept; } } term b { then reject; } } community transport-class-gold members color:0:100; community transport-class-route-target1 members target:100:1;
Configure source path route to the remote device and the hops for the primary and secondary paths.
Note:Use the loopback address of the remote device for the tunnel endpoint.
source-packet-routing { segment-list sl-primary { srv6; hop-1 { micro-srv6-sid { 2001:db8:a1:2222::; } } hop-2 { micro-srv6-sid { 2001:db8:a1:3333::; } } hop-3 { micro-srv6-sid { 2001:db8:a1:5555::; } } } segment-list sl-secondary { srv6; hop-s1 { micro-srv6-sid { 2001:db8:a1:6666::; } } hop-s2 { micro-srv6-sid { 2001:db8:a1:5555::; } } } source-routing-path sr-path-CE4 { srv6; to 2001:db8:a1:44:44:44:44:44; color 100; primary { sl-primary; } secondary { sl-secondary; } } }