Manual:Multiple TE VPLS: Difference between revisions
remove test |
|
(One intermediate revision by the same user not shown) | |
(No difference)
|
Latest revision as of 17:05, 12 December 2017
Summary
This article shows how to make multiple TE/VPLS tunnels to the same remote router.
Network Layout
We will create a network consisting of four routers, PE routers has multiple loopback addresses as illustrated in diagram below.
Router Configurations
Connectivity between routers and Loopback addresses
R1
/system identity set name=R1 /interface bridge add name=Loopback /ip address add address=192.168.33.1/30 interface=ether1 add address=192.168.33.14/30 interface=ether2 add address=192.168.10.1/24 interface=ether3 add address=10.255.0.1/32 interface=Loopback add address=10.255.1.1/32 interface=Loopback
R2
/system identity set name=R2 /interface bridge add name=Loopback /ip address add address=192.168.33.2/30 interface=ether1 add address=192.168.33.5/30 interface=ether2 add address=10.255.0.2/32 interface=Loopback
R3
/system identity set name=R3 /interface bridge add name=Loopback /ip address add address=192.168.33.6/30 interface=ether1 add address=192.168.33.9/30 interface=ether2 add address=192.168.20.1/24 interface=ether3 add address=10.255.0.3/32 interface=Loopback add address=10.255.1.3/32 interface=Loopback
R4
/system identity set name=R4 /interface bridge add name=Loopback /ip address add address=192.168.33.10/30 interface=ether1 add address=192.168.33.13/30 interface=ether2 add address=10.255.0.4/32 interface=Loopback
Loopback address reachability
In this setup we will use OSPF dynamic routing protocol to distribute routing information between routers. To successfully complete the setup we need loopback reachability information on every router.
R1
/routing ospf instance set default router-id=10.255.0.1 mpls-te-area=backbone mpls-te-router-id=Loopback /routing ospf network add network=192.168.33.0/24 area=backbone add network=10.255.0.1/32 area=backbone add network=10.255.1.1/32 area=backbone
R2
/routing ospf instance set default router-id=10.255.0.2 mpls-te-area=backbone mpls-te-router-id=Loopback /routing ospf network add network=192.168.33.0/24 area=backbone add network=10.255.0.2/32 area=backbone
R3
/routing ospf instance set default router-id=10.255.0.3 mpls-te-area=backbone mpls-te-router-id=Loopback /routing ospf network add network=192.168.33.0/24 area=backbone add network=10.255.0.3/32 area=backbone add network=10.255.1.1/32 area=backbone
R4
/routing ospf instance set default router-id=10.255.0.4 mpls-te-area=backbone mpls-te-router-id=Loopback /routing ospf network add network=192.168.33.0/24 area=backbone add network=10.255.0.4/32 area=backbone
After OSPF is set up verify that we have correct routing information in routing table of each router:
[admin@R1] /ip route> print Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit # DST-ADDRESS PREF-SRC GATEWAY DISTANCE 0 ADS 0.0.0.0/0 10.5.101.1 1 1 ADC 10.255.0.1/32 10.255.0.1 lo 0 2 ADo 10.255.0.2/32 192.168.33.2 110 3 ADo 10.255.0.3/32 192.168.33.2 110 192.168.33.13 4 ADo 10.255.0.4/32 192.168.33.13 110 5 ADo 10.255.1.3/32 192.168.33.2 110 192.168.33.13 6 ADC 192.168.10.0/30 192.168.10.1 ether3 0 7 ADC 192.168.33.0/30 192.168.33.1 ether1 0 8 ADo 192.168.33.4/30 192.168.33.2 110 9 ADo 192.168.33.8/30 192.168.33.13 110 10 ADC 192.168.33.12/30 192.168.33.14 ether2 0
Setting Resource Reservation
Next step is to set up TE resource for every interface on which we might want to run TE tunnel.
Configuration on all the routers are the same:
/mpls traffic-eng interface add interface=ether1 bandwidth=10Mbps add interface=ether2 bandwidth=10Mbps
Since we are not using real bandwidth limitation on the tunnels in this example, bandwidth parameter is only used for administrative purposes and can be any value (it does not represent how much bandwidth will actually flow through the interface).
TE tunnel setup
R1
/mpls traffic-eng tunnel-path add name=dyn /interface traffic-eng add bandwidth=5Mbps name=TE1-to-R3 to-address=10.255.0.3 primary-path=dyn \ record-route=yes from-address=10.255.0.1 add bandwidth=5Mbps name=TE2-to-R3 to-address=10.255.1.3 primary-path=dyn \ record-route=yes from-address=10.255.1.1
R3
/mpls traffic-eng tunnel-path add name=dyn /interface traffic-eng add bandwidth=5Mbps name=TE1-to-R1 to-address=10.255.0.1 primary-path=dyn \ record-route=yes from-address=10.255.0.3 add bandwidth=5Mbps name=TE2-to-R1 to-address=10.255.1.1 primary-path=dyn \ record-route=yes from-address=10.255.1.3
Verify that TE tunnels are working
[admin@R1] /interface traffic-eng> monitor 0 tunnel-id: 14 primary-path-state: established primary-path: dyn secondary-path-state: not-necessary active-path: dyn active-lspid: 1 active-label: 39 explicit-route: S:192.168.33.2/32,S:192.168.33.5/32,S:192.168.33.6/32 reserved-bandwidth: 5.0Mbps
Create BGP peers
We need to make BGP peer per each loopback set, each peer will use its own instance.
R1
/routing bgp instance set default router-id=10.255.0.1 add name=inst2 router-id=10.255.1.1 as=65530 /routing bgp peer add toR3L1 remote-address=10.255.0.3 remote-as=65530 update-source=10.255.0.1 address-families=l2vpn in-filter=l2vpn-in1 add toR3L2 remote-address=10.255.1.3 remote-as=65530 update-source=10.255.1.1 address-families=l2vpn in-filter=l2vpn-in2
R3
/routing bgp instance set default router-id=10.255.0.3 add name=inst2 router-id=10.255.1.3 as=65530 /routing bgp peer add toR1L1 remote-address=10.255.0.1 remote-as=65530 update-source=10.255.0.3 address-families=l2vpn in-filter=l2vpn-in1 add toR1L2 remote-address=10.255.1.1 remote-as=65530 update-source=10.255.1.3 address-families=l2vpn in-filter=l2vpn-in2
Set up BGP VPLS and Routing Filters
Next step is to set up BGP VPLS. Since BGP VPLS is advertised on all intstances and all peers, we need to filter out unnecessary advertisements for each peer. In this case BGP VPLS with RT 1:1 will go over first BGP peer, and RT 1:2 will go over second BGP peer.
R1
/interface vpls bgp-vpls add export-route-target=1:1 import-route-target=1:1 name=01 add export-route-target=1:2 import-route-target=1:2 name=11 /routing filter add action=discard chain=l2vpn-in1 invert-match=yes route-targets=1:1 add action=discard chain=l2vpn-in2 invert-match=yes route-targets=1:2
R3
/interface vpls bgp-vpls add export-route-target=1:1 import-route-target=1:1 name=01 add export-route-target=1:2 import-route-target=1:2 name=11 /routing filter add action=discard chain=l2vpn-in1 invert-match=yes route-targets=1:1 add action=discard chain=l2vpn-in2 invert-match=yes route-targets=1:2
Now there should be two dynamic VPLS tunnels, each goes over its own TE
[admin@R1] /interface vpls> print Flags: X - disabled, R - running, D - dynamic, B - bgp-signaled, C - cisco-bgp-signaled 0 RDB name="vpls8" mtu=1500 l2mtu=1500 mac-address=02:2D:13:3B:73:80 arp=enable> arp-timeout=auto disable-running-check=no remote-peer=10.255.0.3 cisco-style=no cisco-style-id=0 advertised-l2mtu=1500 pw-type=raw-ethernet use-control-word=yes vpls=01 1 RDB name="vpls9" mtu=1500 l2mtu=1500 mac-address=02:D1:CC:3F:65:73 arp=enable> arp-timeout=auto disable-running-check=no remote-peer=10.255.1.3 cisco-style=no cisco-style-id=0 advertised-l2mtu=1500 pw-type=raw-ethernet use-control-word=yes vpls=11 [admin@R1] /interface vpls> monitor vpls8 remote-label: 33 local-label: 34 remote-status: transport: TE1-to-R3 imposed-labels: 0,33 [admin@R1] /interface vpls> monitor vpls9 remote-label: 17 local-label: 18 remote-status: transport: TE2-to-R3 imposed-labels: 0,17
See More
[ Top | Back to Content ]