RIPng¶
ripngd supports the RIPng protocol as described in RFC 2080. It's an IPv6 reincarnation of the RIP protocol.
Invoking ripngd¶
Configuration for the daemon should be saved in the FRR integrated configuration file located in /etc/frr/frr.conf, see Integrated Config File for more information on system configuration.
Prior versions of FRR supported reading and writing per-daemon config files;
however, with the introduction of the centralized management daemon mgmtd
this could no longer be supported.
In order to allow for an orderly transition from per-daemon config files to the
integrated config file, FRR daemons will continue to try and read their
specific per-daemon configuration file as before. Additionally the config can
still be loaded directly using the -f or --config-file CLI options;
however, these files will not be updated when the configuration is written
(e.g., with the write mem command).
Warning
Per-daemon files will no longer be updated when the user issues a write
memory command. Therefore these per-daemon config files should only be used
as a mechanism for transitioning to the integrated config, and then removed.
There are no ripngd specific invocation options. Common options can be specified (Common Invocation Options).
ripngd Configuration¶
Currently ripngd supports the following commands:
- router ripng [vrf NAME]¶
Enable RIPng.
- network NETWORK¶
Set RIPng enabled interface by NETWORK.
- network IFNAME¶
Set RIPng enabled interface by IFNAME.
- route NETWORK¶
Set RIPng static routing announcement of NETWORK.
- allow-ecmp [1-MULTIPATH_NUM]¶
Control how many ECMP paths RIPng can inject for the same prefix. If specified without a number, a maximum is taken (compiled with
--enable-multipath).
- default-information originate¶
Distribute default route information.
- default-metric (1-16)¶
Set a metric of redistribute routes.
- offset-list ACCESSLIST6_NAME <in|out> (0-16) [IFNAME]¶
Modify RIPng metric based on access-list. The access-list is applied to incoming or outgoing updates, optionally on a specific interface.
- passive-interface IFNAME¶
Suppress routing updates on an interface.
- redistribute PROTOCOL [{metric (0-16)|route-map RMAP_NAME}]¶
Redistribute routes from other protocols into RIPng. Optionally specify metric or route-map for the redistributed routes.
- aggregate-address X:X::X:X/M¶
Set aggregate RIPng route announcement.
- timers basic (1-65535) (1-65535) (1-65535)¶
Set RIPng timers for update, timeout, and garbage collection intervals.
- ipv6 distribute-list ACCESSLIST6_NAME <in|out> [IFNAME]¶
Filter networks in routing updates using access-list. Can be applied to incoming or outgoing updates, optionally on a specific interface.
- ipv6 distribute-list prefix PREFIXLIST6_NAME <in|out> [IFNAME]¶
Filter networks in routing updates using prefix-list. Can be applied to incoming or outgoing updates, optionally on a specific interface.
ripngd Terminal Mode Commands¶
- show ipv6 ripng [vrf NAME]¶
Show RIPng routes.
- show ipv6 ripng [vrf NAME] status¶
Show RIPng status and configuration.
- show debugging ripng¶
Show debugging status for RIPng.
- debug ripng events¶
Debug RIPng events.
- debug ripng packet¶
Debug RIPng packet processing.
- debug ripng packet <recv|send>¶
Debug specific packet direction (receive or send).
- debug ripng zebra¶
Debug RIPng and zebra communication.
- clear ipv6 ripng [vrf WORD]¶
Clear RIPng routes.
ripngd Filtering Commands¶
RIPng routes can be filtered by a distribute-list.
- distribute-list [prefix] LIST <in|out> IFNAME¶
You can apply access lists to the interface with a distribute-list command. If prefix is specified LIST is a prefix-list. If prefix is not specified then LIST is the access list name. in specifies packets being received, and out specifies outgoing packets. Finally if an interface is specified it will be applied against a specific interface.
The
distribute-listcommand can be used to filter the RIPNG path.distribute-listcan apply access-lists to a chosen interface. First, one should specify the access-list. Next, the name of the access-list is used in the distribute-list command. For example, in the following configurationeth0will permit only the paths that match the route 10.0.0.0/8! router ripng distribute-list private in eth0 ! access-list private permit 10 10.0.0.0/8 access-list private deny any !
distribute-list can be applied to both incoming and outgoing data.
RIPng route-map¶
Usage of ripngd's route-map support.
Route-map statement (Route Maps) is needed to use route-map functionality.
- match interface WORD¶
This command match to incoming interface. Notation of this match is different from Cisco. Cisco uses a list of interfaces - NAME1 NAME2 ... NAMEN. Ripngd allows only one name (maybe will change in the future). Next - Cisco means interface which includes next-hop of routes (it is somewhat similar to "ipv6 next-hop" statement). Ripngd means interface where this route will be sent. This difference is because "next-hop" of same routes which sends to different interfaces must be different.
- match ipv6 address WORD¶
- match ipv6 address prefix-list WORD¶
Match if route destination is permitted by access-list/prefix-list.
- match metric (0-4294967295)¶
This command match to the metric value of RIPng updates. For other protocol compatibility metric range is shown as (0-4294967295). But for RIPng protocol only the value range (0-16) make sense.
- set ipv6 next-hop local IPV6_ADDRESS¶
Set the link-local IPv6 nexthop address.
- set metric (1-16)¶
Set a metric for matched route when sending announcement. The metric value range is very large for compatibility with other protocols. For RIPng, valid metric values are from 1 to 16.
- set tag <untagged|(1-4294967295)>¶
Set a tag on the matched route.
RIPng Interface Commands¶
- ipv6 ripng split-horizon [poisoned-reverse]¶
Configure split horizon on the interface. The optional poisoned-reverse parameter enables poisoned reverse split horizon.
Sample configuration¶
debug ripng events
debug ripng packet
router ripng
network sit1
route 3ffe:506::0/32
distribute-list local-only out sit1
ipv6 access-list local-only permit 3ffe:506::0/32
ipv6 access-list local-only deny any