Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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

Figure 1: Connecting OpenFlow Networks Using MPLS Tunnel Cross-ConnectsConnecting OpenFlow Networks Using MPLS Tunnel Cross-Connects

Configuration

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

Device P

Device PE2

Configuring the Ingress Provider Edge Router (PE1)

Step-by-Step Procedure

To configure Router PE1:

  1. Create tunnel interfaces by configuring the DPC and its corresponding PIC to use tunneling services.

  2. Configure the OpenFlow interface as a Layer 2 interface.

  3. Configure the OpenFlow virtual switch routing instance.

  4. Configure the OpenFlow controller.

  5. Configure the interfaces participating in OpenFlow.

  6. Configure the loopback interface and router ID.

  7. Configure the MPLS interfaces.

  8. Configure the logical tunnel interface.

  9. Enable RSVP, MPLS, and OSPF on the interfaces connected to Router P.

  10. Enable traffic engineering for OSPF.

  11. Configure the MPLS LSP from PE1 to PE2.

  12. Configure the MPLS LSP tunnel cross-connects.

  13. Commit the configuration.

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 (...).

Configuring the Provider Router (P)

Step-by-Step Procedure

To configure Router P:

  1. Configure the loopback interface and router ID.

  2. Configure the MPLS interfaces.

  3. Enable RSVP, MPLS, and OSPF on the interfaces connected to PE1 and PE2.

  4. Enable traffic engineering for OSPF.

  5. Commit the configuration.

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 (...).

Configuring the Egress Provider Edge Router (PE2)

Step-by-Step Procedure

To configure Router PE2:

  1. Create tunnel interfaces by configuring the DPC and its corresponding PIC to use tunneling services.

  2. Configure the OpenFlow interface as a Layer 2 interface.

  3. Configure the OpenFlow virtual switch routing instance.

  4. Configure the OpenFlow controller.

  5. Configure the interfaces participating in OpenFlow.

  6. Configure the loopback interface and router ID.

  7. Configure the MPLS interfaces.

  8. Configure the logical tunnel interface.

  9. Enable RSVP, MPLS, and OSPF on the interfaces connected to Router P.

  10. Enable traffic engineering for OSPF.

  11. Configure the MPLS LSP from PE2 to PE1.

  12. Configure the MPLS LSP tunnel cross-connects.

  13. Commit the configuration.

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 (...).

Verification

Confirm that the configuration is working properly.

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.

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:

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.

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.

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.

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.