# RIPng

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.

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

## 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 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 (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