Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Announcement: Our new, consolidated Junos CLI Reference is now available.

close
external-header-nav
keyboard_arrow_up
close
keyboard_arrow_left
list Table of Contents
file_download PDF
keyboard_arrow_right

Inline 6rd and 6to4 Softwires

date_range 24-Nov-23

Inline 6rd and 6to4 Configuration Guidelines

Keep the following points in mind when you are configuring and using inline 6rd and 6to4.

  • You can configure a maximum of 1024 softwire concentrators on a single line card.

  • Reassembly of 6rd IPv4 packet from CE is not added as part of this release.

  • 6rd multicast is not supported.

  • Any ICMPv4 errors generated in the IPv4 access network (between CPE and border relays) are dropped on the border relay. They are not converted into IPv6 errors and forwarded to IPv6 side.

  • 6rd/6to4 Anycast and load balancing can be configured only using next-hop style service-interface configuration, not interface style.

  • The si- interface input features are not exercised for packets flowing to the 6rd tunnel.

  • Bandwidth for traffic from the 6rd tunnel is limited by the available PFE bandwidth; bandwidth for traffic to the 6rd tunnel is limited by the internal VRF loopback bandwidth. SI-IFD loopback bandwidth configuration under the [edit chassis] hierarchy has no impact on the 6rd loopback bandwidth.

  • If the packet length is more than Tunnel MTU for downlink packets after encapsulating with an IPv4 header, the packet is dropped as v4 MTU errors. For these packet drops an ICMPv6 packet too big error message is sent back to the sender. Typically 6rd Tunnel MTU is configured with a high value so if the packet size is larger than the configured value, fragmentation occurs at the egress interface (towards the IPv4 access network).

Configuring Inline 6rd

Junos OS supports inline 6rd on all Modular Port Concentrator (MPC) line cards on MX Series routers. This saves customers the cost of using MS-DPCs for the required tunneling, encapsulation, and decapsulation processes. Anycast is supported for 6to4 (next-hop service interfaces only). Hairpinning is also supported for traffic between 6rd domains.

Junos OS supports inline 6rd on the following MPCs:

  • MPC5 and MPC6—Support starting in Junos OS Release 15.1R3.

  • MPC7, MPC8, and MPC9—Support starting in Junos OS Release 17.2R1.

  • MPC10E-15C-MRATE and MPC10E-10C-MRATE—Support starting in Junos OS Release 20.3R1.

  • MX2K-MPC11E—Support starting in Junos OS Release 20.3R1.

To implement the inline functionality, you configure service interfaces on the MPC as inline services interfaces (si-) rather than as multiServices (ms-) interfaces.

Configuring the Bandwidth for Inline Services

You must provide bandwidth configuration for inline services on the modular port concentrator (MPC) used for inline 6rd processing.

To configure bandwidth:

Specify the MPC and logical interface, and the desired bandwidth, 1g or 10g.
content_copy zoom_out_map
user@host# set chassis fpc mpc-number pic logical-interface-number inline-services bandwidth bandwidth

For example:

content_copy zoom_out_map
user@host# set chassis fpc 0 pic 0 inline-services bandwidth 10g

Configuring the Interfaces

Configure the si- interfaces for 6rd control and data. 6rd services must be configured on port 0.

To configure the si- interfaces:

  1. Configure the 6rd services on port 0 and include units for IPv4 and IPv6.
    content_copy zoom_out_map
    user@host# set interfaces si-mpc-number/logical-interface-number/0 unit 0 family inet
    user@host# set interfaces si-mpc-number/logical-interface-number/0 unit 0 family inet6
    

    For example:

    content_copy zoom_out_map
    user@host# set interfaces si-0/0/0 unit 0 family inet
    user@host# set interfaces si-0/0/0 unit 0 family inet6
    
  2. Configure the media interfaces for the inside service domain.
    content_copy zoom_out_map
    user@host# set interfaces si-mpc-number/logical-interface-number/0 unit unit-number family inet
    user@host# set interfaces si-mpc-number/logical-interface-number/0 unit unit-number family inet6
    user@host# set interfaces si-0/0/0 unit unit-number service-domain inside
    

    For example:

    content_copy zoom_out_map
    user@host# set interfaces si-0/0/0 unit 1 family inet
    user@host# set interfaces si-0/0/0 unit 1 family inet6
    user@host# set interfaces si-0/0/0 unit 1 service-domain inside
    
  3. Configure the media interfaces for the outside service domain.
    content_copy zoom_out_map
    user@host# set interfaces si-mpc-number/logical-interface-number/0 unit unit-number family inet
    user@host# set interfaces si-mpc-number/logical-interface-number/0 unit unit-number family inet6
    user@host# set interfaces si-mpc-number/logical-interface-number/0 unit unit-number service-domain outside
    

    For example:

    content_copy zoom_out_map
    user@host# set interfaces si-0/0/0 unit 2 family inet
    user@host# set interfaces si-0/0/0 unit 2 family inet family inet6
    user@host# set interfaces si-mpc-number/logical-interface-number/0 unit unit-number service-domain outside
    
  4. Configure the IPv4-facing interface for use with an interface-style or next-hop service set.
    • To configure for use with an interface-style service set, configure input and output service and specify the service set.

      content_copy zoom_out_map
      user@host# set interfaces ge-mpc-number/logical-interface-number/port unit unit-number family inet service input service-set service-set-name
      user@host# set interfaces ge-mpc-number/logical-interface-number/port unit unit-number family inet service output service-set service-set-name
      user@host# set interfaces ge-mpc-number/logical-interface-number/port unit unit-number family inet address ip-address
      

      For example:

      content_copy zoom_out_map
      user@host# set interfaces ge-0/2/7 unit 0 family inet service input service-set vrf-intf-service-set
      user@host# set interfaces ge-0/2/7 unit 0 family inet service output service-set vrf-intf-service-set
      user@host# set interfaces ge-0/2/7 unit 0 family inet address 10.10.10.1/16
      
    • To configure for use with a next-hop style service set, omit the service input and service output references.

      content_copy zoom_out_map
      user@host# set interfaces ge-mpc-number/logical-interface-number/port unit unit-number family inet
      user@host# set interfaces ge-mpc-number/logical-interface-number/port unit unit-number family inet address ip-address 
      

      For example:

      content_copy zoom_out_map
      user@host# set interfaces ge-0/2/7 unit 0 family inet 
      user@host# set interfaces ge-0/2/7 unit 0 family inet address 10.10.10.1/16
      
  5. Configure the IPv6 facing interface.
    content_copy zoom_out_map
    user@host# set interfaces ge-mpc-number/logical-interface-number/port unit unit-number family inet6 address ipv6-address
    

    For example:

    content_copy zoom_out_map
    user@host# set interfaces ge-0/2/8 unit 0 family inet6 address 2001:db8:1:1::1/16
    

Configuring the Softwire Concentrator and Rule

Define the softwire concentrator and rule used for encapsulation and decapsulation of IPv6 over IPv4 packets for CE.

To define the softwire concentrator:

  1. Specify a 6rd softwire concentrator and its address.
    content_copy zoom_out_map
    user@host# set services softwire softwire-concentrator v6rd concentrator-name softwire-address ip-address
    

    For example:

    content_copy zoom_out_map
    user@host# set services softwire softwire-concentrator v6rd swire01-rd1 softwire-address 10.30.30.1
    
  2. Configure the IPv4 address prefix for the customer edge network and the IPv6 address prefix for the 6rd domain.
    content_copy zoom_out_map
    user@host# set services softwire softwire-concentrator v6rd concentrator-name ipv4-prefix ipv4-prefix v6rd-prefix v6rd-prefix
    

    For example:

    content_copy zoom_out_map
    user@host# set services softwire softwire-concentrator v6rd swire01-rd1 ipv4-prefix 10.10.0.0/16 v6rd-prefix 2001:db8:3040::0/48
    
  3. Configure the size, in bytes, of the maximum transmission unit mtu-ipv4 for IPv6 packets encapsulated in IPv4. Compute this as the maximum expected IPv4 packet size plus 20.
    content_copy zoom_out_map
    user@host# set services softwire softwire-concentrator v6rd concentrator-name set mtu-ipv4 number-of-bytes
    

    For example:

    content_copy zoom_out_map
    user@host# set services softwire softwire-concentrator v6rd swire01-rd1 set mtu-ipv4 9192
    

To configure the softwire rule:

  • Specify the softwire rule, specifying the direction of traffic to be tunneled and the 6rd softwire concentrator to be used.

    content_copy zoom_out_map
    user@host# set services softwire rule softwire-rule-name match-direction match-direction term rule-term-number then v6rd concentrator-name
    

    For example:

    content_copy zoom_out_map
    user@host# set services softwire rule swire01-r1 match-direction input term t1 then v6rd swire01-rd1
    

Configuring the Service Set

To configure an interface style or next-hop service set for 6rd processing:

  • Specify an interface style service set.
    content_copy zoom_out_map
    user@host# set services service-set service-set-name softwire-rules softwire-rule-name service-interface interface-name
    

    For example:

    content_copy zoom_out_map
    user@host# set services service-set vrf-intf-service-set softwire-rules swire01-r1 service-interface si-0/0/0.0
    

    or

  • Configure a next-hop service set.
    content_copy zoom_out_map
    user@host# set services service-set service-set-name softwire-rules softwire-rule-name 
    user@host# set services service-set service-set-name next-hop-service inside-service-interface inside-interface outside-service-interface outside-interface
    
    content_copy zoom_out_map
    user@host# set services service-set vrf-nh-service-set softwire-rules swire01-r1 
    user@host# set services service-set vrf-nh-service-set next-hop-service inside-service-interface si-0/0/0.1 outside-service-interface si-0/0/0.2
    

Configuring the Routing Instance

To configure the routing instance:

  1. Specify the routing instance and each interface it serves.
    content_copy zoom_out_map
    user@host# set routing-instance routing-instance-name instance-type vrf interface interface-name
    

    For example:

    content_copy zoom_out_map
    user@host# set routing-instance v6rd-vrf instance-type vrf interface si-0/0/0.1 
    user@host# set routing-instance v6rd-vrf instance-type vrf interface interface ge-0/2/7.0
    
  2. Specify the route distinguisher and vrf-target.
    content_copy zoom_out_map
    user@host# set routing-instance v6rd-vrf route-distinguisher 10.1.1.1:1
    user@host# set routing-instance v6rd-vrf vrf-target target:100:100
    

Examples: 6rd and 6to4 Configurations

Note:

The 6rd and 6to4 features are supported on Multiservices 100, 400, and 500 PICs on M Series routers, and on MX Series routers equipped with Multiservices DPCs. MX Series routers with MS-MPCs or MS-MICs support inline 6rd and inline 6to4 features.

Example: 6rd with Interface-Style Service Set Configuration

content_copy zoom_out_map
chassis {
    fpc 0 {
        pic 0 {
            inline-services {
                bandwidth 10g;
            }
        }
    }
}
services {
    service-set vrf-intf-service-set {
        softwire-rules swire01-r1;
        interface-service {
            service-interface si-0/0/0.0;
        }
    }
    softwire {
        softwire-concentrator {
            v6rd swire01-rd1 {
                softwire-address 10.30.30.1;
                ipv4-prefix 10.10.0.0/16;
                v6rd-prefix 2001:db8::/32;
                mtu-v4 9192;
            }
        }
        rule swire01-r1 {
            match-direction input;
            term t1 {
                then {
                    v6rd swire01-rd1;
                }
            }
        }
    }
}
interfaces {
    si-0/0/0 {
        unit 1 {
            family inet;
            family inet6;
            service-domain inside;
        }
        unit 2 {
            family inet;
            family inet6;
            service-domain outside;
        }
    }
    
    ge-0/2/7 {
        unit 0 {
            family inet {
                address 10.10.10.1/16;
            }
        }
    }
    ge-0/2/8 {
        unit 0 {
            family inet6 {
                address 2001:db8:3abc::1/64;
            }
        }
    }
}
routing-instances {
    v6rd-vrf {
        instance-type vrf;
        interface si-0/0/0.1;
        interface ge-0/2/7.0;
        route-distinguisher 10.1.1.1:1;
        vrf-target target:100:100;
    }
}

Example: 6rd with Next-Hop-Style Service Set Configuration

content_copy zoom_out_map
chassis {
    fpc 0 {
        pic 0 {
            inline-services {
                bandwidth 10g;
            }
        }
    }
}
services {
    service-set vrf-nh-service-set {
        softwire-rules swire01-r1;
        next-hop-service {
            inside-service-interface si-0/0/0.1;
            outside-service-interface si-0/0/0.2;
        }
    }
    softwire {
        softwire-concentrator {
            v6rd swire01-rd1 {
                softwire-address 10.30.30.1;
                ipv4-prefix 10.10.0.0/16;
                v6rd-prefix 2001:db8:3040::0/48;
                mtu-v4 9192;
            }
        }
        rule swire01-r1 {
            match-direction input;
            term t1 {
                then {
                    v6rd swire01-rd1;
                }
            }
        }
    }
}
interfaces {
    si-0/0/0 {
        unit 1 {
            family inet;
            family inet6;
            service-domain inside;
        }
        unit 2 {
            family inet;
            family inet6;
            service-domain outside;
        }
    }
    
    ge-0/2/7 {
        unit 0 {
            family inet {
                address 10.10.10.1/16;
            }
        }
    }
    ge-0/2/8 {
        unit 0 {
            family inet6 {
                address 2001:db8:3abc::1/64;
            }
        }
    }
}
routing-instances {
    v6rd-vrf {
        instance-type vrf;
        interface si-0/0/0.1;
        interface ge-0/2/7.0;
        route-distinguisher 10.1.1.1:1;
        vrf-target target:100:100;
    }
}

Example: 6rd Anycast Configuration

content_copy zoom_out_map
chassis {
    fpc 0 {
        pic 0 {
            inline-services {
                bandwidth 10g;
            }
        }
        pic 2 {
            inline-services {
                bandwidth 1g;
            }
        }
    }
}
services {
    service-set anycast-nh-set1 {
        softwire-rules swire01-r1;
        next-hop-service {
            inside-service-interface si-0/0/0.1;
            outside-service-interface si-0/0/0.2;
        }
    }
    service-set anycast-nh-set2 {
        softwire-rules swire01-r1;
        next-hop-service {
            inside-service-interface si-0/2/0.1;
            outside-service-interface si-0/2/0.2;
        }
    }
    softwire {
        softwire-concentrator {
            v6rd swire01-rd1 {
                softwire-address 10.30.30.1;
                ipv4-prefix 10.10.0.0/16;
                v6rd-prefix 2001:db8:3040::0/48;
                mtu-v4 9192;
            }
        }
        rule swire01-r1 {
            match-direction input;
            term t1 {
                then {
                    v6rd swire01-rd1;
                }
            }
        }
    }
}
interfaces {
    si-0/0/0 {
        unit 0 {
            family inet;
            family inet6;
        }
        unit 1 {
            family inet;
            family inet6;
            service-domain inside;
        }
        unit 2 {
            family inet;
            family inet6;
            service-domain outside;
        }
    }
    si-0/2/0 {
        unit 0 {
            family inet;
            family inet6;
        }
        unit 1 {
            family inet;
            family inet6;
            service-domain inside;
        }
        unit 2 {
            family inet;
            family inet6;
            service-domain outside;
        }
    }
    ge-0/2/7 {
        unit 0 {
            family inet {
                address 10.10.10.1/16;
            }
        }
    }
    ge-0/2/8 {
        unit 0 {
            family inet6 {
                address 2001:db8:3abc::1/64;
            }
        }
    }
}

Example: Hairpinning Between 6rd Domains Configuration

This example uses an interface service-set and a next-hop service set as hairpinning domains.

content_copy zoom_out_map
chassis {
    fpc 0 {
        pic 0 {
            inline-services {
                bandwidth 10g;
            }
        }
    }
}
services {
    service-set hairpin-intf-service-set {
        softwire-rules swire01-r1;
        interface-service {
            service-interface si-0/0/0.0;
        }
    }
    service-set hairpin-nh-service-set {
        softwire-rules swire01-r2;
        next-hop-service {
            inside-service-interface si-0/0/0.1;
            outside-service-interface si-0/0/0.2;
        }
    }
    softwire {
        softwire-concentrator {
            v6rd swire01-rd1 {
                softwire-address 30.30.30.1;
                ipv4-prefix 10.10.0.0/16;
                v6rd-prefix 2001:db8:3040::0/48;
                mtu-v4 9192;
            }
            v6rd swire01-rd2 {
                softwire-address 10.60.60.1;
                ipv4-prefix 10.40.40.0/24;
                v6rd-prefix 2001:db8:3050::0/48;
                mtu-v4 9192;
            }
        }
        rule swire01-r1 {
            match-direction input;
            term t1 {
                then {
                    v6rd swire01-rd1;
                }
            }
        }
        rule swire01-r2 {
            match-direction input;
            term t1 {
                then {
                    v6rd swire01-rd2;
                }
            }
        }
    }
}
interfaces {
    si-0/0/0 {
        unit 0 {
            family inet;
            family inet6;
        }
        unit 1 {
            family inet;
            family inet6;
            service-domain inside;
        }
        unit 2 {
            family inet;
            family inet6;
            service-domain outside;
        }
    }
    ge-0/2/7 {
        unit 0 {
            family inet {
                service {
                    input {
                        service-set hairpin-intf-service-set;
                    }
                    output {
                        service-set hairpin-intf-service-set;
                    }
                }
                address 10.10.10.1/16;
            }
        }
    }
    ge-0/2/8 {
        unit 0 {
            family inet {
                address 10.40.40.1/24;
            }
        }
    }
}

Example: 6to4 Configuration

content_copy zoom_out_map
chassis {
    fpc 0 {
        pic 0 {
            inline-services {
                bandwidth 10g;
            }
        }
    }
}
services {
    service-set 6to4-intf-service-set {
        softwire-rules shenick01-r1;
        interface-service {
            service-interface si-0/0/0.0;
        }
    }
    interfaces {
        si-0/0/0 {
            unit 0 {
                family inet;
                family inet6;
            }
            unit 1 {
                family inet;
                family inet6;
                service-domain inside;
            }
            unit 2 {
                family inet;
                family inet6;
                service-domain outside;
            }
        }
        ge-0/2/7 {
            unit 0 {
                family inet {
                    service {
                        input {
                            service-set 6to4-intf-service-set;
                        }
                        output {
                            service-set 6to4-intf-service-set;
                        }
                    }
                    address 10.10.10.1/16;
                }
            }
        }
        ge-0/2/8 {
            unit 0 {
                family inet6 {
                    address 2001:db8:3abc::1/64;
                }
            }
        }
    }
external-footer-nav