2.6. Configuring RIP with CLI

This section provides information to configure Routing Information Protocol (RIP) using the command line interface.

2.6.1. RIP and RIPng Configuration Overview

2.6.1.1. Preconfiguration Requirements

Configure the following entities before beginning the RIP configuration:

  1. (Optional) Policy statements should be defined in the config>router>policy-options context.

2.6.1.2. RIP Hierarchy

RIP is configured in the config>router>rip context. RIP is not enabled by default. Three hierarchical levels are included in RIP configurations:

  1. Global
  2. Group
  3. Neighbor

Commands and parameters configured on the global level are inherited by the group and neighbor levels although parameters configured on the group and neighbor levels take precedence over global configurations.

2.6.2. Basic RIP Configuration

This section provides information to configure RIP and examples of common configuration tasks. For a router to accept RIP updates, in the config>router>rip context, you must define at least one group and one neighbor. A router will ignore updates received from routers on interfaces not configured for RIP. Configuring other RIP commands and parameters are optional.

By default, the local router imports all routes from this neighbor and does not advertise routes. The router receives both RIPv1 and RIPv2 update messages with 25 to 255 route entries per message.

The RIP configuration commands have three primary configuration levels: rip for global configurations, group group-name for RIP group configurations, and neighbor ip-int-name for RIP neighbor configurations. Within the different levels, the configuration commands are identical. For the repeated commands, the command that is most specific to the neighboring router is in effect; that is, neighbor settings have precedence over group settings which have precedence over RIP global settings.

The minimal RIP parameters that need to be configured in the config>router>rip context are:

  1. Group
  2. Neighbor

The following example displays a basic RIP configuration.

ALA-A>config>router>rip# info
----------------------------------------------
group "RIP-ALA-A"
                neighbor "to-ALA-4"
                exit
exit
----------------------------------------------
ALA-A>config>router>rip#
 
 

2.6.3. Common Configuration Tasks

This section provides a brief overview of the tasks that must be performed to configure RIP and provides the CLI commands.

Configure RIP hierarchically using the global level (applies to all peers), the group level (applies to all peers in peer-group), or the neighbor level (only applies to the specified interface). By default, group members inherit the group’s configuration parameters although a parameter can be modified on a per-member basis without affecting the group-level parameters.

Many of the hierarchical RIP commands can be used on different levels. The most specific value is used. That is, a RIP group-specific command takes precedence over a global RIP command. A neighbor-specific statement takes precedence over a global RIP or group-specific command.

All RIP instances must be explicitly created on each device. After the instances are created, RIP is administratively enabled.

To configure RIP, perform the following tasks:

  1. Configure interfaces
  2. Configure policy statements (optional)
  3. Enable RIP
  4. Configure group parameters
  5. Configure neighbor parameters

2.6.3.1. Configuring Interfaces

The following command sequences create a logical IP interface. The logical interface can associate attributes like an IP address, port, Link Aggregation Group (LAG), or the system. For more information about configuring interfaces, refer to the 7450 ESS, 7750 SR, 7950 XRS, and VSR Interface Configuration Guide.

To configure a network interface:

CLI Syntax:
config router
interface ip-int-name
address ip-addr{/mask-length | mask} [broadcast {all-ones | host-ones}]
port port-id

The following example displays router interface configuration command usage:

Example:
config>router> interface “to-ALA-4”
config>router>if$ address 10.10.12.1/24
config>router>if# port 1/1/1
config>router>if# exit

The following example displays the IP configuration output showing the interface information.

ALA-3>config>router# info
#------------------------------------------
echo "IP Configuration "
#------------------------------------------
        interface "system"
            address 10.10.10.103/32
        exit
        interface "to-ALA-4"
            address 10.10.12.1/24
            port 1/1/1
        exit
#------------------------------------------
ALA-3>config>router#

2.6.3.2. Configuring a Route Policy

The import route policy command allows you to filter routes being imported by the local router from its neighbors. If no match is found, the local router does not import any routes.

The export route policy command allows you to determine which routes are exported from the route table to RIP. By default, RIP does not export routes it has learned to its neighbors. If no export policy is specified, non-RIP routes will not be exported from the routing table manager to RIP.

If multiple policy names are specified, the policies are evaluated in the order they are specified. The first policy that matches is applied. If multiple export commands are issued, the last command entered will override the previous command. A maximum of five policy names can be specified.

This section only provides brief instructions to configure route policies. For more details, refer to the Route Policy Overview chapter.

To enter the mode to create or edit route policies, you must enter the begin keyword at the config>router>policy-options prompt. Other editing commands include:

  1. The commit command saves and enables changes made to route policies during a session.
  2. The abort command discards changes that have been made to route policies during a session.

Use the following CLI syntax to configure a policy to use for the RIP global, group, and neighbor import and export commands.

CLI Syntax:
config>router>policy-options
begin
commit
abort
policy-statement name
description text
default-action {accept|next-entry|next-policy|drop|reject}
entry entry-id
description text
action {accept|next-entry|next-policy|drop|reject}
from
to

Use the following CLI syntax to enter the edit mode:

CLI Syntax:
config>router>policy-options
begin

The following example displays some commands to configure a policy statement. Policy option commands are configured in the config>router context. Use the commit command to save the changes.

Example:
config>router>policy-options# begin
policy-options# policy-statement “RIP policy”
policy-options>policy-statement$ description "this is a test RIP policy”
policy-options>policy-statement>default# entry 1
policy-options>policy-statement>entry$ action accept
policy-options>policy-statement>entry# exit
policy-options>policy-statement# default-action reject
policy-options>policy-statement# exit
policy-options# commit
ALA-A>config>router>policy-options# info
----------------------------------------------
policy-statement "RIP-policy"
description "this is a test RIP policy"
entry 1
action accept
exit
exit
default-action reject
exit
----------------------------------------------
ALA-A>config>router>policy-options>policy-statement#

2.6.3.3. Configuring RIP Parameters

Use the CLI syntax displayed below for:

CLI Syntax:
config>router
rip
authentication-key [authentication-key | hash-key [hash|hash2|custom]
authentication-type {none | password | message-digest | message-digest-20}
check-zero {enable | disable}
description string
export policy-name [policy-name ...up to 5 max]
import policy-name [policy-name ...up to 5 max]
message-size number
metric-in metric
metric-out metric
preference number
receive {both | none | version-1 | version-2}
send {broadcast | multicast | none | version-1 | both}
no shutdown
split-horizon {enable | disable}
timers update timeout flush
group group-name
authentication-key [authentication-key | hash-key [hash | hash2| custom]
authentication-type {none | password | message-digest | message-digest-20}
check-zero {enable | disable}
description string
export policy-name [policy-name ...up to 5 max]]
import policy-name [policy-name ...up to 5 max]]
message-size number
metric-in metric
metric-out metric
preference number
receive {both | none | version-1 | version-2}
send {broadcast | multicast | none | version-1}
no shutdown
split-horizon {enable | disable}
timers update timeout flush
neighbor ip-int-name
authentication-key [authentication-key | hash-key [hash | hash2| custom]
authentication-type {none | password | message-digest | message-digest-20}
check-zero {enable | disable}
description string
export policy-name [policy-name ...up to 5 max]]
import policy-name [policy-name ...up to 5 max]]
message-size number
metric-in metric
metric-out metric
preference number
receive {both | none | version-1 | version-2}
send {broadcast | multicast | none | version-1}
split-horizon {enable | disable}
timers update timeout flush
no shutdown

2.6.3.4. Configuring Global-Level Parameters

After the RIP protocol instance is created, the no shutdown command is not required because RIP is administratively enabled upon creation. To enable RIP on a router, at least one group and one neighbor must be configured. There are no default groups or neighbors. Each group and neighbor must be explicitly configured.

Note:

Careful planning is essential to implement commands that can affect the behavior of global, group, and neighbor-levels. Because the RIP commands are hierarchical, analyze the values that can disable features on a particular level.

Use the following CLI syntax to configure global-level RIP parameters.

CLI Syntax:
config>router
rip
authentication-key [authentication-key | hash-key [hash | hash2| custom]
authentication-type {password | message-digest}
check-zero {enable | disable}
export policy-name [policy-name ...up to 5 max]
import policy-name [policy-name ...up to 5 max]
message-size number
metric-in metric
metric-out metric
preference number
receive {both | none | version-1 | version-2}
send {broadcast | multicast | none | version-1 | both}
no shutdown
split-horizon {enable | disable}
timers update timeout flush

The following example displays global RIP configuration command usage:

Example:
config>router# rip
config>router>rip# authentication-type password
config>router>rip# authentication-key test123
config>router>rip# receive both
config>router>rip# split-horizon enable
config>router>rip# timers 300 600 600
config>router>rip>group# exit

The following example displays the RIP group configuration:

ALA-A>config>router>rip# info
----------------------------------------------
            authentication-type simple
            authentication-key "ac1865lvz1d" hash
            timers 300 600 600
----------------------------------------------
ALA-A>config>router>rip#

2.6.3.5. Configuring Group-Level Parameters

A group is a collection of related RIP peers. The group name should be a descriptive name for the group. Follow your group, name, and ID naming conventions for consistency and to help when troubleshooting faults.

All parameters configured for a group are applied to the group and are inherited by each peer (neighbor), but a group parameter can be overridden on a specific neighbor-level basis. Use the following CLI syntax to configure a group.

CLI Syntax:
config>router# rip
group group-name
authentication-key[authentication-key|hash-key [hash|hash2|custom]
authentication-type {password|message-digest}
check-zero {enable|disable}
description string
export policy-name [policy-name …]
import policy-name [policy-name …]
message-size number
metric-in metric
metric-out metric
preference number
receive {both|none|version-1|version-2}
send {broadcast|multicast|none|version-1|both}
no shutdown
split-horizon {enable|disable}
timers update timeout flush

The following example displays group configuration command usage:

Example:
config>router# rip
config>router>rip# group headquarters
config>router>rip>group$ description "Mt. View"
config>router>rip>group# no shutdown

The following example displays the RIP group configuration:

ALA-A>config>router>rip# info
----------------------------------------------
            authentication-type simple
            authentication-key "ac1865lvz1d" hash
            timers 300 600 600
            group "headquarters"
                description "Mt. View"
            exit
----------------------------------------------
ALA-A>config>router>rip#

2.6.3.6. Configuring Neighbor-Level Parameters

After you create a group name and assign options, add neighbor interfaces within the same group. All parameters configured for the peer group level are applied to each neighbor, but a group parameter can be overridden on a specific neighbor basis.

Use the following CLI syntax to add a neighbor to a group and define options that override the same group-level command value.

CLI Syntax:
config>router# rip
group group-name
neighbor ip-int-name
authentication-key [authentication-key|hash-key [hash|hash2|custom]
authentication-type {password|message-digest}
check-zero {enable|disable}
description string
export policy-name [policy-name …]
import policy-name [policy-name …]
message-size number
metric-in metric
metric-out metric
preference number
receive {both|none|version-1|version-2}
send {broadcast|multicast|none|version-1}
split-horizon {enable|disable}
timers update timeout flush
no shutdown

The following example displays neighbor configuration command usage:

Example:
config>router# rip
config>router>rip# group headquarters1
config>router>rip>group# neighbor ferguson-274
config>router>rip>group>neighbor$ preference 255
config>router>rip>group>neighbor# send both
config>router>rip>group>neighbor# split-horizon enable
config>router>rip>group>neighbor# message-size 255

The following example displays the neighbor configured in group “headquarters”.

ALA-A>config>router>rip>group>neighbor# info
----------------------------------------------
                    message-size 255
                    preference 255
                    split-horizon enable
                    no timers
----------------------------------------------
ALA-A>config>router>rip>group>neighbor#

2.7. RIP Configuration Management Tasks

This section provides information about RIP configuration management tasks.

2.7.1. Modifying RIP Parameters

Modify, add or remove RIP parameters in the CLI. The changes are applied immediately. For the complete list of CLI commands, refer to Configuring RIP Parameters.

CLI Syntax:
config>router# rip
group group-name
...
neighbor ip-int-name
...
Example:
config>router>rip# group "headquarters"
config>router>rip>group# neighbor "ferguson-274"
config>router>rip>group>neighbor# import RIPpolicy
config>router>rip>group>neighbor# message-size 150

The following example displays the updated parameters:

ALA-A>config>router>rip# info
----------------------------------------------
            authentication-type simple
            authentication-key "ac1865lvz1d" hash
            timers 300 600 600
            group "headquarters"
                description "Mt. View"
                neighbor "ferguson-274"
                    import "RIPpolicy"
                    message-size 150
                    preference 255
                    split-horizon enable
                    no timers
                exit
            exit
----------------------------------------------
ALA-A>config>router>rip#

2.7.2. Deleting a Group

A group must be shut down before it can be deleted.

Use the following CLI syntax to shut down and then delete a group.

CLI Syntax:
config>router# rip
[no] group group-name
shutdown
Example:
config>router# rip
config>router>rip# group "RIP-ALA-3"
config>router>rip>group# shutdown
config>router>rip>group# exit
config>router>rip# no group "RIP-ALA-33"

Deleting the group without first shutting it down causes the following message to appear:

INFO: RIP #1204 group should be administratively down - virtual router index 1,group
RIP-ALA-4 

2.7.3. Deleting a Neighbor

The neighbor must be shut down before it can be deleted.

Use the following CLI syntax to delete a neighbor.

CLI Syntax:
config>router# rip
[no] group group-name
[no] neighbor ip-int-name
shutdown
Example:
config>router# rip
config>router>rip# group "RIP-ALA-4"
config>router>rip>group# neighbor "to-ALA-3"
config>router>rip>group>neighbor# shutdown
config>router>rip>group>neighbor# exit
config>router>rip>group# no neighbor "to-ALA-3"

Deleting the neighbor without first shutting it down causes the following message to appear:

INFO: RIP #1101 neighbor should be administratively down - virtual router index