RIP Functions¶
emulation rip config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
Creates, enables, modifies, or deletes an emulated Routing Information Protocol (RIP) router on a Spirent TestCenter chassis.
RIP is a protocol for managing routing information within a small homogeneous network such as a corporate local area network (LAN) or an interconnected group of such LANs.
Spirent TestCenter supports the three RIP versions: RIP-1 (RFC 1058), RIP-2 (RFC 1723), and RIPng (RFC 2080). All three are distancevector protocols, have a maximum hop count of 15, and trigger full routing updates to neighbor routers every 30 seconds. Enhancements added by RIP-2 include support of classless routing (prefix routing that includes the subnet mask with the address) and authentication of routing updates (authenticates the originator of the response message). RIPng substitutes IPv6 support for IPv4 support.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation rip config
mode= {create|modify|delete|active|inactive} M
port_handle= <port_handle>
handle= <rip_session_handle>|<device_handle>
authentication_mode text password= <string>
authentication_mode= {null | MD5}
bfd_registration= {1|0}
count= <1-1000>
intf_ip_addr= {<a.b.c.d> | <a:b:c:d:e:f:g:h>}
intf_ip_addr_step= {<a.b.c.d> | <a:b:c:d:e:f:g:h>}
intf_prefix_length= <1-128>
gateway_ip_addr= <a.b.c.d>
gateway_ip_addr_step= <a.b.c.d>
mac_address_start= <aa:bb:cc:dd:ee:ff>
md5_key_id= <1-255>
neighbor_intf_ip_addr= {<a.b.c.d> | <a:b:c:d:e:f:g:h>}
neighbor_intf_ip_addr_step= {<a.b.c.d> | <a:b:c:d:e:f:g:h>}
num_routes_per_period= <1-70>
router_id= <a.b.c.d>
router_id_step= <integer>
send_type= {multicast|broadcast}
session_type= {ripv1|ripv2|ripvng}
time_period= <0-5000>
update_interval= <0-10000>
update_interval_offset= <0-5>
vci= <0-65535>
vci_step= <0-65535>
vlan_cfi= {0|1}
vlan_id= <0-4095>
vlan_id_mode= {fixed|increment}
vlan_id_step= <1-4094>
vlan_user_priority= <0-7>
vlan_outer_id= <0-4095>
vlan_outer_id_mode= {fixed|increment}
vlan_outer_id_step= <1-4094>
vlan_outer_user_priority= <0-7>
vpi= <0-255>
vpi_step= <0-255>
tunnel_handle= <GRE_tunnel_handle>
Arguments:
authentication_mode
Specifies the authentication method to use. Spirent
TestCenter supports MD5 Authentication for emulated RIPv2,
and for RIPv1compatible RIPv2 routers. A RIPv1compatible
is a RIPv2 router that broadcasts route updates. Possible
values are::
null - No authentication.
text - The RIP-2 packet is authenticated by the receiving
router if the password matches the authentication key
that is included in the packet. This method provides
little security because the authentication key can be
learned by watching the RIP packets.
MD5 - The RIP-2 packet contains a cryptographic checksum,
but not the authentication key itself. The receiving
router performs a calculation based on the MD5
algorithm and an authentication key ID. The packet is
authenticated if the calculated checksum matches. This
method provides a stronger assurance that routing data
originated from a router with a valid authentication
key.
bfd_registration
Specifies to enable or disable Bidirectional Forwarding
Detection (BFD) registration. Possible values are 1 (enable)
and 0 (disable). The default is 0.
count
Defines the number of RIP routers to create on the
interface. Possible values are 1 to 1000. The default is 1.
This argument is not valid when mode is set to
"modify".
gateway_ip_addr
`Spirent Extension (for Spirent HLTAPI only).`
Configures the IPv4 gateway address of the router.
gateway_ip_addr_step
`Spirent Extension (for Spirent HLTAPI only).`
Configures the IPv4 gateway address for multiple routers.
This argument is used with the gateway_ip_addr argument.
handle
This argument is `Mandatory` for modify,delete, active and inactive
modes. When mode is set to create, Spirent HLTAPI creates RIP
over the provided device. (Please refer to the description of
the mode argument for more information)
intf_ip_addr
Specifies the IP address of the interface for the RIP
emulated router that will establish an adjacency with the
DUT. The default for IPv4 (RIPv1 and RIPv2) is 192.85.1.3.
The default for IPv6 (RIPng) is 2000:0:0:0:0:0:0:2. The
intf_ip_addr argument is `Mandatory` for "-mode create".
intf_ip_addr_step
Specifies the difference between interface IP addresses of
consecutive routers when multiple RIP routers are created.
Possible values range from 0 - 4294967295. The default for
IPv4 (RIPv1 and RIPv2) is 0.0.0.1. The default for IPv6
(RIPng) is 0:0:0:0:0:0:0:1.
intf_prefix_length
Specifies the prefix length on the emulated router, Possible
values for IPv4 (RIPv1 and RIPv2) addresses range from 1 to
31; the default is 24, Possible values for IPv6 addresses
range from 1 to 128; the default is 64 for IPv6 (RIPng),
mac_address_start
Specifies the MAC address for the first session created for
the RIP configuration.
md5_key
For RIPv2 only, specifies the MD5 password to use for
authentication of RIPv2 messages. This is used as a password
string for text authentication, or as a key string for
MD5. If the SUT is configured to authenticate messages, this
password must match the SUT password in order for the SUT to
accept RIP packets. Using md5_key is the same as using
password. The default is "Spirent".
md5_key_id
Specifies the key ID for MD5 authentication. To use this
argument, you must specify authentication_mode MD5. MD5
verifies the integrity of the communication, authenticates
the origin, and checks for timeliness. This is an integer ID
for the specified MD5 password. Possible values range from 0
to 255. The default is 1.
mode
Specifies the action to be performed. Possible values
are create, modify, and delete. This argument is `Mandatory`. The
modes are described below::
create - When port_handle is provided, Spirent HLTAPI
creates one or more emulated routers that are
associated with the specified port. When handle is
provided, RIP will be created over the specified
device.
modify - Changes the configuration for the RIP router
specified in the handle argument.
delete - Deletes the RIP router specified in the handle
argument.
active - Enables the RIP router specified by the handle
argument. You must specify a valid RIP session handle.
inactive - Disables the RIP router specified by the handle
argument. You must specify a valid RIP session handle.
The configuration for the router is retained when it
is inactive and is available as configured if the
router is active.
Note: When handle is provided for -mode create, the following
options will be obsoleted::
count
mac_address_start
intf_ip_addr
intf_ip_addr_step
intf_prefix_length
link_local_intf_ip_addr
link_local_intf_ip_addr_step
link_local_intf_prefix_len
gateway_ip_addr
gateway_ip_addr_step
router_id
router_id_step
vci
vci_step
vlan_cfi
vlan_id
vlan_id_mode
vlan_id_step
vlan_user_priority
vpi
vpi_step
tunnel_handle
vlan_outer_id
vlan_outer_id_mode
vlan_outer_id_step
vlan_outer_user_priority
neighbor_intf_ip_addr
Specifies the neighbors (SUT) interface IP address for
sending unicast packets. The default for IPv4 is 192.85.1.1.
The default for Ipv6 is 2000:0:0:0:0:0:0:1. The
neighbor_intf_ip_addr argument is `Mandatory` for "-mode
create".
neighbor_intf_ip_addr_step
Specifies the difference between the RIP neighbor's
interface IP addresses when multiple RIP hosts are created.
For Spirent TestCenter, this value is always 0.0.0.0 or
0:0:0:0:0:0:0:0 (that is, the same address).
num_routes_per_period
Specifies the number of routes to transmit every time
period. Possible values range from 1 to 70. The
default is 25. A value of 0 disables this feature and
transmits all routes immediately for all updates.
password
For RIPv2 only, specifies the MD5 password to use for
authentication of RIPv2 messages. This is used as a password
string for text authentication, or as a key string for
MD5. If the SUT is configured to authenticate messages, this
password must match the SUT password in order for the SUT to
accept RIP packets. Using password is the same as using
md5_key. The default is "Spirent".
port_handle
The port on which to create the emulated RIP router. This
handle is returned by the ``connect`` mode=is
set to "create", it is `Mandatory` that you specify port_handle
or handle, but not both. When -mode is set to "modify",
this argument is not valid. (Please refer to the
description of the mode argument for more information)
router_id
Identifies the router ID of RIP session router. The router
ID is a 32bit value, represented in dot notation. Possible
values range from 0.0.0.0 to 255.255.255.255. The default
address is the IP address for intf_ip_address. The
router_id argument is `Mandatory` for "-mode create".
router_id_step
The step size is the increment used to define router IDs for
multiple sessions. Use the router_id_step argument along
with the router_id and -count arguments to create routers
on the interface. You must specify a step value when the
count value is greater than 1. Possible values range from
0.0.0.1 to 255.255.255.255.The default is 0.0.0.1.
send_type
Specifies which version of RIP to use for outgoing RIP
packets. Possible values are::
broadcast You can use broadcast addresses only for RIPv1.
multicast You can use multicast addresses for both RIPv2
and RIPng.
The default for RIPv1 is broadcast. The default for RIPv2 and
RIPng is multicast.
session_type
Specifies the RIP version to be used for each emulated
router. Possible values are ripv1, ripv2, or ripng. The
default is ripv2. This argument is `Mandatory` for "mode modify".
time_period
The interval, in milliseconds, between successive RIP
packets. Possible values range from 0 to 5000. The default
is 0. A value of 0 disables this feature and transmits all
routes immediately for all updates.
update_interval
The time, in seconds, between transmitted update messages.
Possible values range from 1 to 10000. The default is 30.
update_interval_offset
The maximum updateinterval variance, in seconds, between
transmitted update messages. That is, the maximum of a random
time interval used to add or subtract from the time at
which updates are sent. Possible values range from 0 to 5.
The default is 0.
vci
Specifies the VCI of the first ATM PVC pool. Possible values
range from 0 to 65535.
vci_step
Specifies the step size in which the VCI value is
incremented. Possible values range from 0 to 65535.
vlan_cfi
Sets the canonical format indicator field in VLAN for the
emulated router node. Possible values are 0 (Ethernet) and 1
(Token Ring). The default is 0. If set to 0, it indicates
the network is Ethernet. If set to 1, it indicates that
Token Ring and packets are dropped by Ethernet ports.
vlan_id
The VLAN ID of the first VLAN subinterface. Possible values
range from 0 to 4095. The default is 100.
vlan_id_mode
For multiple neighbor configurations, configures the VLAN ID
mode to "fixed" or "increment." If you set this argument to
"increment," then you must also specify the vlan_id_step
argument to indicate the step size. The default is "fixed".
vlan_id_step
The step size by which the VLAN value is incremented when
you set vlan_id_mode to "increment." Possible values range
from 0 to 4095. The default is 1. You must specify the step
when the count argument is greater than 1.
vlan_user_priority
VLAN priority for the VLANs on this port. Possible values
range from 0 to 7. The default is 7.
vlan_outer_id
`Spirent Extension (for Spirent HLTAPI only).`
The outer VLAN ID of VLAN subinterface. Possible values
range from 0 to 4095. The default is 1. When you use
vlan_outer_id, you must specify vlan_id.
vlan_outer_id_mode
`Spirent Extension (for Spirent HLTAPI only).`
Specifies how Spirent TestCenter assigns VLAN tags to
packets in the specified outer header when router count
is greater than 1. Possible values are::
fixed - The outer VLAN ID is the same for all packets.
The fixed outer VLAN ID is the value of the
vlan_outer_id argument.
increment - For all packets, the outer VLAN tag ID
increments by the step specified in the
vlan_outer_id_step argument.
vlan_outer_id_step
`Spirent Extension (for Spirent HLTAPI only).`
The amount by which to increment the specified outer VLAN ID
(vlan_outer_id) for subsequent packets. Possible values
range from 1 to 4094. You must specify this step when
you specify "increment" for the vlan_outer_id_mode argument.
vlan_outer_user_priority
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the VLAN priority to assign to the outer header.
Possible values range from 0 to 7. The default is 0.
vpi
Specifies the VPI of the first ATM PVC pool (for an ATM
connection). Possible values are 0 to 255.
vpi_step
Specifies the step size in which the VPI value is
incremented. Possible values are 0 to 255.
tunnel_handle
Specifies the GRE tunnel handle, an array value, initialized by
the emulation_gre_config command. The router sends traffic through
this tunnel.
Arguments Unsupported by Save as HLTAPI:
None
- Ciscospecific Arguments:
The following arguments are specific to the Cisco HLTAPI but are not supported by Spirent TestCenter:
expiration_interval garbage_interval interface_metric receive_type triggered_interval update_mode
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
handle The handle(s) of the RIP router returned by the ``emulation rip config`` mode= create to create a new RIP router. When you want to modify or delete the RIP router, you specify the handle as the value to the handle argument. status Success (1) or failure (0) of the operation. log An error message (if the operation failed).
- Description:
The
emulation rip config
function creates, enables, modifies, deletes, or disables an emulated RIP router. Use the mode argument to specify the action to perform. (See the mode argument description for information about the actions.)Using RIP, a gateway host (with a router) sends its entire routing table (which lists all the other hosts it knows about) to its closest neighbor host every 30 seconds. The neighbor host in turn will pass the information on to its next neighbor and so on until all hosts within the network have the same knowledge of routing paths, a state known as network convergence.
RIP uses a hop count as a way to determine network distance. (Other protocols use more sophisticated algorithms that include timing as well.) Each host with a router in the network uses the routing table information to determine the next host to route a packet to for a specified destination.
When you create an RIP emulated router, use the port_handle argument to specify the Spirent HLTAPI port that the emulated router will use for RIP communication. (The port handle value is contained in the keyed list returned by the connect function.)
In addition to specifying the port handle (port_handle), you must also provide the following arguments when you create a RIP router:
intf_ip_addr gateway_ip_addr mode create router_id
When you create a RIP router, Spirent HLTAPI creates the router in memory and downloads the configuration to the card. To start the router, use the
emulation rip control
mode=start.Once you start sessions, Spirent HLTAPI handles all of the message traffic for the emulated routers. During the test, use the
emulation rip control
start=individual routers. After you have created the routers for your test, use theemulation rip route config
function to set up the routes.
Examples:
The following example creates a RIP router on the specified port:
emulation rip config port_handle= $port1 mode= create count= 1 authentication_mode= "text" password= "pass" send_type= unicast mac_address_start= 00:10:94:00:00:05 intf_ip_addr= 23.24.0.2 neighbor_intf_ip_addr= 23.24.0.1 neighbor_intf_ip_addr_step= 0.1.0.0 gateway_ip_addr= 23.24.0.1 gateway_ip_addr_step= 0.0.0.1 intf_prefix_length= 16 router_id= 23.24.0.2 update_interval= 30 update_interval_offset= 5 num_routes_per_period= 30 time_period= 30The above example produced the following output:
{handle router1} {handles router1} {status 1}The following example enables RIP over a provided device:
puts "Config LDP--------------------" set routerStatus [emulation ldp config mode= create port_handle= $port1Handle intf_ip_addr= 13.25.0.2 loopback_ip_addr= 13.25.0.1 \ gateway_ip_addr= 13.25.0.1 remote_ip_addr= 13.25.0.2 \ graceful_recovery_timer= 55 keepalive_interval= 56 reconnect_time= 57 recovery_time= 58 egress_label_mode= exnull label_adv= on_demand bfd_registration= 1 ] puts "LDP: $routerStatus" keylget routerStatus handle router puts "Config RIP--------------------" set routerStatus [emulation rip config handle= $router mode= create authentication_mode= "null" send_type= unicast neighbor_intf_ip_addr= 13.25.0.1 puts "RIP: $routerStatus"Sample output for example shown above:
Config LDP-------------------- LDP: {handle router1} {handles router1} {status 1} Config RIP-------------------- RIP: {handle router1} {handles router1} {status 1}
emulation rip control¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Starts or stops a RIP router. You can also use this function to delete a route and to control route flapping.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation rip control
mode= {start|stop|restart|flap} M
handle= <rip_session_handle_list>
port_handle= <port_handle_list>
advertise= <list of route handles>
withdraw= <list of route handles>
flap_count= <1-4294967295>
flap_down_time= <0-4294967295>
flap_interval_time= <0-4294967295>
flap_routes= <list of route handles>
Arguments:
advertise
Readvertises routes in a route pool. This list should only
be passed in the return from the
``emulation rip route config`` function. Use this optional
argument only in start mode. For example::
emulation rip control mode=start
handle router1 -advertise ripv4routeparams1
flap_count
Specifies the number of flaps for each handle specified
(handle or -port_handle). Each flap includes one advertise
and one withdraw. Possible values range from 1 to
4294967295. This argument is `Mandatory` for flap mode
(mode flap).
flap_down_time
During a flapping operation, specifies the period (in
seconds) during which the routes are withdrawn from their
neighbors. Possible values range from 0 to 4294967295. The
default is 0. This argument is `Mandatory` for flap mode
(mode flap).
flap_interval_time
During a flapping operation, the time (in seconds) between
flap cycles. Possible values range from 0 to 4294967295. The
default is 0. This argument is `Mandatory` for flap mode
(mode flap).
flap_routes
Perform periodic route flapping on the specified routes. You
must specify one or more route handles.
handle
Identifies a list of session routers on which to take the RIP
action. The value is returned from the emulation rip config
function when creating a RIP router. You must specify either
handle or -port_handle but not both. This argument is `Mandatory`
when mode is set to "flap".
mode
Specifies the action to be taken. Possible values are start,
stop, or restart either the RIP router or route flapping,
This argument is `Mandatory`. The modes are described below::
start - Starts either the RIP router with the specified
handle (handle) or route flapping, or starts all of
the RIP routers associated with the port specified with
port_handle.
Note that mode start automatically sends out the advertise
for any routes associated with the RIP router. Also,
when any subsequent emulation rip router config
function is called to create a new route after the
router has been started, the newlycreated route is
automatically advertised as well.
stop - Stops either the RIP router with the specified handle
(handle) or route flapping, or stops all of the RIP
routers associated with the port specified with
port_handle.
restart - Stops either the RIP router with the specified
handle (handle) or route flapping and then starts it
again, or stops all RIP routers associated with the
port specified with port_handle. This is not a
graceful restart.
flap - Enables flapping for each route handle specified in
the flap_routes argument.
port_handle
Specifies a list of ports to be controlled. That is,
the ports on which all RIP routers or route flapping should
be started, stopped, or restarted. You must specify either
handle or -port_handle but not both.
withdraw
Specifies the list of route handles to remove (withdraw)
from the route pool. This list should only be passed in the
return from the ``emulation rip route config`` function.
Use this optional argument only in start mode. For example::
emulation rip control mode=start
handle router1 -withdraw ripv4routeparams1
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Success (1) or failure (0) of the operation. log An error message (if the operation failed).
- Description:
- The
emulation rip control
function controls the starting and stopping of RIP routers as well as deleting routes from the route pool.
Examples:
To start a RIP router:
emulation rip control mode=start handle= router1To stop a RIP router:
emulation rip control mode=stop handle= router1To restart a RIP router:
emulation rip control mode=restart handle= router1Sample Output:
{status 1}
emulation rip route config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
Creates routes for or deletes routes from a RIP router. It also defines the characteristics of the routes that will be advertised at the beginning of the session.
When you add a route (see description for mode), Spirent HLTAPI returns the route handle in a keyed list with “handles” as the key.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation rip route config
mode= {create|modify|delete} M
handle= <rip_session_handle>
route_handle= <rip_route_pool_handle>
metric= <1-16>
next_hop= <a.b.c.d | a:b:c:d:e:f:g:h>
num_prefixes= <1 - 1000000>
prefix_start= <a.b.c.d | a:b:c:d:e:f:g:h>
prefix_step= <1-128>
prefix_length= <1-128>
route_tag= <0 - 65535>
Arguments:
handle
Identifies the session router on which to create router
pools or route ranges. This argument is `Mandatory` when mode
is set to "create".
metric
Indicates the cost to the destination network and is
the hop count needed to reach the destination network.
Possible values range from 1 to 16. The default is 1.
mode
Specifies the action to take. Possible values are::
create - Creates a new route pool or range on the port
specified in the handle argument, and then starts
all of the routers under that port. You must specify
the handle argument.
modify - Modifies the route specified in the route_handle
argument.
delete - Removes the route from the RIP pool specified in
the route_handle argument.
next_hop
Defines the IP address of the adjacent router to which the
packet should be sent next. A value of 0.0.0.0 or
0:0:0:0:0:0:0:0 indicates that the next hop is the
advertising router. This value applies only to RIP v2 and
RIPng. The default is 0.0.0.0 for RIPv2 and
0:0:0:0:0:0:0:0 for RIPng.
num_prefixes
Specifies the number of routes to advertise in update
messages. Possible values range from 1 to 1000000. The
default is 1.
prefix_length
Set the width of the network mask. Possible values
range from 1 to 128. The default is 24 for RIPv1 and RIPv2
and 64 for RIPng.
prefix_start
Specifies the IP address of the first route in the range to
be advertised or removed by the emulated RIP router. This
argument is `Mandatory`.
prefix_step
Defines the step interval for the next incremented route
if num_prefixes is set to greater than 1. Possible values
range from 1 to 128. The default depends on the width of the
network mask (see prefix_length): 24 for RIPv1 and RIPv2
and 64 for RIPng.
route_handle
Specifies the handle of the RIP route to be modified or
removed. This argument is `Mandatory` when mode is set to
either "modify" or "delete".
route_tag
An arbitrary value associated with the routes in this range.
Used by RIPv2 & RIPng to distinguish internal routes
(learned from other protocols, such as BGP or OSPF)
from external routes. This value causes the emulated RIP
router to act as a router that runs RIP together with other
protocols (such as BGP, OSPF).Possible values range from 0
to 65535. The default is 0.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
router_handle A handle that identifies the routes created by the ``emulation rip route config`` function. status Success (1) or failure (0) of the operation. log An error message (if the operation failed).
- Description:
The
emulation rip route config
function creates and configures the routes. Use the route_handle argument to identify the router for which to remove routes. (The router handle value is contained in the keyed list returned by the emulation rip config function.) Use the mode argument to specify the action to perform. See the mode argument for a description of the actions.RIP uses a single routing metric (hop count) to measure the distance between the source and a destination network. Each hop in a path from source to destination is assigned a hopcount value, which is typically 1. When a router receives a routing update that contains a new or changed destinationnetwork entry, the router adds one to the metric value indicated in the update and enters the network in the routing table. The IP address of the sender is used as the next hop.
To create RIP routes, you supply the total number of routes, starting IP address, prefix length, and increment value as listed below:
num_prefixes The number of routes in the range prefix_start The starting IP address for the first route in the range prefix_step The increment used to generate IP addresses for each route in the range prefix_length The width of the network mask next_hop The IP address increment used to generate IP addresses for each route in the range metric The hop count needed to reach the destination network
Examples:
The following example adds a route block to the routing table for the specified router:
emulation rip route config mode create handle= router1 num_prefixes= 2 prefix_start= 12.12.13.12 prefix_step= 1 prefix_length= 32The above example produced the following output:
{route_handle ripv4routeparams1} {status 1}
emulation rip info¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- A Spirent Extension function to return statistics about the RIP configuration settings, routing setup, and emulation for the specified RIP router.
Synopsis:
Note: M indicates the argument is `Mandatory`.
emulation rip info
handle= <rip_handle> M
Arguments:
handle
Specifies the router for which you want information.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Retrieves a value indicating the success (1) or failure (0) of the operation. log Retrieves a message describing the last error that occurred during the operation. If the operation was successful - {status 1} - the log value is null. router_state The state of the emulated RIP router on the current port. No state. CLOSED The emulated router has been created but not yet started. OPEN The emulated router has been created and started. update_interval_offset Maximum updateinterval variance, in seconds, between transmitted update messages. session_type The RIP version used for the router. Possible values are ripv1, ripv2, and ripng. neighbor_intf_ip_addr The difference between the RIP neighbor's interface IP addresses when multiple RIP hosts are created. intf_ip_address IP address of the port on the interface card:: a.b.c.d. gateway_ip_addr IPv4 gateway address of the router. router_id The router ID of the RIP session router. intf_prefix_length The prefix length on the emulated router. mac_address_start Starting MAC address time_period The interval, in milliseconds, between successive RIP packets. send_type Version of RIP to use for outgoing RIP packets. num_routes_per_period Number of routes to transmit every time period. update_interval Number of seconds between transmitted update messages. password (For RIPv2 only) The MD5 password used to authenticate RIPv2 messages md5_key Key ID for MD5 authentication. authentication_mode Authentication method used: , text, or MD5. route_tag Value used by RIPv2 and RIPng to distinguish internal routes from external routes. metric Value indicating the cost to the destination network. Also, the hop count needed to reach the destination network. next_hop IP address of the adjacent router to which the packet should be sent next. num_prefixes Number of routes to advertise in update messages. prefix_start Starting IP address for the first route in the range. prefix_step Increment used to generate IP addresses for each route in the range. prefix_length Width of the network mask tx_advertised_update_count Number of advertised routes sent by the emulated router. rx_withdrawn_update_count Number of unreachable (metric 16) routes received by the emulated router. rx_advertised_update_count Number of advertised routes received by the emulated router.
- Description:
- This function returns the requested data and a status value (1 for success). If there is an error, the function returns the status value (0) and an error message. Function return values are formatted as a keyed list (supported by the Tcl extension software - TclX). Use the TclX function keylget to retrieve data from the keyed list. (See Return Values for a description of each key.)
Examples:
Sample Input:
emulation rip info handle=router1Sample Output:
{router_state open} {update_interval_offset 12} {session_type ripv2} {neighbor_intf_ip_addr 23.24.0.1} {time_period 10} {send_type unicast} {num_routes_per_period 11} {update_interval 13} {password pass} {md5_key 20} {authentication_mode MD5} {route_tag 0} {metric 1} {next_hop null} {num_prefixes 2} {prefix_start 12.12.13.12} {prefix_step 1} {prefix_length 32} {tx_advertised_update_count 10.000000} {rx_withdrawn_update_count 0.000000} {rx_advertised_update_count 0.000000} {status 1}End of Procedure Header