Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?


Example: Configuring Service Chaining Using SR-IOV on NFX250 NextGen Devices

This example shows how to configure service chaining using single-root I/O virtualization (SR-IOV). For information about SR-IOV, see Understanding SR-IOV Usage.


This example uses an NFX250 NextGen device running Junos OS Release 19.1R1.

Before you configure service chaining, ensure that you have installed and started the relevant VNFs.


This example uses the front panel ports ge-0/0/0 and xe-0/0/13 associated with the PFE, and its internal-facing ports, sxe-0/0/0 and sxe-0/0/1. The internal NIC ports, sxe0 and sxe1, are not configured directly; instead, they are abstracted at the host OS layer and configured as interfaces hsxe0 and hsxe1. The VNFs use two interfaces, eth2 and eth3. These elements are generally separated into a LAN side and a WAN side.

As this example uses SR-IOV, the virtual functions (VFs) of the NIC ports are used to bypass the host OS and provide direct NIC-to-VM connectivity.


Figure 1 shows the topology for this example.

Figure 1: Service Chaining Using SR-IOVService Chaining Using SR-IOV

This example is configured using the Junos Control Plane (JCP). The key configuration elements include:

  • Front panel ports associated with the Packet Forwarding Engine

  • Internal-facing ports associated with the Packet Forwarding Engine

  • NIC ports


    You must use the host OS interface (hsxe) for these ports because the NIC interfaces (sxe ports) cannot be configured directly.

  • VNF interfaces, which use the format eth# (where # ranges from 2 to 9)

  • Virtual function settings, which indicate that SR-IOV is being used to provide direct access between the hsxe and VNF interfaces


This example describes:

Configuring the Packet Forwarding Engine Interfaces

CLI Quick Configuration

To quickly configure the Packet Forwarding Engine interfaces, enter the following configuration statements from the JCP:

Step-by-Step Procedure

To configure the Packet Forwarding Engine interfaces:

  1. Configure a VLAN for the LAN-side interfaces.

  2. Configure the PFE LAN-side front panel port and add it to the LAN-side VLAN.

    The LAN-side port is typically an access port, but can be a trunk port if required.

  3. Configure the PFE LAN-side internal-facing interface as a trunk port and add it to the LAN-side VLAN.

    The internal-facing interfaces are typically trunk ports as they must support traffic from multiple front panel ports and VLANs.

  4. Configure a VLAN for the WAN-side interfaces.

  5. Configure the PFE WAN-side front panel port as a trunk port and add it to the WAN-side VLAN.

    The WAN-side front panel port is typically a trunk port as it might be required to support multiple VLANs.

  6. Configure the PFE WAN-side internal-facing interface as a trunk port and add it to the WAN-side VLAN.

  7. Commit the configuration.


From configuration mode, check the results of your configuration by entering the following show commands:

Configuring the VNF Interfaces and Creating the Service Chain

Step-by-Step Procedure

To configure the VNF interfaces and create the service chain:

  1. Configure VNF1’s LAN-side interface as a Layer 3 interface, and map it to the LAN-side NIC interface. Include the virtual function (VF) setting to specify direct NIC-to-VM connectivity. VNFs must use the interfaces from eth2 through eth9.

    The hsxe interface is the configurable representation of the related NIC (sxe) interface.

  2. Configure VNF1’s WAN-side interface from sxe1.

  3. Instantiate VNF2 with the interfaces eth2 and eth3 on sxe1.

  4. Configure the IP addresses and static routes for each interface of the VNFs, and add routes to achieve a complete bidirectional path for the service chain.