RIPng configuration options

Like RIP, RIPng has many options, besides with RIPng there is a possibility to aggregate the addresses and to declare one network, these options are described in detail in the following sections.

Split horizon

Like RIP, RIPng does not announce the learnt prefixes on the interfaces from which they were learnt. This is the default behavior of Turbo IPsec.

To disable the split horizon feature on a given interface type the following command at the interface level of the routing context.

vrf main
  routing interface eth0_0
    ipv6 ripng split-horizon disabled
    ..
  ..
..

To come back to default behavior and enable split-horizon, use the following command:

vrf main
  routing interface eth0_0
    ipv6 ripng split-horizon simple
    ..
  ..
..

Split horizon with poisoned reverse

The goal of poisoning the reverse path is to increase the convergence of the RIPng algorithm to quickly kill the RIPng routing loops. When split-horizon with poisoned reverse path is enabled, the prefixes which are learnt via an interface are announced back each 30 seconds with a metric of 16 (i.e. infinite).

This option is configured at the interface level at the routing context by typing the following command at the interface level of the routing context.

vrf main
  routing interface eth0_0
    ipv6 ripng split-horizon poisoned-reverse
    ..
  ..
..
  • Disable poisoned-reverse:

vrf main
  routing interface eth0_0
    ipv6 ripng split-horizon simple
    ..
  ..
..

This will disable the poisoned-reverse option in the RIPng configuration and remain in the split-horizon RIPng policy.

Default route advertisement

The default-information originate command can be used to allow RIPng to advertise the default route (::/0).

vrf main
  routing ripng
    default-information-originate true
    ..
  ..
..

When enabling this option, default route will be displayed in the list of entries that RIPng displays:

vrouter> show ripng
  Codes: R - RIPng, C - connected, S - Static, O - OSPF, B - BGP
  Sub-codes:
        (n) - normal, (s) - static, (d) - default, (r) - redistribute,
        (i) - interface, (a/S) - aggregated/Suppressed

     Network           Next Hop                    Via     Metric Tag Time
  R(d) ::/0            ::                          self       1    0

Note

When a router is advertising a default route, it is advised that it is itself configured with its own default IPv6 route to avoid it becomes a blackhole:

vrf main
  routing static
    ipv6-route 0::0/0 next-hop eth1_0

Static RIPng route

The RIPng process can announce a route that has no origin. It means that it has not been introduced into the RIPng RIB by the redistribute command.

  • Add a route to the RIPng RIB (in the RIPng context):

vrf main
  routing ripng
    static-route 2003::/64
    ..
  ..

This static route appears in the RIB with the R(s) tag.

vrouter> show ripng
  Codes: R - RIPng, C - connected, S - Static, O - OSPF, B - BGP
  Sub-codes:
        (n) - normal, (s) - static, (d) - default, (r) - redistribute,
        (i) - interface, (a/S) - aggregated/Suppressed

     Network           Next Hop                    Via     Metric Tag Time
  R(s) 2001::/64            ::                     self       1    0

It is announced as RIPng route but with the subcode (s) which means that the prefix was learned by a static route. With this command, a black-hole could be announced.

Manage the redistributed metrics

Since the routing protocols are not the same (BGP, static, connected), the associated metrics cannot be compared. An administrative distance, that is composed of hop count, can be set with the following command into the RIPng context.

vrf main
  routing ripng
    redistribute connected metric 3
    redistribute static metric 4
    redistribute bgp metric 8
    ..
  ..

Note

Due to the maximum RIPng metric of 16, these commands decrease the size of your network.

The default redistribution metric into RIPng is 1.

Modify timers

The routing protocols are based on many timers that control the stability of your network and the time convergence of the algorithms. RIPng is based on three timers:

  1. The routing table update in seconds: default 30 s,

  2. The routing information timeout in seconds: default 180 s.,

  3. The garbage collection in seconds: default 120 s.

  • Change the default timers:

vrf main
  routing ripng
    timers update-interval 30 holddown-interval 180 flush-interval 120
    ..
  ..
  • Check the timers values:

vrouter> show ripng status
 Routing Protocol is "RIPng"
   Sending updates every 30 seconds with +/-50%, next due in 4 seconds
   Timeout after 180 seconds, garbage collect after 120 seconds
   [...]

Note

Do not change any default value if you are deploying a RIPng network over a LAN. They should be changed only over some very low bandwidth links (about 32 Kbit/s or less) or over the cost expensive links.

Route aggregation

The routes redistributed by RIPng can be aggregated to decrease the FIB table or to hide the internal architecture of your network. This aggregation can be done with the following command:

  • Aggregate routes:

vrf main
  routing ripng
    aggregate 3ffe:501:ffff:4000::/52
    ..
 ..

Note

This feature is specific to RIPng and is not available with RIP.

Example

vrf main
  interface
    physical eth0_0
      ipv6 address 3ffe:501:ffff:4001::4/64
      ..
    physical eth1_0
      ipv6 address 3ffe:501:ffff:4000::4/64
      ..
    physical eth2_0
      ipv6 address 3ffe:501:ffff:1::4/64
      ..
    ..
  routing ripng
    aggregate-address 3ffe:501:ffff:4000::/52
    network 3ffe:501:ffff::/48
    ..
  ..

It leads to the following RIPng RIB:

vrouter> show ripng
 Codes: R - RIPng, C - connected, S - Static, O - OSPF, B - BGP
 Sub-codes:
       (n) - normal, (s) - static, (d) - default, (r) - redistribute,
       (i) - interface, (a/S) - aggregated/Suppressed

    Network      Next Hop                      Via     Metric Tag Time
 C(i) 3ffe:501:ffff:1::/64
                   ::                          self       1    0
 R(a) 3ffe:501:ffff:4000::/52
                                               self       1    0
 C(Si) 3ffe:501:ffff:4000::/64
                   ::                          self       1    0
 C(Si) 3ffe:501:ffff:4001::/64
                   ::                          self       1    0

The tag R(a) means that the prefix 3ffe:501:ffff:4000::/52 is an aggregated one.

RIPng options example

In this example we will configure 4 routers rt1, rt2, rt3 and rt4 to support the RIPng options.

../../../../_images/ripng-config-example.svg

RIPng options configuration example

The required features are being tested:

  • rt1: RIPng static route

  • rt2: Split-horizon, poison-reverse

  • rt3: redistribute connected

  • rt4: modify timers option, aggregate address option, default route information

rt1

vrf main
  interface
    physical eth0_0
      ipv6 address 2001:1::1/64
      ..
    physical eth1_0
      ipv6 address fec0:1::1/64
      ..
    ..
  routing ripng
    network 2001::/16
    network fec0:1::/64
    static-route fec0:1::/16
    ..
  ..

rt2

vrf main
  interface
    physical eth0_0
      ipv6 address 2001:2::1/64
      ..
    physical eth1_0
      ipv6 address fec0:2::1/64
      ..
    ..
  routing
    ripng
      network 2001::/16
      ..
    ..
    interface eth0_0
      ipv6 ripng split-horizon disable
      ..
    interface eth1_0
      ipv6 ripng split-horizon poisoned-reverse
      ..
    ..

rt3

vrf main
  interface
    physical eth0_0
      ipv6 address 2001:3::1/64
      ..
    physical eth1_0
      ipv6 address 2001:cafe:3::1/64
      ..
    ..
  routing ripng
    network 2001::/16
    redistribute connected metric 5
    ..
  ..

rt4

vrf main
  routing ripng
    aggregate 3ffe:cafe:8::/48
    default-information-originate true
    network 3ffe:cafe:8:1::/64
    network 3ffe:cafe:8:2::/64
    timers update-interval 30 holddown-interval 180 flush-interval 90
    ..
  ..