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 prefix ipv6prefix [valid-lifetime] [preferred-lifetime] [off-link] [no-autoconfig] [router-address]
- 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. Valueinfinite
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. Valueinfinite
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