ripngd supports the RIPng protocol as described in RFC 2080. It’s an IPv6 reincarnation of the RIP protocol.

Invoking ripngd

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.


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).

ripngd Terminal Mode Commands

show ipv6 ripng [vrf NAME] status
show debugging ripng
debug ripng events
debug ripng packet
debug ripng zebra

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-list command can be used to filter the RIPNG path. distribute-list can 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 configuration eth0 will permit only the paths that match the route

router ripng
 distribute-list private in eth0
access-list private permit 10
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 (1-4294967295)

Set a tag on the matched route.

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