on
Juniper vMX – MPLS over lt interface
I was wondering if I can run MPLS over OVS, VXLAN tenant networks in Openstack (for example VLAN tagging won’t work in such case, not by default at least, didn’t have an option to test with vlan_transparent setting on network level). Wanted to quickly check it out between a pair of vMXes with static LSPs remembering I can run logical-systems or routing-instances interconnected between themselves with tunnel interface (lt). That works just fine but only with logical-systems.
LS-vmx01 lt-0/0/0.1<–>lt-0/0/0.2 vmx01 ge-0/0/2.0<–>ge-0/0/2.0 vmx02 lt-0/0/0.2<—lt-0/0/0.1 LS-vmx02
vmx01.cfg:
set logical-systems LS interfaces lt-0/0/0 unit 1
set logical-systems LS routing-options static route 1.1.1.0/30 next-hop 2.2.2.2
set chassis fpc 0 pic 0 tunnel-services bandwidth 10g
set chassis fpc 0 lite-mode
set chassis network-services enhanced-ip
set interfaces lt-0/0/0 unit 1 encapsulation ethernet
set interfaces lt-0/0/0 unit 1 peer-unit 2
set interfaces lt-0/0/0 unit 1 family inet address 2.2.2.1/30
set interfaces lt-0/0/0 unit 1 family mpls
set interfaces lt-0/0/0 unit 2 encapsulation ethernet
set interfaces lt-0/0/0 unit 2 peer-unit 1
set interfaces lt-0/0/0 unit 2 family inet address 2.2.2.2/30
set interfaces lt-0/0/0 unit 2 family mpls
set interfaces ge-0/0/2 mtu 1600
set interfaces ge-0/0/2 unit 0 family inet address 192.168.168.22/30
set interfaces ge-0/0/2 unit 0 family mpls
set routing-options static route 1.1.1.0/30 static-lsp-next-hop path-to-lo-vmx01
set protocols mpls static-label-switched-path path-to-lo-vmx01 ingress next-hop 192.168.168.21
set protocols mpls static-label-switched-path path-to-lo-vmx01 ingress to 1.1.1.1
set protocols mpls static-label-switched-path path-to-lo-vmx01 ingress push 1000123
set protocols mpls static-label-switched-path path-from-lo-vmx01 transit 1000124 next-hop 2.2.2.1
set protocols mpls static-label-switched-path path-from-lo-vmx01 transit 1000124 pop
set protocols mpls interface ge-0/0/2.0
set protocols mpls interface lt-0/0/0.2
vmx02.cfg:
set logical-systems LS interfaces lt-0/0/0 unit 1
set logical-systems LS routing-options static route 2.2.2.0/30 next-hop 1.1.1.2
set chassis fpc 0 pic 0 tunnel-services bandwidth 10g
set chassis fpc 0 lite-mode
set chassis network-services enhanced-ip
set interfaces lt-0/0/0 unit 1 encapsulation ethernet
set interfaces lt-0/0/0 unit 1 peer-unit 2
set interfaces lt-0/0/0 unit 1 family inet address 1.1.1.1/30
set interfaces lt-0/0/0 unit 1 family mpls
set interfaces lt-0/0/0 unit 2 encapsulation ethernet
set interfaces lt-0/0/0 unit 2 peer-unit 1
set interfaces lt-0/0/0 unit 2 family inet address 1.1.1.2/30
set interfaces lt-0/0/0 unit 2 family mpls
set interfaces ge-0/0/2 mtu 1600
set interfaces ge-0/0/2 unit 0 family inet address 192.168.168.21/30
set interfaces ge-0/0/2 unit 0 family mpls
set routing-options static route 2.2.2.0/30 static-lsp-next-hop path-to-lo-vmx02
set routing-options static route 1.1.1.0/30 static-lsp-next-hop path-to-lo-vmx01
set protocols mpls static-label-switched-path path-to-lo-vmx02 ingress next-hop 192.168.168.22
set protocols mpls static-label-switched-path path-to-lo-vmx02 ingress to 2.2.2.1
set protocols mpls static-label-switched-path path-to-lo-vmx02 ingress push 1000124
set protocols mpls static-label-switched-path path-from-lo-vmx02 transit 1000123 next-hop 1.1.1.1
set protocols mpls static-label-switched-path path-from-lo-vmx02 transit 1000123 pop
set protocols mpls interface ge-0/0/2.0
set protocols mpls interface lt-0/0/0.2
Main thing here was to set family mpls on lt-0/0/0 units and add lt-0/0/0.2 interface to protocols mpls.
Only after that POP entries appeared in routing and forwarding tables:
inet.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
= Active Route, - = Last Active, * = Both
1.1.1.0/30 *[Direct/0] 00:32:27
> via lt-0/0/0.2
1.1.1.2/32 *[Local/0] 00:32:27
Local via lt-0/0/0.2
2.2.2.0/30 *[Static/5] 00:35:42
to 192.168.168.22 via ge-0/0/2.0, Push 1000124
inet.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
= Active Route, - = Last Active, * = Both
2.2.2.1/32 *[MPLS/6/1] 00:35:42, metric 0
to 192.168.168.22 via ge-0/0/2.0, Push 1000124
mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
= Active Route, - = Last Active, * = Both
1000123 *[MPLS/6] 00:32:27, metric 1
to 1.1.1.1 via lt-0/0/0.2, Pop
1000123(S=0) *[MPLS/6] 00:32:27, metric 1
to 1.1.1.1 via lt-0/0/0.2, Pop
2.2.2.0/30 user 0 10.135.7.22 Push 1000124 613 2 ge-0/0/2.0
1000123 user 0 1.1.1.1 Pop 647 2 lt-0/0/0.2
1000123(S=0) user 0 1.1.1.1 Pop 648 2 lt-0/0/0.2