IPv6 Support

SoodarOS fully supports IPv6 routing. As described so far, SoodarOS supports RIPng, OSPFv3, and BGP-4+. You can give IPv6 addresses to an interface and configure static IPv6 routing information. SoodarOS IPv6 also provides automatic address configuration via a feature called address auto configuration. To do it, the router must send router advertisement messages to the all nodes that exist on the network.

Previous versions of SoodarOS could be built without IPv6 support. This is no longer possible.

Enable IPv6

To use IPv6 features, first it’s needed to be enabled on interface. There are 2 ways to enable IPv6 on an interface: #. Issue ipv6 enable command #. Add an IPv6 address

ipv6 enable

The command is used to enable IPv6 processing on an interface. When this command is executed, IPv6 is enabled on the interface and it starts processing IPv6 packets.

Warning

Note that IPv6 can’t be enabled on virtual interfaces( like tunnels and loopbacks).

Note

Although tunnels can’t have IPv6 addresses, but they can be passed through IPv6 network( source and destination can be IPv6).

Note

this command only enables IPv6 on an interface. You still need to configure an IPv6 address on the interface to be able to use it for IPv6 communication.

Router Advertisement

Router Advertisement (RA) is a message sent periodically by routers on a network to announce their presence and provide network configuration information to neighboring nodes. The main purpose of RAs is to enable automatic address configuration of nodes and provide other network parameters, such as the default router and prefix information.

RAs are sent by routers on the link-local multicast address FF02::1 (all-nodes multicast address) and are received by all nodes on the link. The frequency of RA transmissions can be configured on the router, typically ranging from a few seconds to several minutes.

When a node receives an RA, it can automatically configure its own IPv6 address using Stateless Address Autoconfiguration (SLAAC), which involves generating an interface identifier based on the network prefix in the RA and the MAC address of the interface. The node can also obtain other network information, such as the default router and DNS server addresses, from the RA.

In addition to SLAAC, routers can also provide additional information in RAs, such as the prefix length, prefix options, hop limit, and MTU, which can be used by the nodes to configure themselves accordingly.

show ipv6 nd ra-interfaces

The command is used to display the Router Advertisement (RA) configuration on interfaces that are sending Router Advertisement messages.

ipv6 nd suppress-ra

The command is used to suppress the generation of router advertisements (RAs) on an interface. By suppressing the generation of RAs on an interface, the router will not inform other nodes on the network segment of its presence or configuration information.

This command can be useful in scenarios where a router is not the default gateway for hosts on the network segment, or where another router is already sending RAs on the same segment. It can also be used to conserve network bandwidth by reducing the amount of network traffic generated by the router.

The no form of this command enables sending RA messages.

ipv6 nd ra-interval [(1-1800)]

The maximum time allowed between sending unsolicited multicast router advertisements from the interface, in seconds. Default: 600

ipv6 nd ra-interval [msec (70-1800000)]

The maximum time allowed between sending unsolicited multicast router advertisements from the interface, in milliseconds. Default: 600000

ipv6 nd ra-fast-retrans

RFC4861 states that consecutive RA packets should be sent no more frequently than three seconds apart. FRR by default allows faster transmissions of RA packets in order to speed convergence and neighbor establishment, particularly for unnumbered peering. By turning off ipv6 nd ra-fast-retrans, the implementation is compliant with the RFC at the cost of slower convergence and neighbor establishment. Default: enabled

ipv6 nd ra-retrans-interval [(0-4294967295)]

The value to be placed in the retrans timer field of router advertisements sent from the interface, in msec. Indicates the interval between router advertisement retransmissions. Setting the value to zero indicates that the value is unspecified by this router. Must be between zero or 4294967295 msec. Default: 0

ipv6 nd ra-hop-limit [(0-255)]

The value to be placed in the hop count field of router advertisements sent from the interface, in hops. Indicates the maximum diameter of the network. Setting the value to zero indicates that the value is unspecified by this router. Must be between zero or 255 hops. Default: 64

ipv6 nd ra-lifetime [(0-9000)]

The value to be placed in the Router Lifetime field of router advertisements sent from the interface, in seconds. Indicates the usefulness of the router as a default router on this interface. Setting the value to zero indicates that the router should not be considered a default router on this interface. Must be either zero or between value specified with ipv6 nd ra-interval (or default) and 9000 seconds. Default: 1800

ipv6 nd reachable-time [(1-3600000)]

The value to be placed in the Reachable Time field in the Router Advertisement messages sent by the router, in milliseconds. The configured time enables the router to detect unavailable neighbors. The value zero means unspecified (by this router). Default: 0

ipv6 nd managed-config-flag

Set/unset flag in IPv6 router advertisements which indicates to hosts that they should use managed (stateful) protocol for addresses autoconfiguration in addition to any addresses autoconfigured using stateless address autoconfiguration. Default: not set

ipv6 nd other-config-flag

Set/unset flag in IPv6 router advertisements which indicates to hosts that they should use administered (stateful) protocol to obtain autoconfiguration information other than addresses. Default: not set

ipv6 nd home-agent-config-flag

Set/unset flag in IPv6 router advertisements which indicates to hosts that the router acts as a Home Agent and includes a Home Agent Option. Default: not set

ipv6 nd home-agent-preference [(0-65535)]

The value to be placed in Home Agent Option, when Home Agent config flag is set, which indicates to hosts Home Agent preference. The default value of 0 stands for the lowest preference possible. Default: 0

ipv6 nd home-agent-lifetime [(0-65520)]

The value to be placed in Home Agent Option, when Home Agent config flag is set, which indicates to hosts Home Agent Lifetime. The default value of 0 means to place the current Router Lifetime value.

Default: 0

ipv6 nd adv-interval-option

Include an Advertisement Interval option which indicates to hosts the maximum time, in milliseconds, between successive unsolicited Router Advertisements. Default: not set

ipv6 nd router-preference [(high|medium|low)]

Set default router preference in IPv6 router advertisements per RFC4191. Default: medium

ipv6 nd mtu [(1-65535)]

Include an MTU (type 5) option in each RA packet to assist the attached hosts in proper interface configuration. The announced value is not verified to be consistent with router interface MTU.

Default: don’t advertise any MTU option.

ipv6 nd rdnss ipv6address [lifetime]

Recursive DNS server address to advertise using the RDNSS (type 25) option described in RFC8106. Can be specified more than once to advertise multiple addresses. Note that hosts may choose to limit the number of RDNSS addresses to track.

Optional parameter:

  • lifetime: the maximum time in seconds over which the specified address may be used for domain name resolution. Value infinite represents infinity (i.e. a value of all one bits (0xffffffff)). A value of 0 indicates that the address must no longer be used. Range: (0-4294967295) Default: 3 * ra-interval

Default: do not emit RDNSS option

ipv6 nd dnssl domain-name-suffix [lifetime]

Advertise DNS search list using the DNSSL (type 31) option described in RFC8106. Specify more than once to advertise multiple domain name suffixes. Host implementations may limit the number of honored search list entries.

Optional parameter:

  • lifetime: the maximum time in seconds over which the specified domain suffix may be used in the course of name resolution. Value infinite represents infinity (i.e. a value of all one bits (0xffffffff)). A value of 0 indicates that the name suffix must no longer be used. Range: (0-4294967295) Default: 3 * ra-interval

Default: do not emit DNSSL option

Router Advertisement Configuration Example

A small example:

interface ge0
 ipv6 enable
 no ipv6 nd suppress-ra
 ipv6 nd prefix 2001:1::/64

See also

  • RFC 2462 (IPv6 Stateless Address Autoconfiguration)

  • RFC 4861 (Neighbor Discovery for IP Version 6 (IPv6))

  • RFC 6275 (Mobility Support in IPv6)

  • RFC 4191 (Default Router Preferences and More-Specific Routes)

  • RFC 8106 (IPv6 Router Advertisement Options for DNS Configuration)