diff options
| author | Quentin Young <qlyoung@cumulusnetworks.com> | 2018-01-29 16:38:07 -0500 | 
|---|---|---|
| committer | Quentin Young <qlyoung@cumulusnetworks.com> | 2018-01-29 16:38:07 -0500 | 
| commit | c1a54c054d434b9e50467db30665cfb688e16a2e (patch) | |
| tree | 6734f37671fe5f7dfed4b68afb21d0f2d6a66514 /doc/user/ripd.rst | |
| parent | d1a242fdbf983c4902fe41bcd827f4ff9bd4deb7 (diff) | |
doc: manually finish conversion
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Diffstat (limited to 'doc/user/ripd.rst')
| -rw-r--r-- | doc/user/ripd.rst | 801 | 
1 files changed, 385 insertions, 416 deletions
diff --git a/doc/user/ripd.rst b/doc/user/ripd.rst index e28d215c6b..d456c30af6 100644 --- a/doc/user/ripd.rst +++ b/doc/user/ripd.rst @@ -5,11 +5,11 @@ RIP  ***  RIP -- Routing Information Protocol is widely deployed interior gateway -protocol.  RIP was developed in the 1970s at Xerox Labs as part of the -XNS routing protocol.  RIP is a :term:`distance-vector` protocol and is -based on the :term:`Bellman-Ford` algorithms.  As a distance-vector +protocol. RIP was developed in the 1970s at Xerox Labs as part of the +XNS routing protocol. RIP is a :term:`distance-vector` protocol and is +based on the :term:`Bellman-Ford` algorithms. As a distance-vector  protocol, RIP router send updates to its neighbors periodically, thus -allowing the convergence to a known topology.  In each update, the +allowing the convergence to a known topology. In each update, the  distance to any given network will be broadcasted to its neighboring  router. @@ -21,17 +21,15 @@ version 1 as described in RFC1058.  Starting and Stopping ripd  ========================== -The default configuration file name of *ripd*'s is -:file:`ripd.conf`.  When invocation *ripd* searches directory -|INSTALL_PREFIX_ETC|.  If :file:`ripd.conf` is not there next -search current directory. +The default configuration file name of *ripd*'s is :file:`ripd.conf`. When +invocation *ripd* searches directory |INSTALL_PREFIX_ETC|. If :file:`ripd.conf` +is not there next search current directory. -RIP uses UDP port 520 to send and receive RIP packets.  So the user must have -the capability to bind the port, generally this means that the user must -have superuser privileges.  RIP protocol requires interface information -maintained by *zebra* daemon.  So running *zebra* -is mandatory to run *ripd*.  Thus minimum sequence for running -RIP is like below: +RIP uses UDP port 520 to send and receive RIP packets. So the user must have +the capability to bind the port, generally this means that the user must have +superuser privileges. RIP protocol requires interface information maintained by +*zebra* daemon. So running *zebra* is mandatory to run *ripd*. Thus minimum +sequence for running RIP is like below:  :: @@ -41,8 +39,10 @@ RIP is like below:  Please note that *zebra* must be invoked before *ripd*. -To stop *ripd*.  Please use @command{kill `cat -/var/run/ripd.pid`}.  Certain signals have special meaningss to *ripd*. +To stop *ripd*. Please use:: +   kill `cat /var/run/ripd.pid` + +Certain signals have special meaningss to *ripd*.   +-------------+------------------------------------------------------+   | Signal      | Action                                               | @@ -57,7 +57,7 @@ To stop *ripd*.  Please use @command{kill `cat   | ``SIGTERM`` | Sweep all installed routes and gracefully terminate. |   +-------------+------------------------------------------------------+ -*ripd* invocation options.  Common options that can be specified +*ripd* invocation options. Common options that can be specified  (:ref:`Common_Invocation_Options`).  .. option:: -r @@ -70,278 +70,270 @@ To stop *ripd*.  Please use @command{kill `cat  RIP netmask  ----------- -The netmask features of *ripd* support both version 1 and version 2 of -RIP.  Version 1 of RIP originally contained no netmask information.  In -RIP version 1, network classes were originally used to determine the -size of the netmask.  Class A networks use 8 bits of mask, Class B -networks use 16 bits of masks, while Class C networks use 24 bits of -mask.  Today, the most widely used method of a network mask is assigned -to the packet on the basis of the interface that received the packet. -Version 2 of RIP supports a variable length subnet mask (VLSM).  By -extending the subnet mask, the mask can be divided and reused.  Each -subnet can be used for different purposes such as large to middle size -LANs and WAN links.  FRR *ripd* does not support the non-sequential -netmasks that are included in RIP Version 2. - -In a case of similar information with the same prefix and metric, the -old information will be suppressed.  Ripd does not currently support -equal cost multipath routing. +The netmask features of *ripd* support both version 1 and version 2 of RIP. +Version 1 of RIP originally contained no netmask information. In RIP version 1, +network classes were originally used to determine the size of the netmask. +Class A networks use 8 bits of mask, Class B networks use 16 bits of masks, +while Class C networks use 24 bits of mask. Today, the most widely used method +of a network mask is assigned to the packet on the basis of the interface that +received the packet.  Version 2 of RIP supports a variable length subnet mask +(VLSM). By extending the subnet mask, the mask can be divided and reused. Each +subnet can be used for different purposes such as large to middle size LANs and +WAN links. FRR *ripd* does not support the non-sequential netmasks that are +included in RIP Version 2. + +In a case of similar information with the same prefix and metric, the old +information will be suppressed. Ripd does not currently support equal cost +multipath routing.  .. _RIP_Configuration:  RIP Configuration  ================= -.. index:: Command {router rip} {} - -Command {router rip} {} -  The `router rip` command is necessary to enable RIP.  To disable -  RIP, use the `no router rip` command.  RIP must be enabled before -  carrying out any of the RIP commands. - -.. index:: Command {no router rip} {} +.. index:: router rip +.. clicmd:: router rip -Command {no router rip} {} -  Disable RIP. +   The `router rip` command is necessary to enable RIP. To disable RIP, use the +   `no router rip` command. RIP must be enabled before carrying out any of the +   RIP commands. -.. index:: {RIP Command} {network `network`} {} +.. index:: no router rip +.. clicmd:: no router rip -{RIP Command} {network `network`} {} -.. index:: {RIP Command} {no network `network`} {} +   Disable RIP. -{RIP Command} {no network `network`} {} -    Set the RIP enable interface by `network`.  The interfaces which -    have addresses matching with `network` are enabled. +.. index:: network NETWORK +.. clicmd:: network NETWORK -    This group of commands either enables or disables RIP interfaces between -    certain numbers of a specified network address.  For example, if the -    network for 10.0.0.0/24 is RIP enabled, this would result in all the -    addresses from 10.0.0.0 to 10.0.0.255 being enabled for RIP.  The `no network` command will disable RIP for the specified network. +.. index:: no network NETWORK +.. clicmd:: no network NETWORK -.. index:: {RIP Command} {network `ifname`} {} +   Set the RIP enable interface by NETWORK. The interfaces which have addresses +   matching with NETWORK are enabled. -{RIP Command} {network `ifname`} {} -.. index:: {RIP Command} {no network `ifname`} {} +   This group of commands either enables or disables RIP interfaces between +   certain numbers of a specified network address. For example, if the network +   for 10.0.0.0/24 is RIP enabled, this would result in all the addresses from +   10.0.0.0 to 10.0.0.255 being enabled for RIP. The `no network` command will +   disable RIP for the specified network. -{RIP Command} {no network `ifname`} {} -      Set a RIP enabled interface by `ifname`.  Both the sending and -      receiving of RIP packets will be enabled on the port specified in the -      `network ifname` command.  The `no network ifname` command will disable -      RIP on the specified interface. +.. index:: network IFNAME +.. clicmd:: network IFNAME -.. index:: {RIP Command} {neighbor `a.b.c.d`} {} +.. index:: no network IFNAME +.. clicmd:: no network IFNAME -{RIP Command} {neighbor `a.b.c.d`} {} -.. index:: {RIP Command} {no neighbor `a.b.c.d`} {} +   Set a RIP enabled interface by IFNAME. Both the sending and +   receiving of RIP packets will be enabled on the port specified in the +   `network ifname` command. The `no network ifname` command will disable +   RIP on the specified interface. -{RIP Command} {no neighbor `a.b.c.d`} {} -        Specify RIP neighbor.  When a neighbor doesn't understand multicast, -        this command is used to specify neighbors.  In some cases, not all -        routers will be able to understand multicasting, where packets are sent -        to a network or a group of addresses.  In a situation where a neighbor -        cannot process multicast packets, it is necessary to establish a direct -        link between routers.  The neighbor command allows the network -        administrator to specify a router as a RIP neighbor.  The `no neighbor a.b.c.d` command will disable the RIP neighbor. +.. index:: neighbor A.B.C.D +.. clicmd:: neighbor A.B.C.D -      Below is very simple RIP configuration.  Interface `eth0` and -      interface which address match to `10.0.0.0/8` are RIP enabled. +.. index:: no neighbor A.B.C.D +.. clicmd:: no neighbor A.B.C.D -:: +   Specify RIP neighbor. When a neighbor doesn't understand multicast, this +   command is used to specify neighbors. In some cases, not all routers will be +   able to understand multicasting, where packets are sent to a network or a +   group of addresses. In a situation where a neighbor cannot process multicast +   packets, it is necessary to establish a direct link between routers. The +   neighbor command allows the network administrator to specify a router as a +   RIP neighbor. The `no neighbor a.b.c.d` command will disable the RIP +   neighbor. -        ! -        router rip -         network 10.0.0.0/8 -         network eth0 -        ! +   Below is very simple RIP configuration. Interface `eth0` and interface which +   address match to `10.0.0.0/8` are RIP enabled. +   :: -      Passive interface +      ! +      router rip +       network 10.0.0.0/8 +       network eth0 +      ! -.. index:: {RIP command} {passive-interface (`IFNAME`|default)} {} -{RIP command} {passive-interface (`IFNAME`|default)} {} -.. index:: {RIP command} {no passive-interface `IFNAME`} {} +.. index:: passive-interface (IFNAME|default) +.. clicmd:: passive-interface (IFNAME|default) -{RIP command} {no passive-interface `IFNAME`} {} -          This command sets the specified interface to passive mode.  On passive mode -          interface, all receiving packets are processed as normal and ripd does -          not send either multicast or unicast RIP packets except to RIP neighbors -          specified with `neighbor` command. The interface may be specified -          as `default` to make ripd default to passive on all interfaces. +.. index:: no passive-interface IFNAME +.. clicmd:: no passive-interface IFNAME -          The default is to be passive on all interfaces. +   This command sets the specified interface to passive mode. On passive mode +   interface, all receiving packets are processed as normal and ripd does not +   send either multicast or unicast RIP packets except to RIP neighbors +   specified with `neighbor` command. The interface may be specified as +   `default` to make ripd default to passive on all interfaces. -        RIP split-horizon +   The default is to be passive on all interfaces. -.. index:: {Interface command} {ip split-horizon} {} +.. index:: ip split-horizon +.. clicmd:: ip split-horizon -{Interface command} {ip split-horizon} {} -.. index:: {Interface command} {no ip split-horizon} {} +.. index:: no ip split-horizon +.. clicmd:: no ip split-horizon -{Interface command} {no ip split-horizon} {} -            Control split-horizon on the interface.  Default is `ip split-horizon`.  If you don't perform split-horizon on the interface, -            please specify `no ip split-horizon`. +   Control split-horizon on the interface. Default is `ip split-horizon`. If +   you don't perform split-horizon on the interface, please specify `no ip +   split-horizon`.  .. _RIP_Version_Control:  RIP Version Control  =================== -RIP can be configured to send either Version 1 or Version 2 packets. -The default is to send RIPv2 while accepting both RIPv1 and RIPv2 (and -replying with packets of the appropriate version for REQUESTS / -triggered updates). The version to receive and send can be specified -globally, and further overriden on a per-interface basis if needs be -for send and receive seperately (see below). +RIP can be configured to send either Version 1 or Version 2 packets.  The +default is to send RIPv2 while accepting both RIPv1 and RIPv2 (and replying +with packets of the appropriate version for REQUESTS / triggered updates). The +version to receive and send can be specified globally, and further overriden on +a per-interface basis if needs be for send and receive seperately (see below). -It is important to note that RIPv1 can not be authenticated. Further, -if RIPv1 is enabled then RIP will reply to REQUEST packets, sending the -state of its RIP routing table to any remote routers that ask on -demand. For a more detailed discussion on the security implications of -RIPv1 see :ref:`RIP_Authentication`. +It is important to note that RIPv1 cannot be authenticated. Further, if RIPv1 +is enabled then RIP will reply to REQUEST packets, sending the state of its RIP +routing table to any remote routers that ask on demand. For a more detailed +discussion on the security implications of RIPv1 see :ref:`RIP_Authentication`. -.. index:: {RIP Command} {version `version`} {} +.. index:: version VERSION +.. clicmd:: version VERSION -{RIP Command} {version `version`} {} -  Set RIP version to accept for reads and send.  `version` -  can be either `1'' or `2''. +   Set RIP version to accept for reads and send. ``VERSION`` can be either 1 or +   1. -  Disabling RIPv1 by specifying version 2 is STRONGLY encouraged, -  :ref:`RIP_Authentication`. This may become the default in a future -  release. +   Disabling RIPv1 by specifying version 2 is STRONGLY encouraged, +   :ref:`RIP_Authentication`. This may become the default in a future release. -  Default: Send Version 2, and accept either version. +   Default: Send Version 2, and accept either version. -.. index:: {RIP Command} {no version} {} +.. index:: no version +.. clicmd:: no version -{RIP Command} {no version} {} -  Reset the global version setting back to the default. +   Reset the global version setting back to the default. -.. index:: {Interface command} {ip rip send version `version`} {} +.. index:: ip rip send version VERSION +.. clicmd:: ip rip send version VERSION -{Interface command} {ip rip send version `version`} {} -  `version` can be `1', `2' or `1 2'. +   VERSION can be ``1``, ``2``, or ``1 2``. -  This interface command overrides the global rip version setting, and -  selects which version of RIP to send packets with, for this interface -  specifically. Choice of RIP Version 1, RIP Version 2, or both versions. -  In the latter case, where `1 2' is specified, packets will be both -  broadcast and multicast. +   This interface command overrides the global rip version setting, and selects +   which version of RIP to send packets with, for this interface specifically. +   Choice of RIP Version 1, RIP Version 2, or both versions. In the latter +   case, where ``1 2`` is specified, packets will be both broadcast and +   multicast. -  Default: Send packets according to the global version (version 2) +   Default: Send packets according to the global version (version 2) -.. index:: {Interface command} {ip rip receive version `version`} {} +.. index:: ip rip receive version VERSION +.. clicmd:: ip rip receive version VERSION -{Interface command} {ip rip receive version `version`} {} -  `version` can be `1', `2' or `1 2'. +   VERSION can be ``1``, ``2``, or ``1 2``. -  This interface command overrides the global rip version setting, and -  selects which versions of RIP packets will be accepted on this -  interface. Choice of RIP Version 1, RIP Version 2, or both. +   This interface command overrides the global rip version setting, and selects +   which versions of RIP packets will be accepted on this interface. Choice of +   RIP Version 1, RIP Version 2, or both. -  Default: Accept packets according to the global setting (both 1 and 2). +   Default: Accept packets according to the global setting (both 1 and 2).  .. _How_to_Announce_RIP_route:  How to Announce RIP route  ========================= -.. index:: {RIP command} {redistribute kernel} {} +.. index:: redistribute kernel +.. clicmd:: redistribute kernel -{RIP command} {redistribute kernel} {} -.. index:: {RIP command} {redistribute kernel metric (0-16)} {} +.. index:: redistribute kernel metric (0-16) +.. clicmd:: redistribute kernel metric (0-16) -{RIP command} {redistribute kernel metric (0-16)} {} -.. index:: {RIP command} {redistribute kernel route-map `route-map`} {} +.. index:: redistribute kernel route-map ROUTE-MAP +.. clicmd:: redistribute kernel route-map ROUTE-MAP -{RIP command} {redistribute kernel route-map `route-map`} {} -.. index:: {RIP command} {no redistribute kernel} {} +.. index:: no redistribute kernel +.. clicmd:: no redistribute kernel -{RIP command} {no redistribute kernel} {} -        `redistribute kernel` redistributes routing information from -        kernel route entries into the RIP tables. `no redistribute kernel` -        disables the routes. +   `redistribute kernel` redistributes routing information from kernel route +   entries into the RIP tables. `no redistribute kernel` disables the routes. -.. index:: {RIP command} {redistribute static} {} +.. index:: redistribute static +.. clicmd:: redistribute static -{RIP command} {redistribute static} {} -.. index:: {RIP command} {redistribute static metric (0-16)} {} +.. index:: redistribute static metric (0-16) +.. clicmd:: redistribute static metric (0-16) -{RIP command} {redistribute static metric (0-16)} {} -.. index:: {RIP command} {redistribute static route-map `route-map`} {} +.. index:: redistribute static route-map ROUTE-MAP +.. clicmd:: redistribute static route-map ROUTE-MAP -{RIP command} {redistribute static route-map `route-map`} {} -.. index:: {RIP command} {no redistribute static} {} +.. index:: no redistribute static +.. clicmd:: no redistribute static -{RIP command} {no redistribute static} {} -              `redistribute static` redistributes routing information from -              static route entries into the RIP tables. `no redistribute static` -              disables the routes. +   `redistribute static` redistributes routing information from static route +   entries into the RIP tables. `no redistribute static` disables the routes. -.. index:: {RIP command} {redistribute connected} {} +.. index:: redistribute connected +.. clicmd:: redistribute connected -{RIP command} {redistribute connected} {} -.. index:: {RIP command} {redistribute connected metric (0-16)} {} +.. index:: redistribute connected metric (0-16) +.. clicmd:: redistribute connected metric (0-16) -{RIP command} {redistribute connected metric (0-16)} {} -.. index:: {RIP command} {redistribute connected route-map `route-map`} {} +.. index:: redistribute connected route-map ROUTE-MAP +.. clicmd:: redistribute connected route-map ROUTE-MAP -{RIP command} {redistribute connected route-map `route-map`} {} -.. index:: {RIP command} {no redistribute connected} {} +.. index:: no redistribute connected +.. clicmd:: no redistribute connected -{RIP command} {no redistribute connected} {} -                    Redistribute connected routes into the RIP tables.  `no redistribute connected` disables the connected routes in the RIP tables. -                    This command redistribute connected of the interface which RIP disabled. -                    The connected route on RIP enabled interface is announced by default. +   Redistribute connected routes into the RIP tables. `no redistribute +   connected` disables the connected routes in the RIP tables.  This command +   redistribute connected of the interface which RIP disabled.  The connected +   route on RIP enabled interface is announced by default. -.. index:: {RIP command} {redistribute ospf} {} +.. index:: redistribute ospf +.. clicmd:: redistribute ospf -{RIP command} {redistribute ospf} {} -.. index:: {RIP command} {redistribute ospf metric (0-16)} {} +.. index:: redistribute ospf metric (0-16) +.. clicmd:: redistribute ospf metric (0-16) -{RIP command} {redistribute ospf metric (0-16)} {} -.. index:: {RIP command} {redistribute ospf route-map `route-map`} {} +.. index:: redistribute ospf route-map ROUTE-MAP +.. clicmd:: redistribute ospf route-map ROUTE-MAP -{RIP command} {redistribute ospf route-map `route-map`} {} -.. index:: {RIP command} {no redistribute ospf} {} +.. index:: no redistribute ospf +.. clicmd:: no redistribute ospf -{RIP command} {no redistribute ospf} {} -                          `redistribute ospf` redistributes routing information from -                          ospf route entries into the RIP tables. `no redistribute ospf` -                          disables the routes. +   `redistribute ospf` redistributes routing information from ospf route +   entries into the RIP tables. `no redistribute ospf` disables the routes. -.. index:: {RIP command} {redistribute bgp} {} +.. index:: redistribute bgp +.. clicmd:: redistribute bgp -{RIP command} {redistribute bgp} {} -.. index:: {RIP command} {redistribute bgp metric (0-16)} {} +.. index:: redistribute bgp metric (0-16) +.. clicmd:: redistribute bgp metric (0-16) -{RIP command} {redistribute bgp metric (0-16)} {} -.. index:: {RIP command} {redistribute bgp route-map `route-map`} {} +.. index:: redistribute bgp route-map ROUTE-MAP +.. clicmd:: redistribute bgp route-map ROUTE-MAP -{RIP command} {redistribute bgp route-map `route-map`} {} -.. index:: {RIP command} {no redistribute bgp} {} +.. index:: no redistribute bgp +.. clicmd:: no redistribute bgp -{RIP command} {no redistribute bgp} {} -                                `redistribute bgp` redistributes routing information from -                                bgp route entries into the RIP tables. `no redistribute bgp` -                                disables the routes. +   `redistribute bgp` redistributes routing information from bgp route entries +   into the RIP tables. `no redistribute bgp` disables the routes. -                              If you want to specify RIP only static routes: +   If you want to specify RIP only static routes: -.. index:: {RIP command} {default-information originate} {} +.. index:: default-information originate +.. clicmd:: default-information originate -{RIP command} {default-information originate} {} -.. index:: {RIP command} {route `a.b.c.d/m`} {} +.. index:: route A.B.C.D/M +.. clicmd:: route A.B.C.D/M -{RIP command} {route `a.b.c.d/m`} {} -.. index:: {RIP command} {no route `a.b.c.d/m`} {} +.. index:: no route A.B.C.D/M +.. clicmd:: no route A.B.C.D/M -{RIP command} {no route `a.b.c.d/m`} {} -                                  This command is specific to FRR.  The `route` command makes a static -                                  route only inside RIP. This command should be used only by advanced -                                  users who are particularly knowledgeable about the RIP protocol.  In -                                  most cases, we recommend creating a static route in FRR and -                                  redistributing it in RIP using `redistribute static`. +   This command is specific to FRR. The `route` command makes a static route +   only inside RIP. This command should be used only by advanced users who are +   particularly knowledgeable about the RIP protocol. In most cases, we +   recommend creating a static route in FRR and redistributing it in RIP using +   `redistribute static`.  .. _Filtering_RIP_Routes: @@ -350,103 +342,100 @@ Filtering RIP Routes  RIP routes can be filtered by a distribute-list. -.. index:: Command {distribute-list `access_list` `direct` `ifname`} {} +.. index:: distribute-list ACCESS_LIST DIRECT IFNAME +.. clicmd:: distribute-list ACCESS_LIST DIRECT IFNAME -Command {distribute-list `access_list` `direct` `ifname`} {} -  You can apply access lists to the interface with a `distribute-list` -  command.  `access_list` is the access list name.  `direct` is -  ``in`` or ``out``.  If `direct` is ``in`` the access list -  is applied to input packets. +   You can apply access lists to the interface with a `distribute-list` command. +   ACCESS_LIST is the access list name. DIRECT is ``in`` or ``out``. If DIRECT +   is ``in`` the access list is applied to input packets. -  The `distribute-list` command can be used to filter the RIP 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 +   The `distribute-list` command can be used to filter the RIP 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 rip -     distribute-list private in eth0 -    ! -    access-list private permit 10 10.0.0.0/8 -    access-list private deny any -    ! +       ! +       router rip +        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. +   `distribute-list` can be applied to both incoming and outgoing data. -.. index:: Command {distribute-list prefix `prefix_list` (in|out) `ifname`} {} +.. index:: distribute-list prefix PREFIX_LIST (in|out) IFNAME +.. clicmd:: distribute-list prefix PREFIX_LIST (in|out) IFNAME -Command {distribute-list prefix `prefix_list` (in|out) `ifname`} {} -  You can apply prefix lists to the interface with a -  `distribute-list` command.  `prefix_list` is the prefix list -  name.  Next is the direction of ``in`` or ``out``.  If -  `direct` is ``in`` the access list is applied to input packets. +   You can apply prefix lists to the interface with a `distribute-list` +   command. PREFIX_LIST is the prefix list name. Next is the direction of +   ``in`` or ``out``. If DIRECT is ``in`` the access list is applied to input +   packets.  .. _RIP_Metric_Manipulation:  RIP Metric Manipulation  ======================= -RIP metric is a value for distance for the network.  Usually +RIP metric is a value for distance for the network. Usually  *ripd* increment the metric when the network information is -received.  Redistributed routes' metric is set to 1. +received. Redistributed routes' metric is set to 1. -.. index:: {RIP command} {default-metric (1-16)} {} +.. index:: default-metric (1-16) +.. clicmd:: default-metric (1-16) -{RIP command} {default-metric (1-16)} {} -.. index:: {RIP command} {no default-metric (1-16)} {} +.. index:: no default-metric (1-16) +.. clicmd:: no default-metric (1-16) -{RIP command} {no default-metric (1-16)} {} -    This command modifies the default metric value for redistributed routes.  The -    default value is 1.  This command does not affect connected route -    even if it is redistributed by *redistribute connected*.  To modify -    connected route's metric value, please use @command{redistribute -    connected metric} or *route-map*.  *offset-list* also -    affects connected routes. +   This command modifies the default metric value for redistributed routes. +   The default value is 1. This command does not affect connected route even if +   it is redistributed by *redistribute connected*. To modify connected route's +   metric value, please use ``redistribute connected metric`` or *route-map*. +   *offset-list* also affects connected routes. -.. index:: {RIP command} {offset-list `access-list` (in|out)} {} +.. index:: offset-list ACCESS-LIST (in|out) +.. clicmd:: offset-list ACCESS-LIST (in|out) -{RIP command} {offset-list `access-list` (in|out)} {} -.. index:: {RIP command} {offset-list `access-list` (in|out) `ifname`} {} +.. index:: offset-list ACCESS-LIST (in|out) IFNAME +.. clicmd:: offset-list ACCESS-LIST (in|out) IFNAME -{RIP command} {offset-list `access-list` (in|out) `ifname`} {}  .. _RIP_distance:  RIP distance  ============ -Distance value is used in zebra daemon.  Default RIP distance is 120. +Distance value is used in zebra daemon. Default RIP distance is 120. -.. index:: {RIP command} {distance (1-255)} {} +.. index:: distance (1-255) +.. clicmd:: distance (1-255) -{RIP command} {distance (1-255)} {} -.. index:: {RIP command} {no distance (1-255)} {} +.. index:: no distance (1-255) +.. clicmd:: no distance (1-255) -{RIP command} {no distance (1-255)} {} -    Set default RIP distance to specified value. +   Set default RIP distance to specified value. -.. index:: {RIP command} {distance (1-255) `A.B.C.D/M`} {} +.. index:: distance (1-255) A.B.C.D/M +.. clicmd:: distance (1-255) A.B.C.D/M -{RIP command} {distance (1-255) `A.B.C.D/M`} {} -.. index:: {RIP command} {no distance (1-255) `A.B.C.D/M`} {} +.. index:: no distance (1-255) A.B.C.D/M +.. clicmd:: no distance (1-255) A.B.C.D/M -{RIP command} {no distance (1-255) `A.B.C.D/M`} {} -      Set default RIP distance to specified value when the route's source IP -      address matches the specified prefix. +   Set default RIP distance to specified value when the route's source IP +   address matches the specified prefix. -.. index:: {RIP command} {distance (1-255) `A.B.C.D/M` `access-list`} {} +.. index:: distance (1-255) A.B.C.D/M ACCESS-LIST +.. clicmd:: distance (1-255) A.B.C.D/M ACCESS-LIST -{RIP command} {distance (1-255) `A.B.C.D/M` `access-list`} {} -.. index:: {RIP command} {no distance (1-255) `A.B.C.D/M` `access-list`} {} +.. index:: no distance (1-255) A.B.C.D/M ACCESS-LIST +.. clicmd:: no distance (1-255) A.B.C.D/M ACCESS-LIST -{RIP command} {no distance (1-255) `A.B.C.D/M` `access-list`} {} -        Set default RIP distance to specified value when the route's source IP -        address matches the specified prefix and the specified access-list. +   Set default RIP distance to specified value when the route's source IP +   address matches the specified prefix and the specified access-list.  .. _RIP_route-map: @@ -465,64 +454,63 @@ statement.    ..... -Cisco applies route-map _before_ routes will exported to rip route table. -In current FRR's test implementation, *ripd* applies route-map -after routes are listed in the route table and before routes will be -announced to an interface (something like output filter). I think it is not -so clear, but it is draft and it may be changed at future. +Cisco applies route-map _before_ routes will exported to rip route table.  In +current FRR's test implementation, *ripd* applies route-map after routes are +listed in the route table and before routes will be announced to an interface +(something like output filter). I think it is not so clear, but it is draft and +it may be changed at future.  Route-map statement (:ref:`Route_Map`) is needed to use route-map  functionality. -.. index:: {Route Map} {match interface `word`} {} +.. index:: match interface WORD +.. clicmd:: match interface WORD -{Route Map} {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.  Ripd 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 "ip next-hop" statement).  Ripd -  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. Maybe it'd be better to made new matches - say -  "match interface-out NAME" or something like that. +   This command match to incoming interface. Notation of this match is +   different from Cisco. Cisco uses a list of interfaces - NAME1 NAME2 ... +   NAMEN. Ripd 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 "ip next-hop" statement). Ripd 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. Maybe it'd be better to +   made new matches - say "match interface-out NAME" or something like that. -.. index:: {Route Map} {match ip address `word`} {} +.. index:: match ip address WORD +.. clicmd:: match ip address WORD -{Route Map} {match ip address `word`} {} -.. index:: {Route Map} {match ip address prefix-list `word`} {} +.. index:: match ip address prefix-list WORD +.. clicmd:: match ip address prefix-list WORD -{Route Map} {match ip address prefix-list `word`} {} -    Match if route destination is permitted by access-list. +   Match if route destination is permitted by access-list. -.. index:: {Route Map} {match ip next-hop `word`} {} +.. index:: match ip next-hop WORD +.. clicmd:: match ip next-hop WORD -{Route Map} {match ip next-hop `word`} {} -.. index:: {Route Map} {match ip next-hop prefix-list `word`} {} +.. index:: match ip next-hop prefix-list WORD +.. clicmd:: match ip next-hop prefix-list WORD -{Route Map} {match ip next-hop prefix-list `word`} {} -      Match if route next-hop (meaning next-hop listed in the rip route-table -      as displayed by "show ip rip") is permitted by access-list. +   Match if route next-hop (meaning next-hop listed in the rip route-table as +   displayed by "show ip rip") is permitted by access-list. -.. index:: {Route Map} {match metric (0-4294967295)} {} +.. index:: match metric (0-4294967295) +.. clicmd:: match metric (0-4294967295) -{Route Map} {match metric (0-4294967295)} {} -      This command match to the metric value of RIP updates.  For other -      protocol compatibility metric range is shown as (0-4294967295).  But -      for RIP protocol only the value range (0-16) make sense. +   This command match to the metric value of RIP updates. For other protocol +   compatibility metric range is shown as (0-4294967295). But for RIP protocol +   only the value range (0-16) make sense. -.. index:: {Route Map} {set ip next-hop A.B.C.D} {} +.. index:: set ip next-hop A.B.C.D +.. clicmd:: set ip next-hop A.B.C.D -{Route Map} {set ip next-hop A.B.C.D} {} -      This command set next hop value in RIPv2 protocol.  This command does -      not affect RIPv1 because there is no next hop field in the packet. +   This command set next hop value in RIPv2 protocol. This command does not +   affect RIPv1 because there is no next hop field in the packet. -.. index:: {Route Map} {set metric (0-4294967295)} {} +.. index:: set metric (0-4294967295) +.. clicmd:: set metric (0-4294967295) -{Route Map} {set metric (0-4294967295)} {} -      Set a metric for matched route when sending announcement.  The metric -      value range is very large for compatibility with other protocols.  For -      RIP, valid metric values are from 1 to 16. +   Set a metric for matched route when sending announcement. The metric value +   range is very large for compatibility with other protocols. For RIP, valid +   metric values are from 1 to 16.  .. _RIP_Authentication: @@ -552,50 +540,50 @@ on the internet, via RIPv1.  To prevent such unauthenticated querying of routes disable RIPv1,  :ref:`RIP_Version_Control`. -.. index:: {Interface command} {ip rip authentication mode md5} {} +.. index:: ip rip authentication mode md5 +.. clicmd:: ip rip authentication mode md5 -{Interface command} {ip rip authentication mode md5} {} -.. index:: {Interface command} {no ip rip authentication mode md5} {} +.. index:: no ip rip authentication mode md5 +.. clicmd:: no ip rip authentication mode md5 -{Interface command} {no ip rip authentication mode md5} {} -    Set the interface with RIPv2 MD5 authentication. +   Set the interface with RIPv2 MD5 authentication. -.. index:: {Interface command} {ip rip authentication mode text} {} +.. index:: ip rip authentication mode text +.. clicmd:: ip rip authentication mode text -{Interface command} {ip rip authentication mode text} {} -.. index:: {Interface command} {no ip rip authentication mode text} {} +.. index:: no ip rip authentication mode text +.. clicmd:: no ip rip authentication mode text -{Interface command} {no ip rip authentication mode text} {} -      Set the interface with RIPv2 simple password authentication. +   Set the interface with RIPv2 simple password authentication. -.. index:: {Interface command} {ip rip authentication string `string`} {} +.. index:: ip rip authentication string STRING +.. clicmd:: ip rip authentication string STRING -{Interface command} {ip rip authentication string `string`} {} -.. index:: {Interface command} {no ip rip authentication string `string`} {} +.. index:: no ip rip authentication string STRING +.. clicmd:: no ip rip authentication string STRING -{Interface command} {no ip rip authentication string `string`} {} -        RIP version 2 has simple text authentication.  This command sets -        authentication string.  The string must be shorter than 16 characters. +   RIP version 2 has simple text authentication. This command sets +   authentication string. The string must be shorter than 16 characters. -.. index:: {Interface command} {ip rip authentication key-chain `key-chain`} {} +.. index:: ip rip authentication key-chain KEY-CHAIN +.. clicmd:: ip rip authentication key-chain KEY-CHAIN -{Interface command} {ip rip authentication key-chain `key-chain`} {} -.. index:: {Interface command} {no ip rip authentication key-chain `key-chain`} {} +.. index:: no ip rip authentication key-chain KEY-CHAIN +.. clicmd:: no ip rip authentication key-chain KEY-CHAIN -{Interface command} {no ip rip authentication key-chain `key-chain`} {} -          Specifiy Keyed MD5 chain. +   Specifiy Keyed MD5 chain.  :: -          ! -          key chain test -           key 1 -            key-string test -          ! -          interface eth1 -           ip rip authentication mode md5 -           ip rip authentication key-chain test -          ! +    ! +    key chain test +     key 1 +      key-string test +    ! +    interface eth1 +     ip rip authentication mode md5 +     ip rip authentication key-chain test +    !  .. _RIP_Timers: @@ -603,43 +591,34 @@ To prevent such unauthenticated querying of routes disable RIPv1,  RIP Timers  ========== -.. index:: {RIP command} {timers basic `update` `timeout` `garbage`} {} +.. index:: timers basic UPDATE TIMEOUT GARBAGE +.. clicmd:: timers basic UPDATE TIMEOUT GARBAGE -{RIP command} {timers basic `update` `timeout` `garbage`} {} -  RIP protocol has several timers.  User can configure those timers' values -  by `timers basic` command. +   RIP protocol has several timers. User can configure those timers' values +   by `timers basic` command. -  The default settings for the timers are as follows: +   The default settings for the timers are as follows: +   - The update timer is 30 seconds. Every update timer seconds, the RIP +     process is awakened to send an unsolicited Response message containing +     the complete routing table to all neighboring RIP routers. +   - The timeout timer is 180 seconds. Upon expiration of the timeout, the +     route is no longer valid; however, it is retained in the routing table +     for a short time so that neighbors can be notified that the route has +     been dropped. +   - The garbage collect timer is 120 seconds. Upon expiration of the +     garbage-collection timer, the route is finally removed from the routing +     table. -`` -    The update timer is 30 seconds. Every update timer seconds, the RIP -    process is awakened to send an unsolicited Response message containing -    the complete routing table to all neighboring RIP routers. +   The ``timers basic`` command allows the the default values of the timers +   listed above to be changed. +.. index:: no timers basic +.. clicmd:: no timers basic -`` -    The timeout timer is 180 seconds. Upon expiration of the timeout, the -    route is no longer valid; however, it is retained in the routing table -    for a short time so that neighbors can be notified that the route has -    been dropped. - - -`` -    The garbage collect timer is 120 seconds.  Upon expiration of the -    garbage-collection timer, the route is finally removed from the routing -    table. - - -  The `timers basic` command allows the the default values of the timers -  listed above to be changed. - -.. index:: {RIP command} {no timers basic} {} - -{RIP command} {no timers basic} {} -  The `no timers basic` command will reset the timers to the default -  settings listed above. +   The `no timers basic` command will reset the timers to the default settings +   listed above.  .. _Show_RIP_Information: @@ -648,41 +627,41 @@ Show RIP Information  To display RIP routes. -.. index:: Command {show ip rip} {} +.. index:: show ip rip +.. clicmd:: show ip rip -Command {show ip rip} {} -  Show RIP routes. +   Show RIP routes.  The command displays all RIP routes. For routes that are received  through RIP, this command will display the time the packet was sent and -the tag information.  This command will also display this information +the tag information. This command will also display this information  for routes redistributed into RIP. -.. index:: Command {show ip rip status} {} +.. index:: show ip rip status +.. clicmd:: show ip rip status -Command {show ip rip status} {} -  The command displays current RIP status.  It includes RIP timer, -  filtering, version, RIP enabled interface and RIP peer inforation. +   The command displays current RIP status. It includes RIP timer, +   filtering, version, RIP enabled interface and RIP peer inforation.  :: -  ripd> **show ip rip status** -  Routing Protocol is "rip" -    Sending updates every 30 seconds with +/-50%, next due in 35 seconds -    Timeout after 180 seconds, garbage collect after 120 seconds -    Outgoing update filter list for all interface is not set -    Incoming update filter list for all interface is not set -    Default redistribution metric is 1 -    Redistributing: kernel connected -    Default version control: send version 2, receive version 2 -      Interface        Send  Recv -    Routing for Networks: -      eth0 -      eth1 -      1.1.1.1 -      203.181.89.241 -    Routing Information Sources: -      Gateway          BadPackets BadRoutes  Distance Last Update +   ripd> **show ip rip status** +   Routing Protocol is "rip" +     Sending updates every 30 seconds with +/-50%, next due in 35 seconds +     Timeout after 180 seconds, garbage collect after 120 seconds +     Outgoing update filter list for all interface is not set +     Incoming update filter list for all interface is not set +     Default redistribution metric is 1 +     Redistributing: kernel connected +     Default version control: send version 2, receive version 2 +       Interface  Send  Recv +     Routing for Networks: +       eth0 +       eth1 +       1.1.1.1 +       203.181.89.241 +     Routing Information Sources: +       Gateway    BadPackets BadRoutes  Distance Last Update  RIP Debug Commands @@ -690,37 +669,27 @@ RIP Debug Commands  Debug for RIP protocol. -.. index:: Command {debug rip events} {} - -Command {debug rip events} {} -  Debug rip events. - -`debug rip` will show RIP events.  Sending and receiving -packets, timers, and changes in interfaces are events shown with *ripd*. - -.. index:: Command {debug rip packet} {} - -Command {debug rip packet} {} -  Debug rip packet. +.. index:: debug rip events +.. clicmd:: debug rip events -`debug rip packet` will display detailed information about the RIP -packets.  The origin and port number of the packet as well as a packet -dump is shown. +   Shows RIP events. Sending and receiving packets, timers, and changes in +   interfaces are events shown with *ripd*. -.. index:: Command {debug rip zebra} {} +.. index:: debug rip packet +.. clicmd:: debug rip packet -Command {debug rip zebra} {} -  Debug rip between zebra communication. +   Shows display detailed information about the RIP packets. The origin and +   port number of the packet as well as a packet dump is shown. -This command will show the communication between *ripd* and -*zebra*.  The main information will include addition and deletion of -paths to the kernel and the sending and receiving of interface information. +.. index:: debug rip zebra +.. clicmd:: debug rip zebra -.. index:: Command {show debugging rip} {} +   This command will show the communication between *ripd* and *zebra*. The +   main information will include addition and deletion of paths to the kernel +   and the sending and receiving of interface information. -Command {show debugging rip} {} -  Display *ripd*'s debugging option. +.. index:: show debugging rip +.. clicmd:: show debugging rip -`show debugging rip` will show all information currently set for ripd -debug. +   Shows all information currently set for ripd debug.  | 
