Inline 6rd and 6to4 Softwires
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
- Configuring the Interfaces
- Configuring the Softwire Concentrator and Rule
- Configuring the Service Set
- Configuring the Routing Instance
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:
user@host# set chassis fpc mpc-number pic logical-interface-number inline-services bandwidth bandwidth
For example:
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:
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:
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.
user@host# set services softwire rule softwire-rule-name match-direction match-direction term rule-term-number then v6rd concentrator-name
For example:
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:
Configuring the Routing Instance
To configure the routing instance:
Examples: 6rd and 6to4 Configurations
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
- Example: 6rd with Next-Hop-Style Service Set Configuration
- Example: 6rd Anycast Configuration
- Example: Hairpinning Between 6rd Domains Configuration
- Example: 6to4 Configuration
Example: 6rd with Interface-Style Service Set Configuration
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
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
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.
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
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; } } } }