Example: OpenFlow Traffic Steering Across MPLS Networks Using MPLS LSP Tunnel Cross-Connects
On MX Series routers that support OpenFlow, you can direct traffic from OpenFlow networks over MPLS networks by using logical tunnel interfaces and MPLS LSP tunnel cross-connects. This example shows how to configure MX Series routers to send traffic between two remote OpenFlow networks over an MPLS-based network using MPLS LSP tunnel cross-connects.
Requirements
This example uses the following hardware and software components for the OpenFlow-enabled routers:
MX240 routers running Junos OS Release 13.3 or a later release.
OpenFlow software package with a software package release that matches the Junos OS release of the device on which it is installed
TCP connection between the router and an OpenFlow controller
Connection between the fxp0 management interface of the router and the management network, which is reachable from the controller IP address
Overview
In this example, you configure MPLS LSP tunnel cross-connects to connect two remote OpenFlow networks that are separated by an MPLS network. Figure 1 shows the topology used in this example.
This example has three routers: a provider router (P) and two provider edge routers (PE1 and PE2). Router P resides within an MPLS network. Routers PE1 and PE2 are OpenFlow-enabled routers, each with the ge-1/0/0.0 interface configured to accept and forward OpenFlow traffic and two MPLS interfaces that connect to Router P. The network uses OSPF as the IPG, and it has two LSPs: LSP 1-3 routes traffic from PE1 to PE2, and LSP 3-1 routes traffic from PE2 to PE1.
You stitch the OpenFlow interface to the MPLS LSP using two logical tunnel interfaces, lt-1/1/10.0 and lt-1/1/10.100. You configure the first logical tunnel interface, lt-1/1/10.0, as a Layer 2 interface with encapsulation ethernet-bridge
and family bridge
. This interface participates in OpenFlow. The second logical tunnel interface, lt-1/1/10.100, uses circuit cross-connect (CCC) encapsulation. You configure lt-1 and lt-2 interfaces as peers, so that traffic entering one logical interface is automatically directed to the second logical interface.
On the PE1 and PE2 routers, you configure an MPLS LSP tunnel cross-connect at the [edit protocols connections remote-interface-switch]
hierarchy level using the logical tunnel interface with CCC encapsulation. This configuration makes an association between the CCC interface and two LSPs, one for transmitting MPLS packets from the local device to the remote device and the other for receiving MPLS packets on the local device from the remote device.
For traffic flowing from PE1 to PE2, the OpenFlow controller must install flow entries on PE1 that direct the desired OpenFlow traffic from ge-1/0/0.0 as the OpenFlow ingress port to lt-1/1/10.0 as the output port. On PE2, the OpenFlow controller must install flow entries that direct the OpenFlow traffic from lt-1/1/10.0 as the OpenFlow ingress port to ge-1/0/0.0 as the output port. Similarly, for traffic flowing from PE2 to PE1, the OpenFlow controller must install flow entries on PE2 that direct the desired OpenFlow traffic from ge-1/0/0.0 as the OpenFlow ingress port to lt-1/1/10.0 as the output port. On PE1, the OpenFlow controller must install flow entries that direct the OpenFlow traffic from lt-1/1/10.0 as the OpenFlow ingress port to ge-1/1/0.0 as the output port.
Topology
Configuration
- CLI Quick Configuration
- Configuring the Ingress Provider Edge Router (PE1)
- Configuring the Provider Router (P)
- Configuring the Egress Provider Edge Router (PE2)
CLI Quick Configuration
To quickly configure this example, copy the following commands, paste them into a
text file, remove any line breaks, change any details necessary to match your
network configuration, copy and paste the commands into the CLI at the
[edit]
hierarchy level, and then enter
commit
from configuration mode.
Device PE1
set chassis fpc 1 pic 1 tunnel-services bandwidth 1g set interfaces ge-1/0/0 encapsulation ethernet-bridge set interfaces ge-1/0/0 unit 0 family bridge set interfaces ge-1/1/0 unit 0 family inet address 10.10.0.1/24 set interfaces ge-1/1/0 unit 0 family mpls set interfaces ge-1/1/1 unit 0 family inet address 10.10.1.1/24 set interfaces ge-1/1/1 unit 0 family mpls set interfaces lt-1/1/10 unit 0 encapsulation ethernet-bridge set interfaces lt-1/1/10 unit 0 peer-unit 100 set interfaces lt-1/1/10 unit 0 family bridge set interfaces lt-1/1/10 unit 100 encapsulation ethernet-ccc set interfaces lt-1/1/10 unit 100 peer-unit 0 set interfaces lt-1/1/10 unit 100 family ccc set interfaces lo0 unit 0 family inet address 10.1.1.1/32 set protocols rsvp interface ge-1/1/0.0 set protocols rsvp interface ge-1/1/1.0 set protocols mpls label-switched-path 1-3 from 10.1.1.1 set protocols mpls label-switched-path 1-3 to 10.3.3.3 set protocols mpls interface ge-1/1/0.0 set protocols mpls interface ge-1/1/1.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface ge-1/1/0.0 set protocols ospf area 0.0.0.0 interface ge-1/1/1.0 set protocols connections remote-interface-switch 1-3-ccc interface lt-1/1/10.100 set protocols connections remote-interface-switch 1-3-ccc transmit-lsp 1-3 set protocols connections remote-interface-switch 1-3-ccc receive-lsp 3-1 set protocols openflow switch s1 interfaces ge-1/0/0.0 port-id 1 set protocols openflow switch s1 interfaces lt-1/1/10.0 port-id 2 set protocols openflow switch s1 controller protocol tcp port 6633 set protocols openflow switch s1 controller address 10.94.175.213 set routing-instances r1 instance-type virtual-switch set routing-instances r1 bridge-domains bd1 interface ge-1/0/0.0 set routing-instances r1 bridge-domains bd1 interface lt-1/1/10.0 set routing-options router-id 10.1.1.1
Device P
set interfaces ge-1/1/0 unit 0 family inet address 10.10.0.2/24 set interfaces ge-1/1/0 unit 0 family mpls set interfaces ge-1/1/1 unit 0 family inet address 10.10.1.2/24 set interfaces ge-1/1/1 unit 0 family mpls set interfaces ge-1/1/2 unit 0 family inet address 10.10.2.2/24 set interfaces ge-1/1/2 unit 0 family mpls set interfaces ge-1/1/3 unit 0 family inet address 10.10.3.2/24 set interfaces ge-1/1/3 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.2.2.2/32 set protocols rsvp interface ge-1/1/0.0 set protocols rsvp interface ge-1/1/1.0 set protocols rsvp interface ge-1/1/2.0 set protocols rsvp interface ge-1/1/3.0 set protocols mpls interface ge-1/1/0.0 set protocols mpls interface ge-1/1/1.0 set protocols mpls interface ge-1/1/2.0 set protocols mpls interface ge-1/1/3.0 set protocols mpls interface lo0.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ospf area 0.0.0.0 interface ge-1/1/0.0 set protocols ospf area 0.0.0.0 interface ge-1/1/1.0 set protocols ospf area 0.0.0.0 interface ge-1/1/2.0 set protocols ospf area 0.0.0.0 interface ge-1/1/3.0 set protocols ospf area 0.0.0.0 interface lo0.0 set routing-options router-id 10.2.2.2
Device PE2
set chassis fpc 1 pic 1 tunnel-services bandwidth 1g set interfaces ge-1/0/0 encapsulation ethernet-bridge set interfaces ge-1/0/0 unit 0 family bridge set interfaces ge-1/1/2 unit 0 family inet address 10.10.2.3/24 set interfaces ge-1/1/2 unit 0 family mpls set interfaces ge-1/1/3 unit 0 family inet address 10.10.3.3/24 set interfaces ge-1/1/3 unit 0 family mpls set interfaces lt-1/1/10 unit 0 encapsulation ethernet-bridge set interfaces lt-1/1/10 unit 0 peer-unit 100 set interfaces lt-1/1/10 unit 0 family bridge set interfaces lt-1/1/10 unit 100 encapsulation ethernet-ccc set interfaces lt-1/1/10 unit 100 peer-unit 0 set interfaces lt-1/1/10 unit 100 family ccc set interfaces lo0 unit 0 family inet address 10.3.3.3/32 set protocols rsvp interface ge-1/1/2.0 set protocols rsvp interface ge-1/1/3.0 set protocols mpls label-switched-path 3-1 from 10.3.3.3 set protocols mpls label-switched-path 3-1 to 10.1.1.1 set protocols mpls interface ge-1/1/2.0 set protocols mpls interface ge-1/1/3.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface ge-1/1/2.0 set protocols ospf area 0.0.0.0 interface ge-1/1/3.0 set protocols connections remote-interface-switch 3-1-ccc interface lt-1/1/10.100 set protocols connections remote-interface-switch 3-1-ccc transmit-lsp 3-1 set protocols connections remote-interface-switch 3-1-ccc receive-lsp 1-3 set protocols openflow switch s1 interfaces ge-1/0/0.0 port-id 1 set protocols openflow switch s1 interfaces lt-1/1/10.0 port-id 2 set protocols openflow switch s1 controller protocol tcp port 6633 set protocols openflow switch s1 controller address 10.94.175.213 set routing-instances r1 instance-type virtual-switch set routing-instances r1 bridge-domains bd1 interface ge-1/0/0.0 set routing-instances r1 bridge-domains bd1 interface lt-1/1/10.0 set routing-options router-id 10.3.3.3
Configuring the Ingress Provider Edge Router (PE1)
Step-by-Step Procedure
To configure Router PE1:
Create tunnel interfaces by configuring the DPC and its corresponding PIC to use tunneling services.
[edit] user@PE1# set chassis fpc 1 pic 1 tunnel-services bandwidth 1g
Configure the OpenFlow interface as a Layer 2 interface.
[edit interfaces] user@PE1# set ge-1/0/0 encapsulation ethernet-bridge user@PE1# set ge-1/0/0 unit 0 family bridge
Configure the OpenFlow virtual switch routing instance.
[edit] user@PE1# set routing-instances r1 instance-type virtual-switch user@PE1# set routing-instances r1 bridge-domains bd1 interface ge-1/0/0.0 user@PE1# set routing-instances r1 bridge-domains bd1 interface lt-1/1/10.0
Configure the OpenFlow controller.
[edit protocols openflow] user@PE1# set switch s1 controller address 10.94.175.213 user@PE1# set switch s1 controller protocol tcp port 6633
Configure the interfaces participating in OpenFlow.
[edit protocols openflow] user@PE1# set switch s1 interfaces ge-1/0/0.0 port-id 1 user@PE1# set switch s1 interfaces lt-1/1/10.0 port-id 2
Configure the loopback interface and router ID.
[edit] user@PE1# set interfaces lo0 unit 0 family inet address 10.1.1.1/32 user@PE1# set routing-options router-id 10.1.1.1
Configure the MPLS interfaces.
[edit interfaces] user@PE1# set ge-1/1/0 unit 0 family inet address 10.10.0.1/24 user@PE1# set ge-1/1/0 unit 0 family mpls user@PE1# set ge-1/1/1 unit 0 family inet address 10.10.1.1/24 user@PE1# set ge-1/1/1 unit 0 family mpls
Configure the logical tunnel interface.
[edit interfaces] user@PE1# set lt-1/1/10 unit 0 family bridge user@PE1# set lt-1/1/10 unit 0 encapsulation ethernet-bridge user@PE1# set lt-1/1/10 unit 0 peer-unit 100 user@PE1# set lt-1/1/10 unit 100 family ccc user@PE1# set lt-1/1/10 unit 100 encapsulation ethernet-ccc user@PE1# set lt-1/1/10 unit 100 peer-unit 0
Enable RSVP, MPLS, and OSPF on the interfaces connected to Router P.
[edit protocols] user@PE1# set rsvp interface ge-1/1/0.0 user@PE1# set rsvp interface ge-1/1/1.0 user@PE1# set mpls interface ge-1/1/0.0 user@PE1# set mpls interface ge-1/1/1.0 user@PE1# set ospf area 0.0.0.0 interface ge-1/1/0.0 user@PE1# set ospf area 0.0.0.0 interface ge-1/1/1.0
Enable traffic engineering for OSPF.
[edit protocols] user@PE1# set ospf traffic-engineering
Configure the MPLS LSP from PE1 to PE2.
[edit protocols] user@PE1# set mpls label-switched-path 1-3 from 10.1.1.1 user@PE1# set mpls label-switched-path 1-3 to 10.3.3.3
Configure the MPLS LSP tunnel cross-connects.
[edit protocols] user@PE1# set connections remote-interface-switch 1-3-ccc interface lt-1/1/10.100 user@PE1# set connections remote-interface-switch 1-3-ccc transmit-lsp 1-3 user@PE1# set connections remote-interface-switch 1-3-ccc receive-lsp 3-1
Commit the configuration.
[edit] user@PE1# commit
Results
From configuration mode, confirm your configuration by entering the show
command. If the output does not display the intended configuration, repeat the configuration instructions in this example to correct it. For brevity, this show
command output includes only the configuration that is relevant to this example. Any other configuration on the system has been replaced with ellipses (...).
chassis { fpc 1 { pic 1 { tunnel-services { bandwidth 1g; } } } } interfaces { ge-1/0/0 { encapsulation ethernet-bridge; unit 0 { family bridge; } } ge-1/1/0 { unit 0 { family inet { address 10.10.0.1/24; } family mpls; } } ge-1/1/1 { unit 0 { family inet { address 10.10.1.1/24; } family mpls; } } lt-1/1/10 { unit 0 { encapsulation ethernet-bridge; peer-unit 100; family bridge; } unit 100 { encapsulation ethernet-ccc; peer-unit 0; family ccc; } } lo0 { unit 0 { family inet { address 10.1.1.1/32; } } } } protocols { rsvp { interface ge-1/1/0.0; interface ge-1/1/1.0; } mpls { label-switched-path 1-3 { from 10.1.1.1; to 10.3.3.3; } interface ge-1/1/0.0; interface ge-1/1/1.0; } ospf { traffic-engineering; area 0.0.0.0 { interface ge-1/1/0.0; interface ge-1/1/1.0; } } connections { remote-interface-switch 1-3-ccc { interface lt-1/1/10.100; transmit-lsp 1-3; receive-lsp 3-1; } } openflow { switch s1 { interfaces { ge-1/0/0.0 port-id 1; lt-1/1/10.0 port-id 2; } controller { protocol { tcp { port 6633; } } address 10.94.175.213; } } } } routing-instances { r1 { instance-type virtual-switch; bridge-domains { bd1 { interface ge-1/0/0.0; interface lt-1/1/10.0; } } } } routing-options { router-id 10.1.1.1; } ...
Configuring the Provider Router (P)
Step-by-Step Procedure
To configure Router P:
Configure the loopback interface and router ID.
[edit] user@P# set interfaces lo0 unit 0 family inet address 10.2.2.2/32 user@P# set routing-options router-id 10.2.2.2
Configure the MPLS interfaces.
[edit interfaces] user@P# set ge-1/1/0 unit 0 family inet address 10.10.0.2/24 user@P# set ge-1/1/0 unit 0 family mpls user@P# set ge-1/1/1 unit 0 family inet address 10.10.1.2/24 user@P# set ge-1/1/1 unit 0 family mpls user@P# set ge-1/1/2 unit 0 family inet address 10.10.2.2/24 user@P# set ge-1/1/2 unit 0 family mpls user@P# set ge-1/1/3 unit 0 family inet address 10.10.3.2/24 user@P# set ge-1/1/3 unit 0 family mpls
Enable RSVP, MPLS, and OSPF on the interfaces connected to PE1 and PE2.
[edit protocols] user@P# set rsvp interface ge-1/1/0.0 user@P# set rsvp interface ge-1/1/1.0 user@P# set rsvp interface ge-1/1/2.0 user@P# set rsvp interface ge-1/1/3.0 user@P# set mpls interface lo0.0 user@P# set mpls interface ge-1/1/0.0 user@P# set mpls interface ge-1/1/1.0 user@P# set mpls interface ge-1/1/2.0 user@P# set mpls interface ge-1/1/3.0 user@P# set ospf area 0.0.0.0 interface fxp0.0 disable user@P# set ospf area 0.0.0.0 interface ge-1/1/0.0 user@P# set ospf area 0.0.0.0 interface ge-1/1/1.0 user@P# set ospf area 0.0.0.0 interface ge-1/1/2.0 user@P# set ospf area 0.0.0.0 interface ge-1/1/3.0 user@P# set ospf area 0.0.0.0 interface lo0.0
Enable traffic engineering for OSPF.
[edit protocols] user@P# set ospf traffic-engineering
Commit the configuration.
[edit] user@P# commit
Results
From configuration mode, confirm your configuration by entering the show
command. If the output does not display the intended configuration, repeat the configuration instructions in this example to correct it. For brevity, this show
command output includes only the configuration that is relevant to this example. Any other configuration on the system has been replaced with ellipses (...).
interfaces { ge-1/1/0 { unit 0 { family inet { address 10.10.0.2/24; } family mpls; } } ge-1/1/1 { unit 0 { family inet { address 10.10.1.2/24; } family mpls; } } ge-1/1/2 { unit 0 { family inet { address 10.10.2.2/24; } family mpls; } } ge-1/1/3 { unit 0 { family inet { address 10.10.3.2/24; } family mpls; } } lo0 { unit 0 { family inet { address 10.2.2.2/32; } } } } protocols { rsvp { interface ge-1/1/0.0; interface ge-1/1/1.0; interface ge-1/1/2.0; interface ge-1/1/3.0; } mpls { interface ge-1/1/0.0; interface ge-1/1/1.0; interface ge-1/1/2.0; interface ge-1/1/3.0; interface lo0.0; } ospf { traffic-engineering; area 0.0.0.0 { interface fxp0.0 { disable; } interface ge-1/1/0.0; interface ge-1/1/1.0; interface ge-1/1/2.0; interface ge-1/1/3.0; interface lo0.0; } } } routing-options { router-id 10.2.2.2; } ...
Configuring the Egress Provider Edge Router (PE2)
Step-by-Step Procedure
To configure Router PE2:
Create tunnel interfaces by configuring the DPC and its corresponding PIC to use tunneling services.
[edit] user@PE2# set chassis fpc 1 pic 1 tunnel-services bandwidth 1g
Configure the OpenFlow interface as a Layer 2 interface.
[edit interfaces] user@PE2# set ge-1/0/0 encapsulation ethernet-bridge user@PE2# set ge-1/0/0 unit 0 family bridge
Configure the OpenFlow virtual switch routing instance.
[edit] user@PE2# set routing-instances r1 instance-type virtual-switch user@PE2# set routing-instances r1 bridge-domains bd1 interface ge-1/0/0.0 user@PE2# set routing-instances r1 bridge-domains bd1 interface lt-1/1/10.0
Configure the OpenFlow controller.
[edit protocols openflow] user@PE2# set switch s1 controller protocol tcp port 6633 user@PE2# set switch s1 controller address 10.94.175.213
Configure the interfaces participating in OpenFlow.
[edit protocols openflow] user@PE2# set switch s1 interfaces ge-1/0/0.0 port-id 1 user@PE2# set switch s1 interfaces lt-1/1/10.0 port-id 2
Configure the loopback interface and router ID.
[edit] user@PE2# set interfaces lo0 unit 0 family inet address 10.3.3.3/32 user@PE2# set routing-options router-id 10.3.3.3
Configure the MPLS interfaces.
[edit interfaces] user@PE2# set ge-1/1/2 unit 0 family inet address 10.10.2.3/24 user@PE2# set ge-1/1/2 unit 0 family mpls user@PE2# set ge-1/1/3 unit 0 family inet address 10.10.3.3/24 user@PE2# set ge-1/1/3 unit 0 family mpls
Configure the logical tunnel interface.
[edit interfaces] user@PE2# set lt-1/1/10 unit 0 family bridge user@PE2# set lt-1/1/10 unit 0 encapsulation ethernet-bridge user@PE2# set lt-1/1/10 unit 0 peer-unit 100 user@PE2# set lt-1/1/10 unit 100 family ccc user@PE2# set lt-1/1/10 unit 100 encapsulation ethernet-ccc user@PE2# set lt-1/1/10 unit 100 peer-unit 0
Enable RSVP, MPLS, and OSPF on the interfaces connected to Router P.
[edit protocols] user@PE2# set rsvp interface ge-1/1/2.0 user@PE2# set rsvp interface ge-1/1/3.0 user@PE2# set mpls interface ge-1/1/2.0 user@PE2# set mpls interface ge-1/1/3.0 user@PE2# set ospf area 0.0.0.0 interface ge-1/1/2.0 user@PE2# set ospf area 0.0.0.0 interface ge-1/1/3.0
Enable traffic engineering for OSPF.
[edit protocols] user@PE2# set ospf traffic-engineering
Configure the MPLS LSP from PE2 to PE1.
[edit protocols] user@PE2# set mpls label-switched-path 3-1 from 10.3.3.3 user@PE2# set mpls label-switched-path 3-1 to 10.1.1.1
Configure the MPLS LSP tunnel cross-connects.
[edit protocols] user@PE2# set connections remote-interface-switch 3-1-ccc interface lt-1/1/10.100 user@PE2# set connections remote-interface-switch 3-1-ccc transmit-lsp 3-1 user@PE2# set connections remote-interface-switch 3-1-ccc receive-lsp 1-3
Commit the configuration.
[edit] user@PE2# commit
Results
From configuration mode, confirm your configuration by entering the show
command. If the output does not display the intended configuration, repeat the configuration instructions in this example to correct it. For brevity, this show
command output includes only the configuration that is relevant to this example. Any other configuration on the system has been replaced with ellipses (...).
chassis { fpc 1 { pic 1 { tunnel-services { bandwidth 1g; } } } } interfaces { ge-1/0/0 { encapsulation ethernet-bridge; unit 0 { family bridge; } } ge-1/1/2 { unit 0 { family inet { address 10.10.2.3/24; } family mpls; } } ge-1/1/3 { unit 0 { family inet { address 10.10.3.3/24; } family mpls; } } lt-1/1/10 { unit 0 { encapsulation ethernet-bridge; peer-unit 100; family bridge; } unit 100 { encapsulation ethernet-ccc; peer-unit 0; family ccc; } } lo0 { unit 0 { family inet { address 10.3.3.3/32; } } } } protocols { rsvp { interface ge-1/1/2.0; interface ge-1/1/3.0; } mpls { label-switched-path 3-1 { from 10.3.3.3; to 10.1.1.1; } interface ge-1/1/2.0; interface ge-1/1/3.0; } ospf { traffic-engineering; area 0.0.0.0 { interface ge-1/1/2.0; interface ge-1/1/3.0; } } connections { remote-interface-switch 3-1-ccc { interface lt-1/1/10.100; transmit-lsp 3-1; receive-lsp 1-3; } } openflow { switch s1 { interfaces { ge-1/0/0.0 port-id 1; lt-1/1/10.0 port-id 2; } controller { protocol { tcp { port 6633; } } address 10.94.175.213; } } } } routing-instances { r1 { instance-type virtual-switch; bridge-domains { bd1 { interface ge-1/0/0.0; interface lt-1/1/10.0; } } } } routing-options { router-id 10.3.3.3; } ...
Verification
Confirm that the configuration is working properly.
- Verifying that the OpenFlow Controller Connection Is Up
- Verifying that the OpenFlow Interfaces Are Up
- Verifying that the MPLS LSP Is Operational
- Verifying that the MPLS LSP Cross-Connect Is Operational
- Verifying the Routes
Verifying that the OpenFlow Controller Connection Is Up
Purpose
On each of the OpenFlow-enabled routers, verify that the connection state for the OpenFlow controller is up
.
Action
Issue the show openflow controller
operational mode command, and verify that the controller connection state is up
.
user@PE1> show openflow controller Openflowd controller information: Controller socket: 11 Controller IP address: 10.94.175.213 Controller protocol: tcp Controller port: 6633 Controller connection state: up Number of connection attempt: 1 Controller role: equal
Meaning
The output shows that the connection state of the OpenFlow controller is up
, in addition to other information about the controller.
Verifying that the OpenFlow Interfaces Are Up
Purpose
On each of the OpenFlow-enabled routers, verify that the OpenFlow interfaces are up.
Action
Issue the show openflow interfaces
operational mode command, and verify that the state of each interface is Up
. For example, on PE1:
user@PE1> show openflow interfaces Switch name: s1 Interface Name: ge-1/0/0.0 Interface port number: 1 Interface Hardware Address: 00:00:5e:00:53:b1 Interface speed: 1Gb Full-duplex Interface Auto-Negotiation: Enabled Interface media type: Fiber Interface state: Up Switch name: s1 Interface Name: lt-1/1/10.0 Interface port number: 2 Interface Hardware Address: 00:00:5e:00:53:be Interface speed: 1Gb Full-duplex Interface Auto-Negotiation: Disabled Interface media type: Fiber Interface state: Up
Meaning
The output shows that the state of each OpenFlow interface is Up
, in addition to other information about the interfaces.
Verifying that the MPLS LSP Is Operational
Purpose
On each edge router, verify that the MPLS LSP state is Up
.
Action
Issue the show mpls lsp
operational mode command, and verify that each LSP is operational.
user@PE1> show mpls lsp Ingress LSP: 1 sessions To From State Rt P ActivePath LSPname 10.3.3.3 10.1.1.1 Up 0 * 1-3 Total 1 displayed, Up 1, Down 0 Egress LSP: 1 sessions To From State Rt Style Labelin Labelout LSPname 10.1.1.1 10.3.3.3 Up 0 1 FF 299776 - 3-1 Total 1 displayed, Up 1, Down 0 Transit LSP: 0 sessions Total 0 displayed, Up 0, Down 0
user@PE2> show mpls lsp Ingress LSP: 1 sessions To From State Rt P ActivePath LSPname 10.1.1.1 10.3.3.3 Up 0 * 3-1 Total 1 displayed, Up 1, Down 0 Egress LSP: 1 sessions To From State Rt Style Labelin Labelout LSPname 10.3.3.3 10.1.1.1 Up 0 1 FF 299840 - 1-3 Total 1 displayed, Up 1, Down 0 Transit LSP: 0 sessions Total 0 displayed, Up 0, Down 0
Meaning
The output shows that each LSP is operational.
Verifying that the MPLS LSP Cross-Connect Is Operational
Purpose
Verify that the MPLS LSP circuit cross-connect is operational.
Action
Issue the show connections remote-interface-switch
operational mode command, and verify that the circuit cross-connect state is Up
.
user@PE1> show connections remote-interface-switch CCC and TCC connections [Link Monitoring On] [...Output truncated...] Connection/Circuit Type St Time last up # Up trans 1-3-ccc rmt-if Up Apr 18 22:30:54 1 lt-1/1/10.100 intf Up 1-3 tlsp Up 3-1 rlsp Up
user@PE2> show connections remote-interface-switch CCC and TCC connections [Link Monitoring On] [...Output truncated...] Connection/Circuit Type St Time last up # Up trans 3-1-ccc rmt-if Up Apr 18 15:07:04 1 lt-1/1/10.100 intf Up 3-1 tlsp Up 1-3 rlsp Up
Meaning
The output from both routers indicates that the circuit cross-connect is operational.
Verifying the Routes
Purpose
Ensure that the routes from the CCC interface over the LSP are active.
Action
Issue the show route ccc lt-1/1/10.100
command.
user@PE1> show route ccc lt-1/1/10.100 mpls.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both lt-1/1/10.100 *[CCC/7/1] 00:34:54, metric 2 > to 10.10.1.2 via ge-1/1/1.0, label-switched-path 1-3
user@PE2> show route ccc lt-1/1/10.100 mpls.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both lt-1/1/10.100 *[CCC/7/1] 00:35:48, metric 2 > to 10.10.2.2 via ge-1/1/2.0, label-switched-path 3-1
Meaning
The sample output shows that the circuit cross-connect uses the configured LSPs with the MPLS interface as the exit interface.
Troubleshooting
Troubleshooting the Circuit Cross-Connect
Problem
The OpenFlow-enabled router does not route OpenFlow traffic to the remote OpenFlow network.
Solution
In order to direct traffic from the local OpenFlow network to the remote OpenFlow network, the OpenFlow controller must install flow entries that select the appropriate traffic and forward it to the correct OpenFlow interface. For traffic flowing from PE1 to PE2, the OpenFlow controller must install flow entries on PE1 that direct OpenFlow traffic from ge-1/0/0.0 to lt-1/1/10.0, and it must install flow entries on PE2 that direct the OpenFlow traffic from lt-1/1/10.0 to ge-1/0/0.0. Similarly, for traffic flowing from PE2 to PE1, the OpenFlow controller must install flow entries on PE2 that direct the desired OpenFlow traffic from ge-1/0/0.0 to lt-1/1/10.0, and it must install flow entries on PE1 that direct the OpenFlow traffic from lt-1/1/10.0 to ge-1/1/0.0.