Objectives:
- IP 40.40.40.40 can be pinged from C1 and C2.
- C1 can ping to C3, vice versa.
enugadi@SRLAB1# run ping 10.10.10.10 logical-router C3
PING 10.10.10.10 (10.10.10.10): 56 data bytes
64 bytes from 10.10.10.10: icmpseq=0 ttl=63 time=0.863 ms
64 bytes from 10.10.10.10: icmpseq=1 ttl=63 time=0.844 ms
64 bytes from 10.10.10.10: icmpseq=2 ttl=63 time=0.865 ms
C
—- 10.10.10.10 ping statistics—-
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.844/0.857/0.865/0.009 ms
[edit]
enugadi@SRLAB1# run ping 30.30.30.30 logical-router C1
PING 30.30.30.30 (30.30.30.30): 56 data bytes
64 bytes from 30.30.30.30: icmpseq=0 ttl=63 time=0.856 ms
64 bytes from 30.30.30.30: icmpseq=1 ttl=63 time=0.838 ms
64 bytes from 30.30.30.30: icmpseq=2 ttl=63 time=0.875 ms
64 bytes from 30.30.30.30: icmpseq=3 ttl=63 time=0.850 ms
C
—- 30.30.30.30 ping statistics—-
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.838/0.855/0.875/0.013 ms
enugadi@SRLAB1# run ping 40.40.40.40 logical-router C1
PING 40.40.40.40 (40.40.40.40): 56 data bytes
64 bytes from 40.40.40.40: icmpseq=0 ttl=61 time=0.890 ms
64 bytes from 40.40.40.40: icmpseq=1 ttl=61 time=0.856 ms
64 bytes from 40.40.40.40: icmpseq=2 ttl=61 time=0.864 ms
64 bytes from 40.40.40.40: icmpseq=3 ttl=61 time=3.294 ms
C
—- 40.40.40.40 ping statistics—-
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.856/1.476/3.294/1.050 ms
[edit]
enugadi@SRLAB1# run ping 40.40.40.40 logical-router C3
PING 40.40.40.40 (40.40.40.40): 56 data bytes
64 bytes from 40.40.40.40: icmpseq=0 ttl=61 time=0.860 ms
64 bytes from 40.40.40.40: icmpseq=1 ttl=61 time=0.860 ms
64 bytes from 40.40.40.40: icmpseq=2 ttl=61 time=0.898 ms
64 bytes from 40.40.40.40: icmp_seq=3 ttl=61 time=0.867 ms
C
—- 40.40.40.40 ping statistics—-
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.860/0.871/0.898/0.016 ms
enugadi@SRLAB1# run traceroute 40.40.40.40 logical-router C1
traceroute to 40.40.40.40 (40.40.40.40), 30 hops max, 40 byte packets
1 10.0.0.1 (10.0.0.1) 0.746 ms 0.706 ms 0.676 ms
2 11.0.0.2 (11.0.0.2) 0.905 ms 0.898 ms 0.902 ms
MPLS Label=100016 CoS=0 TTL=1 S=1
3 40.40.40.40 (40.40.40.40) 0.797 ms 0.798 ms 0.775 ms
4 40.40.40.40 (40.40.40.40) 0.802 ms 0.814 ms 0.818 ms
[edit]
enugadi@SRLAB1# run traceroute 40.40.40.40 logical-router C3
traceroute to 40.40.40.40 (40.40.40.40), 30 hops max, 40 byte packets
1 15.0.0.1 (15.0.0.1) 0.748 ms 0.716 ms 0.677 ms
2 11.0.0.2 (11.0.0.2) 0.900 ms 0.909 ms 0.882 ms
MPLS Label=100016 CoS=0 TTL=1 S=1
3 40.40.40.40 (40.40.40.40) 0.784 ms 0.865 ms 0.783 ms
4 40.40.40.40 (40.40.40.40) 0.793 ms 0.816 ms 0.803 ms
enugadi@SRLAB1# run show route logical-router R1 table vrf-a
vrf-a.inet.0: 9 destinations, 9 routes (9 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
10.0.0.0/30 [Direct/0] 00:17:17
> via lt-1/2/0.3
10.0.0.1/32 *[Local/0] 00:19:31
Local via lt-1/2/0.3
10.10.10.10/32 *[Static/5] 00:11:20
> to 10.0.0.2 via lt-1/2/0.3
12.0.0.0/30 *[BGP/170] 00:01:49, localpref 100, from 2.2.2.2
AS path: I
> to 11.0.0.2 via lt-1/2/0.4, label-switched-path to-R2
15.0.0.0/30 *[Direct/0] 00:11:20
> via lt-1/2/0.10
15.0.0.1/32 *[Local/0] 00:01:49
Local via lt-1/2/0.10
20.20.20.20/32 *[BGP/170] 00:01:49, localpref 100, from 2.2.2.2
AS path: I
> to 11.0.0.2 via lt-1/2/0.4, label-switched-path to-R2
30.30.30.30/32 *[Static/5] 00:11:19
> to 15.0.0.2 via lt-1/2/0.10
40.40.40.40/32 *[Static/5] 00:11:20
to table vrf-b.inet.0
[edit]
enugadi@SRLAB1# run show route logical-router R1 table vrf-b
vrf-b.inet.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
10.0.0.0/30 *[Direct/0] 00:11:23
> via lt-1/2/0.3
10.0.0.1/32 *[Local/0] 00:01:52
Local via lt-1/2/0.3
10.10.10.10/32 *[Static/5] 00:11:22
> to 10.0.0.2 via lt-1/2/0.3
14.0.0.0/30 *[BGP/170] 00:01:52, localpref 100, from 2.2.2.2
AS path: I
> to 11.0.0.2 via lt-1/2/0.4, label-switched-path to-R2
15.0.0.0/30 [Direct/0] 00:17:20
> via lt-1/2/0.10
15.0.0.1/32 *[Local/0] 00:19:34
Local via lt-1/2/0.10
30.30.30.30/32 *[Static/5] 00:17:20
> to 15.0.0.2 via lt-1/2/0.10
40.40.40.40/32 *[BGP/170] 00:01:52, MED 1, localpref 100, from 2.2.2.2
AS path: I
> to 11.0.0.2 via lt-1/2/0.4, label-switched-path to-R2
Complete configuration in R1.
enugadi@SRLAB1# show logical-routers R1
interfaces {
lt-1/2/0 {
unit 3 {
encapsulation ethernet;
peer-unit 2;
family inet {
address 10.0.0.1/30;
}
}
unit 4 {
encapsulation ethernet;
peer-unit 5;
family inet {
address 11.0.0.1/30;
}
family mpls;
}
unit 10 {
encapsulation frame-relay;
dlci 10;
peer-unit 11;
family inet {
address 15.0.0.1/30;
}
}
}
vt-1/2/0 {
unit 101 {
family inet;
family mpls;
}
unit 103 {
family inet;
family mpls;
}
unit 105 {
family inet;
family mpls;
}
}
lo0 {
unit 105 {
family inet {
address 1.1.1.1/32;
}
}
}
}
protocols {
rsvp {
interface lt-1/2/0.4;
}
mpls {
label-switched-path to-R2 {
to 2.2.2.2;
no-cspf;
}
interface lt-1/2/0.4;
}
bgp {
group internal {
type internal;
local-address 1.1.1.1;
family inet-vpn {
unicast;
}
export test;
neighbor 2.2.2.2;
}
}
ospf {
area 0.0.0.0 {
interface lt-1/2/0.4;
interface lo0.105;
}
}
}
policy-options {
policy-statement bgp-route {
term 1 {
from protocol [ bgp static direct ];
then accept;
}
term 2 {
then reject;
}
}
policy-statement test {
term 1 {
from {
route-filter 10.10.10.10/32 exact;
}
then accept;
}
}
policy-statement vrf-a-export {
term 1 {
from {
protocol [ static direct ];
interface lt-1/2/0.3;
}
then {
community add vrf-a;
accept;
}
}
term 2 {
then reject;
}
}
policy-statement vrf-a-import {
term 1 {
from {
protocol bgp;
community vrf-a;
}
then accept;
}
term 2 {
then reject;
}
}
policy-statement vrf-b-export {
term 1 {
from protocol [ static direct ];
then {
community add vrf-b;
accept;
}
}
term 2 {
then reject;
}
}
policy-statement vrf-b-import {
term 1 {
from {
protocol bgp;
community vrf-b;
}
then accept;
}
term 2 {
then reject;
}
}
community vrf-a members target:65000:1;
community vrf-b members target:65000:2;
}
routing-instances {
vrf-a {
instance-type vrf;
interface lt-1/2/0.3;
interface vt-1/2/0.101;
route-distinguisher 1:1;
vrf-import vrf-a-import;
vrf-export vrf-a-export;
routing-options {
interface-routes {
rib-group inet vrf-aab;
}
static {
route 10.10.10.10/32 next-hop 10.0.0.2;
route 30.30.30.30/32 next-hop 15.0.0.2;
route 40.40.40.40/32 next-table vrf-b.inet.0;
}
}
}
vrf-b {
instance-type vrf;
interface lt-1/2/0.10;
interface vt-1/2/0.103;
route-distinguisher 1:2;
vrf-import vrf-b-import;
vrf-export vrf-b-export;
routing-options {
interface-routes {
rib-group inet vrf-bab;
}
static {
route 30.30.30.30/32 next-hop 15.0.0.2;
route 10.10.10.10/32 next-hop 10.0.0.2;
}
}
}
}
routing-options {
rib-groups {
vrf-aab {
import-rib [ vrf-a.inet.0 vrf-b.inet.0 ];
}
vrf-bab {
import-rib [ vrf-b.inet.0 vrf-a.inet.0 ];
}
}
autonomous-system 65000;
}

