- Connect to the CLI
- Entering CLI commands
- Command Line Interface Commands
- clear engine statistics
- clear interface interface statistics
- clear node statistics
- exit
- set interface interface failure failure
- set level level
- set node node
- show engine
- show engine statistics
- show engine statistics exclude-zero
- show flooding-reduction
- show forwarding
- show forwarding prefix prefix
- show fsm fsm
- show interface interface
- show interface interface fsm history
- show interface interface fsm verbose-history
- show interface interface queues
- show interface interface sockets
- show interface interface statistics
- show interface interface statistics exclude-zero
- show interfaces
- show kernel addresses
- show kernel links
- show kernel routes
- show kernel routes table table
- show kernel routes table table prefix prefix
- show node
- show node fsm history
- show node fsm verbose-history
- show node statistics
- show node statistics exclude-zero
- show nodes
- show nodes level
- show routes
- show routes prefix prefix
- show routes prefix prefix owner owner
- show spf
- show spf direction direction
- show spf direction direction destination destination
- show tie-db
- stop
Go to the top of the directory where the rift-python repository was cloned (in this example we assume it was cloned into your home directory):
$ cd ${HOME}/rift-python
Make sure your virtual environment (that was created during the installation process) is activated:
$ source env/bin/activate (env) $
Start the rift package:
(env) $ python rift Command Line Interface (CLI) available on port 61375
Optionally you may pass a topology YAML file as a command-line argument:
(env) $ python rift topology/two_by_two_by_two.yaml Command Line Interface (CLI) available on port 61377
When you start the Python RIFT protocol engine, it reports a port number that you can use to connect one or more CLI sessions.
You can connect to the Command Line Interface (CLI) using a Telnet client. Assuming you are connecting from the same device as where the RIFT engine is running, the hostname is localhost.
$ telnet localhost 61377 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. agg_101>
You should get a prompt containing the name of the current RIFT node. In this example the name of the current RIFT node is "agg_101".
You can enter CLI commands at the CLI prompt. For example, try entering the help command:
agg_101> help clear engine statistics clear interface <interface> statistics clear node statistics exit set interface <interface> failure <failure> set level <level> set node <node> show engine show engine statistics show engine statistics exclude-zero show flooding-reduction show forwarding show forwarding prefix <prefix> show fsm lie show fsm ztp show interface <interface> show interface <interface> fsm history show interface <interface> fsm verbose-history show interface <interface> queues show interface <interface> sockets show interface <interface> statistics show interface <interface> statistics exclude-zero show interface <interface> tides show interfaces show kernel addresses show kernel links show kernel routes show kernel routes table <table> show kernel routes table <table> prefix <prefix> show node show node fsm history show node fsm verbose-history show node statistics show node statistics exclude-zero show nodes show nodes level show routes show routes prefix <prefix> show routes prefix <prefix> owner <owner> show spf show spf direction <direction> show spf direction <direction> destination <destination> show tie-db stop
If you are connected to the CLI using Telnet, you can use the following keys for editing:
-
Cursor-Left: Move cursor on character left.
-
Cursor-Right: Move cursor on character right
-
Cursor-Up or Control-P: Go to the previous command in command history.
-
Cursor-Down or Control-N: Go to the next command in command history.
-
Control-A: Move cursor to the start of the line.
-
Control-E: Move cursor to the end of the line.
The CLI does not yet support any of the following features:
-
Command completion: you must manually enter the complete command; you cannot enter partial commands or use tab to complete commands.
-
Interactive context-sensitive help: you can enter "help" or "?" and press enter at the end of a partial command line to get context-sensitive help. But after reading the help text, you must manually re-enter the command line.
The "clear engine statistics" command clears (i.e. resets to zero) all the statistics of the RIFT-Python engine.
agg_101> clear engine statistics
See also: show engine statistics, show engine statistics exclude-zero
The "clear interface interface statistics" command clears (i.e. resets to zero) all the statistics of the specified interface.
agg_101> clear interface if_101_1 statistics
See also: show interface interface statistics, show interface interface statistics exclude-zero
The "clear node statistics" clears (i.e. resets to zero) all the statistics of the current node.
agg_101> clear node statistics
See also: show node statistics, show node statistics exclude-zero
The "exit command closes the CLI session.
Example:
(env) $ python rift topology/two_by_two_by_two.yaml Command Line Interface (CLI) available on port 50102
$ telnet localhost 50102 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. agg_101> exit agg_101> Connection closed by foreign host. $
Normally, the RIFT engine continues to run when a CLI session is closed. However, if the RIFT engine was started interactively using the --interactive command line option, then exiting the CLI also causes the RIFT engine to stop:
Example:
(env) $ python rift --interactive topology/two_by_two_by_two.yaml agg_101> exit (env) $
The "set interface interface failure failure" enables or disables a simulated failure of an interface.
The failure parameter can be one of the following:
failure | Meaning |
---|---|
ok | The interface is OK. There is no failure. |
failed | There is a bi-directional failure on the interface. Both sent and received packets are dropped. |
tx-failed | There is a uni-directional failure on the interface. Sent (TX) packets are dropped. Received (RX) packets are delivered. |
rx-failed | There is a uni-directional failure on the interface. Sent (TX) packets are delivered. Received (RX) packets are dropped. |
Example:
agg_101> set interface if1 failure failed Error: interface if1 not present
The "set level level" command changes the level of the currently active RIFT node.
The valid values for the level parameter are undefined, leaf, leaf-to-leaf, superspine, or an integer non-negative number.
These level values are mapped to the parameters in the protocol specification as follows:
level value | LEAF_ONLY | LEAF_2_LEAF | TOP_OF_FABRIC_FLAG | CONFIGURED_LEVEL |
---|---|---|---|---|
undefined | false | false | false | UNDEFINED_LEVEL |
leaf | true | false | false | UNDEFINED_LEVEL (see note 1) |
leaf-to-leaf | true | true | false | UNDEFINED_LEVEL (see note 1) |
superspine | false | false | true | UNDEFINED_LEVEL (see note 2) |
integer non-negative number | true if level = 0, false otherwise | false | false | level |
Note 1: Even if the CONFIGURED_LEVEL is UNDEFINED_LEVEL, nodes with the LEAF_ONLY flag set will advertise level leaf_level (= 0) in the sent LIE packets.
Note 2: Event if CONFIGURED_LEVEL is UNDEFINED_LEVEL, nodes with the TOP_OF_FABRIC_FLAG set will advertise level top_of_fabric_level (= 24) in the sent LIE packets.
Example:
agg_101> set level undefined
The "set node node-name" command changes the currently active RIFT node to the node with the specified RIFT node name:
Note: you can get a list of RIFT nodes present in the current RIFT protocol engine using the show nodes command.
Example:
agg_101> set node core_1 core_1>
The "show engine" command shows the status of the RIFT engine, i.e. global information that applies to all nodes running in the RIFT engine.
Example:
agg_101> show engine +----------------------------------+---------------------+ | Stand-alone | False | | Interactive | True | | Simulated Interfaces | True | | Physical Interface | eth0 | | Telnet Port File | None | | IPv4 Multicast Loopback | True | | IPv6 Multicast Loopback | True | | Number of Nodes | 10 | | Transmit Source Address | 127.0.0.1 | | Flooding Reduction Enabled | True | | Flooding Reduction Redundancy | 2 | | Flooding Reduction Similarity | 2 | | Flooding Reduction System Random | 8765045630663094069 | +----------------------------------+---------------------+
The "show engine statistics" command shows all the statistics for the RIFT-Python engine.
Example:
agg_101> show engine statistics All Node ZTP FSMs: +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ | Events CHANGE_LOCAL_CONFIGURED_LEVEL | 1 Event | | 0d 00h:00m:00.23s | +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ | Events NEIGHBOR_OFFER | 46 Events | 123.99 Events/Sec | 0d 00h:00m:00.01s | +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ | Events BETTER_HAL | 0 Events | | | +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ | Events BETTER_HAT | 0 Events | | | +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ . . . . . . . . . . +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ | Event-Transitions UPDATING_CLIENTS -[CHANGE_LOCAL_CONFIGURED_LEVEL]-> COMPUTE_BEST_OFFER | 1 Transition | | 0d 00h:00m:00.23s | +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ All Interfaces Traffic: +---------------------------+------------------------+----------------------------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +---------------------------+------------------------+----------------------------------------+-------------------+ | RX IPv4 LIE Packets | 24 Packets, 3780 Bytes | 56.69 Packets/Sec, 9057.38 Bytes/Sec | 0d 00h:00m:00.01s | +---------------------------+------------------------+----------------------------------------+-------------------+ | TX IPv4 LIE Packets | 28 Packets, 4312 Bytes | 56.82 Packets/Sec, 9078.06 Bytes/Sec | 0d 00h:00m:00.01s | +---------------------------+------------------------+----------------------------------------+-------------------+ | RX IPv4 TIE Packets | 0 Packets, 0 Bytes | | | +---------------------------+------------------------+----------------------------------------+-------------------+ | TX IPv4 TIE Packets | 0 Packets, 0 Bytes | | | +---------------------------+------------------------+----------------------------------------+-------------------+ . . . . . . . . . . +---------------------------+------------------------+----------------------------------------+-------------------+ | Total TX Errors | 0 Packets, 0 Bytes | | | +---------------------------+------------------------+----------------------------------------+-------------------+ All Interface LIE FSMs: +-----------------------------------------------------------+----------------+------------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +-----------------------------------------------------------+----------------+------------------------+-------------------+ | Events TIMER_TICK | 28 Events | 57.51 Events/Sec | 0d 00h:00m:00.02s | +-----------------------------------------------------------+----------------+------------------------+-------------------+ | Events LEVEL_CHANGED | 0 Events | | | +-----------------------------------------------------------+----------------+------------------------+-------------------+ | Events HAL_CHANGED | 0 Events | | | +-----------------------------------------------------------+----------------+------------------------+-------------------+ | Events HAT_CHANGED | 0 Events | | | +-----------------------------------------------------------+----------------+------------------------+-------------------+ . . . . . . . . . . +-----------------------------------------------------------+----------------+------------------------+-------------------+ | Event-Transitions ONE_WAY -[SEND_LIE]-> ONE_WAY | 4 Transitions | 21.30 Transitions/Sec | 0d 00h:00m:00.18s | +-----------------------------------------------------------+----------------+------------------------+-------------------+
The "show engine statistics" command shows all the statistics for the RIFT-Python engine, excluding any zero statistics.
Example:
agg_101> show engine statistics exclude-zero All Node ZTP FSMs: +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ | Events CHANGE_LOCAL_CONFIGURED_LEVEL | 1 Event | | 0d 00h:00m:00.38s | +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ | Events NEIGHBOR_OFFER | 48 Events | 100.90 Events/Sec | 0d 00h:00m:00.12s | +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ | Events COMPUTATION_DONE | 1 Event | | 0d 00h:00m:00.37s | +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ | Transitions COMPUTE_BEST_OFFER -> UPDATING_CLIENTS | 1 Transition | | 0d 00h:00m:00.37s | +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ . . . . . . . . . . +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ | Event-Transitions UPDATING_CLIENTS -[CHANGE_LOCAL_CONFIGURED_LEVEL]-> COMPUTE_BEST_OFFER | 1 Transition | | 0d 00h:00m:00.37s | +------------------------------------------------------------------------------------------+----------------+------------------------+-------------------+ All Interfaces Traffic: +-----------------------+------------------------+----------------------------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +-----------------------+------------------------+----------------------------------------+-------------------+ | RX IPv4 LIE Packets | 24 Packets, 3780 Bytes | 56.69 Packets/Sec, 9057.38 Bytes/Sec | 0d 00h:00m:00.15s | +-----------------------+------------------------+----------------------------------------+-------------------+ | TX IPv4 LIE Packets | 28 Packets, 4312 Bytes | 56.82 Packets/Sec, 9078.06 Bytes/Sec | 0d 00h:00m:00.15s | +-----------------------+------------------------+----------------------------------------+-------------------+ | RX IPv6 LIE Packets | 24 Packets, 3780 Bytes | 56.66 Packets/Sec, 9053.19 Bytes/Sec | 0d 00h:00m:00.15s | +-----------------------+------------------------+----------------------------------------+-------------------+ | TX IPv6 LIE Packets | 28 Packets, 4312 Bytes | 56.79 Packets/Sec, 9073.62 Bytes/Sec | 0d 00h:00m:00.15s | +-----------------------+------------------------+----------------------------------------+-------------------+ . . . . . . . . . . +-----------------------+------------------------+----------------------------------------+-------------------+ | Total TX Packets | 56 Packets, 8624 Bytes | 123.50 Packets/Sec, 19760.05 Bytes/Sec | 0d 00h:00m:00.15s | +-----------------------+------------------------+----------------------------------------+-------------------+ All Interface LIE FSMs: +---------------------------------------------------------+----------------+------------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +---------------------------------------------------------+----------------+------------------------+-------------------+ | Events TIMER_TICK | 28 Events | 57.51 Events/Sec | 0d 00h:00m:00.16s | +---------------------------------------------------------+----------------+------------------------+-------------------+ | Events LIE_RECEIVED | 48 Events | 100.71 Events/Sec | 0d 00h:00m:00.13s | +---------------------------------------------------------+----------------+------------------------+-------------------+ | Events SEND_LIE | 28 Events | 57.46 Events/Sec | 0d 00h:00m:00.16s | +---------------------------------------------------------+----------------+------------------------+-------------------+ | Transitions ONE_WAY -> ONE_WAY | 8 Transitions | 48.79 Transitions/Sec | 0d 00h:00m:00.32s | +---------------------------------------------------------+----------------+------------------------+-------------------+ . . . . . . . . . . +---------------------------------------------------------+----------------+------------------------+-------------------+ | Event-Transitions ONE_WAY -[SEND_LIE]-> ONE_WAY | 4 Transitions | 21.30 Transitions/Sec | 0d 00h:00m:00.32s | +---------------------------------------------------------+----------------+------------------------+-------------------+
The "show flooding-reduction" command shows information about flooding reduction. Specifically, it shows which parent routers have been elected as Flood Repeaters (FRs) including additional information to understand the steps in the algorithm for the election.
Example:
agg_101> show flooding-reduction Parents: +-----------+-----------+-----------------+-------------+------------+----------+ | Interface | Parent | Parent | Grandparent | Similarity | Flood | | Name | System ID | Interface | Count | Group | Repeater | | | | Name | | | | +-----------+-----------+-----------------+-------------+------------+----------+ | if_101_1 | 1 | core_1:if_1_101 | 0 | 1: 0-0 | False | +-----------+-----------+-----------------+-------------+------------+----------+ Grandparents: +-------------+--------+-------------+-------------+ | Grandparent | Parent | Flood | Redundantly | | System ID | Count | Repeater | Covered | | | | Adjacencies | | +-------------+--------+-------------+-------------+ Interfaces: +-------------+-----------------------+-----------+-----------+-----------+----------------+----------------+ | Interface | Neighbor | Neighbor | Neighbor | Neighbor | Neighbor is | This Node is | | Name | Interface | System ID | State | Direction | Flood Repeater | Flood Repeater | | | Name | | | | for This Node | for Neighbor | +-------------+-----------------------+-----------+-----------+-----------+----------------+----------------+ | if_101_1 | core_1:if_1_101 | 1 | THREE_WAY | North | False | Not Applicable | +-------------+-----------------------+-----------+-----------+-----------+----------------+----------------+ | if_101_1001 | edge_1001:if_1001_101 | 1001 | THREE_WAY | South | Not Applicable | True | +-------------+-----------------------+-----------+-----------+-----------+----------------+----------------+ | if_101_1002 | edge_1002:if_1002_101 | 1002 | THREE_WAY | South | Not Applicable | True | +-------------+-----------------------+-----------+-----------+-----------+----------------+----------------+ | if_101_2 | | | ONE_WAY | | Not Applicable | Not Applicable | +-------------+-----------------------+-----------+-----------+-----------+----------------+----------------+
The "show forwarding" command shows all routes in the Forwarding Information Base (FIB) of the current node. It shows both the IPv4 FIB and the IPv6 FIB.
Example:
agg_101> show forwarding IPv4 Routes: +---------------+-----------+------------------------+ | Prefix | Owner | Next-hops | +---------------+-----------+------------------------+ | 0.0.0.0/0 | North SPF | if_101_1 172.17.0.3 | +---------------+-----------+------------------------+ | 1.1.1.0/24 | South SPF | if_101_1001 172.17.0.3 | +---------------+-----------+------------------------+ | 1.1.2.0/24 | South SPF | if_101_1001 172.17.0.3 | +---------------+-----------+------------------------+ | 1.1.3.0/24 | South SPF | if_101_1001 172.17.0.3 | +---------------+-----------+------------------------+ . . . . . . . . +---------------+-----------+------------------------+ | 99.99.99.0/24 | South SPF | if_101_1001 172.17.0.3 | | | | if_101_1002 172.17.0.3 | +---------------+-----------+------------------------+ IPv6 Routes: +--------+-----------+-------------------------------+ | Prefix | Owner | Next-hops | +--------+-----------+-------------------------------+ | ::/0 | North SPF | if_101_1 fe80::42:acff:fe11:3 | +--------+-----------+-------------------------------+
The "show forwarding prefix prefix" command shows the route for a given prefix in the Forwarding Information Base (FIB) of the current node.
Parameter prefix must be an IPv4 prefix or an IPv6 prefix
Example:
agg_101> show forwarding prefix ::/0 +--------+-----------+-------------------------------+ | Prefix | Owner | Next-hops | +--------+-----------+-------------------------------+ | ::/0 | North SPF | if_101_1 fe80::42:acff:fe11:3 | +--------+-----------+-------------------------------+
The "show fsm fsm" command shows the definition of the specified Finite State Machine (FSM).
Parameter fsm specifies the name of the FSM and can be one of the following values:
- lie: Show the Link Information Element (LIE) FSM.
- ztp: Show the Zero Touch Provisioning (ZTP) FSM.
Example:
agg_101> show fsm lie States: +-----------+ | State | +-----------+ | ONE_WAY | +-----------+ | TWO_WAY | +-----------+ | THREE_WAY | +-----------+ Events: +-------------------------------+---------+ | Event | Verbose | +-------------------------------+---------+ | TIMER_TICK | True | +-------------------------------+---------+ | LEVEL_CHANGED | False | +-------------------------------+---------+ | HAL_CHANGED | False | +-------------------------------+---------+ | HAT_CHANGED | False | +-------------------------------+---------+ . . . . . . +-------------------------------+---------+ | SEND_LIE | True | +-------------------------------+---------+ Transitions: +------------+-----------------------------+-----------+-------------------------+-------------+ | From state | Event | To state | Actions | Push events | +------------+-----------------------------+-----------+-------------------------+-------------+ | ONE_WAY | TIMER_TICK | - | - | SEND_LIE | +------------+-----------------------------+-----------+-------------------------+-------------+ | ONE_WAY | LEVEL_CHANGED | ONE_WAY | update_level | SEND_LIE | +------------+-----------------------------+-----------+-------------------------+-------------+ | ONE_WAY | HAL_CHANGED | - | store_hal | - | +------------+-----------------------------+-----------+-------------------------+-------------+ | ONE_WAY | HAT_CHANGED | - | store_hat | - | +------------+-----------------------------+-----------+-------------------------+-------------+ . . . . . . . . . . . . +------------+-----------------------------+-----------+-------------------------+-------------+ | THREE_WAY | SEND_LIE | - | send_lie | - | +------------+-----------------------------+-----------+-------------------------+-------------+ State entry actions: +-----------+----------------+---------------+ | State | Entry Actions | Exit Actions | +-----------+----------------+---------------+ | ONE_WAY | cleanup | - | | | send_lie | | +-----------+----------------+---------------+ | THREE_WAY | start_flooding | stop_flooding | +-----------+----------------+---------------+
agg_101> show fsm ztp States: +--------------------+ | State | +--------------------+ | UPDATING_CLIENTS | +--------------------+ | HOLDING_DOWN | +--------------------+ | COMPUTE_BEST_OFFER | +--------------------+ Events: +-------------------------------+---------+ | Event | Verbose | +-------------------------------+---------+ | CHANGE_LOCAL_CONFIGURED_LEVEL | False | +-------------------------------+---------+ | NEIGHBOR_OFFER | True | +-------------------------------+---------+ | BETTER_HAL | False | +-------------------------------+---------+ | BETTER_HAT | False | +-------------------------------+---------+ . . . . . . +-------------------------------+---------+ | HOLD_DOWN_EXPIRED | False | +-------------------------------+---------+ Transitions: +--------------------+-------------------------------+--------------------+-------------------------+-------------+ | From state | Event | To state | Actions | Push events | +--------------------+-------------------------------+--------------------+-------------------------+-------------+ | UPDATING_CLIENTS | CHANGE_LOCAL_CONFIGURED_LEVEL | COMPUTE_BEST_OFFER | store_level | - | +--------------------+-------------------------------+--------------------+-------------------------+-------------+ | UPDATING_CLIENTS | NEIGHBOR_OFFER | - | update_or_remove_offer | - | +--------------------+-------------------------------+--------------------+-------------------------+-------------+ | UPDATING_CLIENTS | BETTER_HAL | COMPUTE_BEST_OFFER | - | - | +--------------------+-------------------------------+--------------------+-------------------------+-------------+ | UPDATING_CLIENTS | BETTER_HAT | COMPUTE_BEST_OFFER | - | - | +--------------------+-------------------------------+--------------------+-------------------------+-------------+ . . . . . . . . . . . . +--------------------+-------------------------------+--------------------+-------------------------+-------------+ | COMPUTE_BEST_OFFER | COMPUTATION_DONE | UPDATING_CLIENTS | - | - | +--------------------+-------------------------------+--------------------+-------------------------+-------------+ State entry actions: +--------------------+----------------------+--------------+ | State | Entry Actions | Exit Actions | +--------------------+----------------------+--------------+ | COMPUTE_BEST_OFFER | stop_hold_down_timer | - | | | level_compute | | +--------------------+----------------------+--------------+ | UPDATING_CLIENTS | update_all_lie_fsms | - | +--------------------+----------------------+--------------+
The "show interface interface" command reports more detailed information about a single interface. If there is a neighbor on the interface, the command also shows details about that neighbor.
The interface parameter is the name of an interface of the current node. You can get a list of interfaces of the current node using the show interfaces command.
Example of an interface which does have a neighbor (adjacency in state THREE_WAY):
agg_101> show interface if_101_1 Interface: +--------------------------------------+----------------------------------------------------------+ | Interface Name | if_101_1 | | Physical Interface Name | eth0 | | Advertised Name | agg_101:if_101_1 | | Interface IPv4 Address | 172.17.0.3 | | Interface IPv6 Address | 2001:db8:1::242:ac11:3 | | Interface Index | 12 | | Metric | 1 | | LIE Recieve IPv4 Multicast Address | 224.0.0.81 | | LIE Receive IPv6 Multicast Address | FF02::0078 | | LIE Receive Port | 20001 | | LIE Transmit IPv4 Multicast Address | 224.0.0.71 | | LIE Transmit IPv6 Multicast Address | FF02::0078 | | LIE Transmit Port | 20002 | | Flooding Receive Port | 20004 | | System ID | 101 | | Local ID | 1 | | MTU | 1400 | | POD | 0 | | Failure | ok | | State | THREE_WAY | | Received LIE Accepted or Rejected | Accepted | | Received LIE Accept or Reject Reason | Neither node is leaf and level difference is at most one | | Neighbor is Flood Repeater | False | +--------------------------------------+----------------------------------------------------------+ Neighbor: +------------------------+---------------------------+ | Name | core_1:if_1_101 | | System ID | 1 | | IPv4 Address | 172.17.0.3 | | IPv6 Address | fe80::42:acff:fe11:3%eth0 | | LIE UDP Source Port | 38546 | | Link ID | 1 | | Level | 2 | | Flood UDP Port | 20003 | | MTU | 1400 | | POD | 0 | | Hold Time | 3 | | Not a ZTP Offer | False | | You are Flood Repeater | False | | Your System ID | 101 | | Your Local ID | 1 | +------------------------+---------------------------+
The "show interface interface fsm history" command shows the 25 most recent "interesting" executed events for the Link Information Element (LIE) Finite State Machine (FSM) associated with the interface. The most recent event is at the top.
This command only shows the "interesting" events, i.e. it does not show any events that are marked as "verbose" by the "show fsm lie" command. Use the "show interface interface fsm verbose-history" command if you want to see all events.
Example:
agg_101> show interface if_101_1001 fsm history +----------+----------+---------+---------+------------------+----------------+-----------+----------+ | Sequence | Time | Verbose | From | Event | Actions and | To | Implicit | | Nr | Delta | Skipped | State | | Pushed Events | State | | +----------+----------+---------+---------+------------------+----------------+-----------+----------+ | 236 | 9.631276 | 3 | TWO_WAY | VALID_REFLECTION | start_flooding | THREE_WAY | False | +----------+----------+---------+---------+------------------+----------------+-----------+----------+ | 66 | 0.339630 | 1 | ONE_WAY | NEW_NEIGHBOR | SEND_LIE | TWO_WAY | False | +----------+----------+---------+---------+------------------+----------------+-----------+----------+ | 9 | 0.365437 | 0 | None | None | cleanup | ONE_WAY | False | | | | | | | send_lie | | | +----------+----------+---------+---------+------------------+----------------+-----------+----------+
The "show interface interface fsm verbose-history" command shows the 25 most recent executed events for the Link Information Element (LIE) Finite State Machine (FSM) associated with the interface. The most recent event is at the top.
This command shows all events, including the events that are marked as verbose by the "show fsm lie" command. Because of this, the output tends to be dominated by non-interesting verbose events such as timer ticks and the sending and receiving of periodic LIE messages. Use the "show interface interface fsm history" command if you only want to see "interesting" events.
Example:
agg_101> show interface if_101_1001 fsm verbose-history +----------+----------+---------+-----------+--------------+-------------------------+-------+----------+ | Sequence | Time | Verbose | From | Event | Actions and | To | Implicit | | Nr | Delta | Skipped | State | | Pushed Events | State | | +----------+----------+---------+-----------+--------------+-------------------------+-------+----------+ | 1778 | 0.274000 | 0 | THREE_WAY | LIE_RECEIVED | process_lie | None | False | +----------+----------+---------+-----------+--------------+-------------------------+-------+----------+ | 1777 | 0.000199 | 0 | THREE_WAY | LIE_RECEIVED | process_lie | None | False | +----------+----------+---------+-----------+--------------+-------------------------+-------+----------+ | 1702 | 0.173429 | 0 | THREE_WAY | SEND_LIE | send_lie | None | False | +----------+----------+---------+-----------+--------------+-------------------------+-------+----------+ | 1701 | 0.001153 | 0 | THREE_WAY | TIMER_TICK | check_hold_time_expired | None | False | | | | | | | SEND_LIE | | | +----------+----------+---------+-----------+--------------+-------------------------+-------+----------+ . . . . . . . . . . . . . . . . . . +----------+----------+---------+-----------+--------------+-------------------------+-------+----------+ | 866 | 0.808692 | 0 | THREE_WAY | LIE_RECEIVED | process_lie | None | False | +----------+----------+---------+-----------+--------------+-------------------------+-------+----------+
The "show interface interface queues" command shows flooding queues:
Queue name | Messages in queue |
---|---|
Transmit queue | The TIE headers that need to be transmitted in a TIE message over this interface |
Retransmit queue | The TIE headers that need to be re-transmitted in a TIE message over this interface |
Request queue | The TIE headers that need to be requested in a TIRE message over this interface |
Acknowledge queue | The TIE headers that need to be acknowledged in a TIRE message over this interface |
When the flooding has converged, all queues are expected to be empty. A queue that is persistently non-empty indicates a problem in flooding convergence.
Example:
agg_101> show interface if_101_1 queues Transmit queue: +-----------+------------+------+--------+--------+-----------+-------------+ | Direction | Originator | Type | TIE Nr | Seq Nr | Remaining | Origination | | | | | | | Lifetime | Time | +-----------+------------+------+--------+--------+-----------+-------------+ Retransmit queue: +-----------+------------+------+--------+--------+-----------+-------------+ | Direction | Originator | Type | TIE Nr | Seq Nr | Remaining | Origination | | | | | | | Lifetime | Time | +-----------+------------+------+--------+--------+-----------+-------------+ Request queue: +-----------+------------+------+--------+--------+-----------+-------------+ | Direction | Originator | Type | TIE Nr | Seq Nr | Remaining | Origination | | | | | | | Lifetime | Time | +-----------+------------+------+--------+--------+-----------+-------------+ Acknowledge queue: +-----------+------------+------+--------+--------+-----------+-------------+ | Direction | Originator | Type | TIE Nr | Seq Nr | Remaining | Origination | | | | | | | Lifetime | Time | +-----------+------------+------+--------+--------+-----------+-------------+
The "show interface interface sockets" command shows the sockets that the current node has opened for sending and receiving packets.
Example:
agg_101> show interface if_101_1 sockets +----------+-----------+--------+---------------------------+------------+----------------+-------------+ | Traffic | Direction | Family | Local Address | Local Port | Remote Address | Remote Port | +----------+-----------+--------+---------------------------+------------+----------------+-------------+ | LIEs | Receive | IPv4 | 224.0.0.81 | 20001 | Any | Any | +----------+-----------+--------+---------------------------+------------+----------------+-------------+ | LIEs | Receive | IPv6 | ff02::78%eth0 | 20001 | Any | Any | +----------+-----------+--------+---------------------------+------------+----------------+-------------+ | LIEs | Send | IPv4 | 172.17.0.3 | 58543 | 224.0.0.71 | 20002 | +----------+-----------+--------+---------------------------+------------+----------------+-------------+ | LIEs | Send | IPv6 | fe80::42:acff:fe11:3%eth0 | 56542 | ff02::78%eth0 | 20002 | +----------+-----------+--------+---------------------------+------------+----------------+-------------+ . . . . . . . . . . . . . . . . +----------+-----------+--------+---------------------------+------------+----------------+-------------+ | Flooding | Send | IPv4 | 172.17.0.3 | 35781 | 172.17.0.3 | 20003 | +----------+-----------+--------+---------------------------+------------+----------------+-------------+
The "show interface interface statistics" command shows all the statistics for the speficied interface.
Example:
agg_101> show interface if_101_1 statistics Traffic: +---------------------------+-----------------------+-------------------------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +---------------------------+-----------------------+-------------------------------------+-------------------+ | RX IPv4 LIE Packets | 2 Packets, 308 Bytes | 1.00 Packets/Sec, 154.18 Bytes/Sec | 0d 00h:00m:00.88s | +---------------------------+-----------------------+-------------------------------------+-------------------+ | TX IPv4 LIE Packets | 2 Packets, 310 Bytes | 0.99 Packets/Sec, 152.68 Bytes/Sec | 0d 00h:00m:00.80s | +---------------------------+-----------------------+-------------------------------------+-------------------+ | RX IPv4 TIE Packets | 0 Packets, 0 Bytes | | | +---------------------------+-----------------------+-------------------------------------+-------------------+ | TX IPv4 TIE Packets | 0 Packets, 0 Bytes | | | +---------------------------+-----------------------+-------------------------------------+-------------------+ . . . . . . . . . . +---------------------------+-----------------------+-------------------------------------+-------------------+ | Total TX Errors | 0 Packets, 0 Bytes | | | +---------------------------+-----------------------+-------------------------------------+-------------------+ LIE FSM: +-----------------------------------------------------------+---------------+----------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +-----------------------------------------------------------+---------------+----------------------+-------------------+ | Event-Transitions None -[None]-> ONE_WAY | 0 Transitions | | | +-----------------------------------------------------------+---------------+----------------------+-------------------+ | Event-Transitions ONE_WAY -[LIE_RECEIVED]-> ONE_WAY | 0 Transitions | | | +-----------------------------------------------------------+---------------+----------------------+-------------------+ | Event-Transitions ONE_WAY -[NEW_NEIGHBOR]-> TWO_WAY | 0 Transitions | | | +-----------------------------------------------------------+---------------+----------------------+-------------------+ | Event-Transitions THREE_WAY -[LIE_RECEIVED]-> THREE_WAY | 4 Transitions | 3.00 Transitions/Sec | 0d 00h:00m:00.89s | +-----------------------------------------------------------+---------------+----------------------+-------------------+ . . . . . . . . . . +-----------------------------------------------------------+---------------+----------------------+-------------------+ | Transitions TWO_WAY -> TWO_WAY | 0 Transitions | | | +-----------------------------------------------------------+---------------+----------------------+-------------------+
The "show interface interface statistics" command shows all the statistics for the specified interface, excluding any zero statistics.
Example:
agg_101> show interface if_101_1 statistics exclude-zero Traffic: +---------------------------+-----------------------+------------------------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +---------------------------+-----------------------+------------------------------------+-------------------+ | RX IPv4 LIE Packets | 3 Packets, 462 Bytes | 1.00 Packets/Sec, 154.18 Bytes/Sec | 0d 00h:00m:00.03s | +---------------------------+-----------------------+------------------------------------+-------------------+ | TX IPv4 LIE Packets | 2 Packets, 310 Bytes | 0.99 Packets/Sec, 152.68 Bytes/Sec | 0d 00h:00m:00.94s | +---------------------------+-----------------------+------------------------------------+-------------------+ | RX IPv4 TIDE Packets | 1 Packet, 884 Bytes | | 0d 00h:00m:00.96s | +---------------------------+-----------------------+------------------------------------+-------------------+ | TX IPv4 TIDE Packets | 1 Packet, 476 Bytes | | 0d 00h:00m:00.92s | +---------------------------+-----------------------+------------------------------------+-------------------+ . . . . . . . . . . +---------------------------+-----------------------+------------------------------------+-------------------+ | Total TX Packets | 5 Packets, 1096 Bytes | 3.85 Packets/Sec, 906.04 Bytes/Sec | 0d 00h:00m:00.92s | +---------------------------+-----------------------+------------------------------------+-------------------+ LIE FSM: +---------------------------------------------------------+----------------+----------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +---------------------------------------------------------+----------------+----------------------+-------------------+ | Event-Transitions THREE_WAY -[LIE_RECEIVED]-> THREE_WAY | 6 Transitions | 2.50 Transitions/Sec | 0d 00h:00m:00.03s | +---------------------------------------------------------+----------------+----------------------+-------------------+ | Event-Transitions THREE_WAY -[SEND_LIE]-> THREE_WAY | 2 Transitions | 0.99 Transitions/Sec | 0d 00h:00m:00.94s | +---------------------------------------------------------+----------------+----------------------+-------------------+ | Event-Transitions THREE_WAY -[TIMER_TICK]-> THREE_WAY | 2 Transitions | 0.98 Transitions/Sec | 0d 00h:00m:00.95s | +---------------------------------------------------------+----------------+----------------------+-------------------+ | Events LIE_RECEIVED | 6 Events | 2.50 Events/Sec | 0d 00h:00m:00.03s | +---------------------------------------------------------+----------------+----------------------+-------------------+ . . . . . . . . . . +---------------------------------------------------------+----------------+----------------------+-------------------+ | Transitions THREE_WAY -> THREE_WAY | 10 Transitions | 4.51 Transitions/Sec | 0d 00h:00m:00.03s | +---------------------------------------------------------+----------------+----------------------+-------------------+
The "show interface interface tides" command shows the TIDE packets that the node is currently periodically sending on the specified interface.
Example:
agg_101> show interface if_101_1 tides Send TIDEs: +----------------+------------------------------------------------+-----------+------------+--------+--------+--------+-----------+-------------+ | Start | End | Direction | Originator | Type | TIE Nr | Seq Nr | Remaining | Origination | | Range | Range | | | | | | Lifetime | Time | +----------------+------------------------------------------------+-----------+------------+--------+--------+--------+-----------+-------------+ | South:0:Node:0 | North:18446744073709551615:KeyValue:4294967295 | South | 1 | Node | 1 | 5 | 604789 | - | | | | South | 1 | Prefix | 1 | 1 | 604789 | - | | | | North | 101 | Node | 1 | 4 | 604789 | - | | | | North | 1001 | Node | 1 | 3 | 604789 | - | | | | North | 1001 | Prefix | 1 | 1 | 604789 | - | | | | North | 1002 | Node | 1 | 3 | 604789 | - | | | | North | 1002 | Prefix | 1 | 1 | 604789 | - | +----------------+------------------------------------------------+-----------+------------+--------+--------+--------+-----------+-------------+
The "show interfaces" command reports a summary of all RIFT interfaces (i.e. interfaces on which RIFT is running) on the currently active RIFT node.
Use the "show interface interface" to see all details about any particular interface.
agg_101> show interfaces +-------------+-----------------------+-----------+-----------+ | Interface | Neighbor | Neighbor | Neighbor | | Name | Name | System ID | State | +-------------+-----------------------+-----------+-----------+ | if_101_1 | core_1:if_1_101 | 1 | THREE_WAY | +-------------+-----------------------+-----------+-----------+ | if_101_1001 | edge_1001:if_1001_101 | 1001 | THREE_WAY | +-------------+-----------------------+-----------+-----------+ | if_101_1002 | edge_1002:if_1002_101 | 1002 | THREE_WAY | +-------------+-----------------------+-----------+-----------+ | if_101_2 | | | ONE_WAY | +-------------+-----------------------+-----------+-----------+
The "show kernel addresses" command reports a summary of all addresses in the Linux kernel on which the RIFT engine is running.
agg_101> show kernel addresses Kernel Addresses: +-----------+------------------------+------------+----------------+---------+ | Interface | Address | Local | Broadcast | Anycast | | Name | | | | | +-----------+------------------------+------------+----------------+---------+ | lo | 127.0.0.1 | 127.0.0.1 | | | +-----------+------------------------+------------+----------------+---------+ | eth0 | 172.17.0.3 | 172.17.0.3 | 172.17.255.255 | | +-----------+------------------------+------------+----------------+---------+ | | ::1 | | | | +-----------+------------------------+------------+----------------+---------+ | | 2001:db8:1::242:ac11:3 | | | | +-----------+------------------------+------------+----------------+---------+ | | fe80::42:acff:fe11:3 | | | | +-----------+------------------------+------------+----------------+---------+
If this command is executed on a platform that does not support the Netlink interface to the kernel routing table (i.e. any non-Linux platform including BSD and macOS) the following error message is reported:
agg_101> show kernel addresses Kernel networking not supported on this platform
The "show kernel links" command reports a summary of all links in the Linux kernel on which the RIFT engine is running.
agg_101> show kernel links Kernel Links: +-----------+-----------+-------------------+-------------------+-----------+-------+-----------+ | Interface | Interface | Hardware | Hardware | Link Type | MTU | Flags | | Name | Index | Address | Broadcast | | | | | | | | Address | | | | +-----------+-----------+-------------------+-------------------+-----------+-------+-----------+ | lo | 1 | 00:00:00:00:00:00 | 00:00:00:00:00:00 | | 65536 | UP | | | | | | | | LOOPBACK | | | | | | | | RUNNING | | | | | | | | LOWER_UP | +-----------+-----------+-------------------+-------------------+-----------+-------+-----------+ | tunl0 | 2 | 00:00:00:00:08:00 | 00:00:00:00:c4:00 | 0 | 1480 | NOARP | +-----------+-----------+-------------------+-------------------+-----------+-------+-----------+ | ip6tnl0 | 3 | 00:00:00:00:00:00 | 00:00:00:00:00:00 | 0 | 1452 | NOARP | +-----------+-----------+-------------------+-------------------+-----------+-------+-----------+ | eth0 | 12 | 02:42:ac:11:00:03 | ff:ff:ff:ff:ff:ff | 13 | 1500 | UP | | | | | | | | BROADCAST | | | | | | | | RUNNING | | | | | | | | MULTICAST | | | | | | | | LOWER_UP | +-----------+-----------+-------------------+-------------------+-----------+-------+-----------+
If this command is executed on a platform that does not support the Netlink interface to the kernel routing table (i.e. any non-Linux platform including BSD and macOS) the following error message is reported:
agg_101> show kernel links Kernel networking not supported on this platform
The "show kernel routes table table prefix prefix" command reports the details of a single route in the route table in the Linux kernel on which the RIFT engine is running.
Parameter table must be local, main, default, unspecified, or a number in the range 0-255.
Parameter prefix must be an IPv4 prefix or an IPv6 prefix
agg_101> show kernel routes table main prefix 99.99.1.0/24 Prefix "99.99.1.0/24" in table "Main" not present in kernel route table
If this command is executed on a platform that does not support the Netlink interface to the kernel routing table (i.e. any non-Linux platform including BSD and macOS) the following error message is reported:
agg_101> show kernel routes table main prefix 0.0.0.0/0 Kernel networking not supported on this platform
The "show kernel routes" command reports a summary of all routes in the Linux kernel on which the RIFT engine is running.
agg_101> show kernel routes Kernel Routes: +-------------+---------+----------------------------+-------------+----------+-----------+---------------+--------+ | Table | Address | Destination | Type | Protocol | Outgoing | Gateway | Weight | | | Family | | | | Interface | | | +-------------+---------+----------------------------+-------------+----------+-----------+---------------+--------+ | Unspecified | IPv6 | ::/0 | Unreachable | Kernel | lo | | | +-------------+---------+----------------------------+-------------+----------+-----------+---------------+--------+ | Unspecified | IPv6 | ::/0 | Unreachable | Kernel | lo | | | +-------------+---------+----------------------------+-------------+----------+-----------+---------------+--------+ | Main | IPv4 | 0.0.0.0/0 | Unicast | Boot | eth0 | 172.17.0.1 | | +-------------+---------+----------------------------+-------------+----------+-----------+---------------+--------+ | Main | IPv4 | 172.17.0.0/16 | Unicast | Kernel | eth0 | | | +-------------+---------+----------------------------+-------------+----------+-----------+---------------+--------+ . . . . . . . . . . . . . . . . . . +-------------+---------+----------------------------+-------------+----------+-----------+---------------+--------+ | Local | IPv6 | ff00::/8 | Unicast | Boot | eth0 | | | +-------------+---------+----------------------------+-------------+----------+-----------+---------------+--------+
If this command is executed on a platform that does not support the Netlink interface to the kernel routing table (i.e. any non-Linux platform including BSD and macOS) the following error message is reported:
agg_101> show kernel routes Kernel networking not supported on this platform
The "show kernel routes table table" command reports a summary of all routes in a specific route table in the Linux kernel on which the RIFT engine is running.
Parameter table must be local, main, default, unspecified, or a number in the range 0-255.
agg_101> show kernel routes table main Kernel Routes: +-------+---------+-----------------+---------+----------+-----------+---------------+--------+ | Table | Address | Destination | Type | Protocol | Outgoing | Gateway | Weight | | | Family | | | | Interface | | | +-------+---------+-----------------+---------+----------+-----------+---------------+--------+ | Main | IPv4 | 0.0.0.0/0 | Unicast | Boot | eth0 | 172.17.0.1 | | +-------+---------+-----------------+---------+----------+-----------+---------------+--------+ | Main | IPv4 | 172.17.0.0/16 | Unicast | Kernel | eth0 | | | +-------+---------+-----------------+---------+----------+-----------+---------------+--------+ | Main | IPv6 | ::/0 | Unicast | Boot | eth0 | 2001:db8:1::1 | | +-------+---------+-----------------+---------+----------+-----------+---------------+--------+ | Main | IPv6 | 2001:db8:1::/64 | Unicast | Kernel | eth0 | | | +-------+---------+-----------------+---------+----------+-----------+---------------+--------+ | Main | IPv6 | fe80::/64 | Unicast | Kernel | eth0 | | | +-------+---------+-----------------+---------+----------+-----------+---------------+--------+
If this command is executed on a platform that does not support the Netlink interface to the kernel routing table (i.e. any non-Linux platform including BSD and macOS) the following error message is reported:
agg_101> show kernel routes table main Kernel networking not supported on this platform
The "show node" command reports the details for the currently active RIFT node:
Example:
agg_101> show node Node: +---------------------------------------+------------------+ | Name | agg_101 | | Passive | False | | Running | True | | System ID | 101 | | Configured Level | undefined | | Leaf Only | False | | Leaf 2 Leaf | False | | Top of Fabric Flag | False | | Zero Touch Provisioning (ZTP) Enabled | True | | ZTP FSM State | UPDATING_CLIENTS | | ZTP Hold Down Timer | Stopped | | Highest Available Level (HAL) | 2 | | Highest Adjacency Three-way (HAT) | 2 | | Level Value | 1 | | Receive LIE IPv4 Multicast Address | 224.0.0.81 | | Transmit LIE IPv4 Multicast Address | 224.0.0.120 | | Receive LIE IPv6 Multicast Address | FF02::0078 | | Transmit LIE IPv6 Multicast Address | FF02::0078 | | Receive LIE Port | 20102 | | Transmit LIE Port | 10000 | | LIE Send Interval | 1.0 secs | | Receive TIE Port | 10001 | | Kernel Route Table | 3 | | Originating South-bound Default Route | True | | Flooding Reduction Enabled | True | | Flooding Reduction Redundancy | 2 | | Flooding Reduction Similarity | 2 | | Flooding Reduction Node Random | 47912 | +---------------------------------------+------------------+ Received Offers: +-------------+-----------+-------+-----------------+-----------+-------+------------+---------+----------------+ | Interface | System ID | Level | Not A ZTP Offer | State | Best | Best 3-Way | Removed | Removed Reason | +-------------+-----------+-------+-----------------+-----------+-------+------------+---------+----------------+ | if_101_1 | 1 | 2 | False | THREE_WAY | True | True | False | | +-------------+-----------+-------+-----------------+-----------+-------+------------+---------+----------------+ | if_101_1001 | 1001 | 0 | False | THREE_WAY | False | False | True | Level is leaf | +-------------+-----------+-------+-----------------+-----------+-------+------------+---------+----------------+ | if_101_1002 | 1002 | 0 | False | THREE_WAY | False | False | True | Level is leaf | +-------------+-----------+-------+-----------------+-----------+-------+------------+---------+----------------+ Sent Offers: +-------------+-----------+-------+-----------------+-----------+ | Interface | System ID | Level | Not A ZTP Offer | State | +-------------+-----------+-------+-----------------+-----------+ | if_101_1 | 101 | 1 | True | THREE_WAY | +-------------+-----------+-------+-----------------+-----------+ | if_101_1001 | 101 | 1 | False | THREE_WAY | +-------------+-----------+-------+-----------------+-----------+ | if_101_1002 | 101 | 1 | False | THREE_WAY | +-------------+-----------+-------+-----------------+-----------+ | if_101_2 | 101 | 1 | False | ONE_WAY | +-------------+-----------+-------+-----------------+-----------+
The "show node fsm history" command shows the 25 most recent "interesting" executed events for the Zero Touch Provisioning (ZTP) Finite State Machine (FSM) associated with the currently active node. The most recent event is at the top.
This command only shows the "interesting" events, i.e. it does not show any events that are marked as "verbose" by the "show fsm ztp" command. Use the "show node fsm verbose-history" command if you want to see all events.
Example:
agg_101> show node fsm history +----------+----------+---------+--------------------+-------------------------------+----------------------+--------------------+----------+ | Sequence | Time | Verbose | From | Event | Actions and | To | Implicit | | Nr | Delta | Skipped | State | | Pushed Events | State | | +----------+----------+---------+--------------------+-------------------------------+----------------------+--------------------+----------+ | 1582 | 3.474973 | 0 | COMPUTE_BEST_OFFER | COMPUTATION_DONE | update_all_lie_fsms | UPDATING_CLIENTS | False | +----------+----------+---------+--------------------+-------------------------------+----------------------+--------------------+----------+ | 1581 | 0.003461 | 49 | UPDATING_CLIENTS | CHANGE_LOCAL_CONFIGURED_LEVEL | store_level | COMPUTE_BEST_OFFER | False | | | | | | | stop_hold_down_timer | | | | | | | | | level_compute | | | | | | | | | COMPUTATION_DONE | | | +----------+----------+---------+--------------------+-------------------------------+----------------------+--------------------+----------+ | 303 | 8.091830 | 0 | COMPUTE_BEST_OFFER | COMPUTATION_DONE | update_all_lie_fsms | UPDATING_CLIENTS | False | +----------+----------+---------+--------------------+-------------------------------+----------------------+--------------------+----------+ | 302 | 0.001209 | 6 | UPDATING_CLIENTS | BETTER_HAT | stop_hold_down_timer | COMPUTE_BEST_OFFER | False | | | | | | | level_compute | | | | | | | | | COMPUTATION_DONE | | | +----------+----------+---------+--------------------+-------------------------------+----------------------+--------------------+----------+ . . . . . . . . . . . . . . . . . . +----------+----------+---------+--------------------+-------------------------------+----------------------+--------------------+----------+ | 11 | 0.299237 | 0 | None | None | stop_hold_down_timer | COMPUTE_BEST_OFFER | False | | | | | | | level_compute | | | | | | | | | COMPUTATION_DONE | | | +----------+----------+---------+--------------------+-------------------------------+----------------------+--------------------+----------+
The "show node fsm verbose-history" command shows the 25 most recent executed events for the Zero Touch Provisioning (ZTP) Finite State Machine (FSM) associated with the currently active node. The most recent event is at the top.
This command shows all events, including the events that are marked as verbose by the "show fsm ztp" command. Because of this, the output tends to be dominated by non-interesting verbose events such as processing periodic offers received from neighbors. Use the "show node fsm history" command if you only want to see "interesting" events.
Example:
agg_101> show node fsm verbose-history +----------+----------+---------+--------------------+-------------------------------+------------------------+--------------------+----------+ | Sequence | Time | Verbose | From | Event | Actions and | To | Implicit | | Nr | Delta | Skipped | State | | Pushed Events | State | | +----------+----------+---------+--------------------+-------------------------------+------------------------+--------------------+----------+ | 2098 | 0.442372 | 0 | UPDATING_CLIENTS | NEIGHBOR_OFFER | update_or_remove_offer | None | False | +----------+----------+---------+--------------------+-------------------------------+------------------------+--------------------+----------+ | 2097 | 0.000124 | 0 | UPDATING_CLIENTS | NEIGHBOR_OFFER | update_or_remove_offer | None | False | +----------+----------+---------+--------------------+-------------------------------+------------------------+--------------------+----------+ | 2088 | 0.010341 | 0 | UPDATING_CLIENTS | NEIGHBOR_OFFER | update_or_remove_offer | None | False | +----------+----------+---------+--------------------+-------------------------------+------------------------+--------------------+----------+ | 2087 | 0.000173 | 0 | UPDATING_CLIENTS | NEIGHBOR_OFFER | update_or_remove_offer | None | False | +----------+----------+---------+--------------------+-------------------------------+------------------------+--------------------+----------+ . . . . . . . . . . . . . . . . . . +----------+----------+---------+--------------------+-------------------------------+------------------------+--------------------+----------+ | 1524 | 0.156738 | 0 | UPDATING_CLIENTS | NEIGHBOR_OFFER | update_or_remove_offer | None | False | +----------+----------+---------+--------------------+-------------------------------+------------------------+--------------------+----------+
The "show node statistics" command shows all the statistics for the current node.
Example:
agg_101> show node statistics Node ZTP FSM: +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ | Event-Transitions COMPUTE_BEST_OFFER -[COMPUTATION_DONE]-> UPDATING_CLIENTS | 1 Transition | | 0d 00h:00m:03.72s | +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ | Event-Transitions None -[None]-> COMPUTE_BEST_OFFER | 0 Transitions | | | +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ | Event-Transitions UPDATING_CLIENTS -[BETTER_HAL]-> COMPUTE_BEST_OFFER | 0 Transitions | | | +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ | Event-Transitions UPDATING_CLIENTS -[BETTER_HAT]-> COMPUTE_BEST_OFFER | 0 Transitions | | | +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ . . . . . . . . . . +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ | Transitions UPDATING_CLIENTS -> UPDATING_CLIENTS | 24 Transitions | 8.56 Transitions/Sec | 0d 00h:00m:00.57s | +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ Node Interfaces Traffic: +---------------------------+------------------------+----------------------------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +---------------------------+------------------------+----------------------------------------+-------------------+ | RX IPv4 LIE Packets | 12 Packets, 1896 Bytes | 3.00 Packets/Sec, 473.53 Bytes/Sec | 0d 00h:00m:00.58s | +---------------------------+------------------------+----------------------------------------+-------------------+ | TX IPv4 LIE Packets | 16 Packets, 2416 Bytes | 4.50 Packets/Sec, 683.10 Bytes/Sec | 0d 00h:00m:00.79s | +---------------------------+------------------------+----------------------------------------+-------------------+ | RX IPv4 TIE Packets | 0 Packets, 0 Bytes | | | +---------------------------+------------------------+----------------------------------------+-------------------+ | TX IPv4 TIE Packets | 0 Packets, 0 Bytes | | | +---------------------------+------------------------+----------------------------------------+-------------------+ . . . . . . . . . . +---------------------------+------------------------+----------------------------------------+-------------------+ | Total TX Errors | 0 Packets, 0 Bytes | | | +---------------------------+------------------------+----------------------------------------+-------------------+ Node Interface LIE FSMs: +-----------------------------------------------------------+----------------+-----------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +-----------------------------------------------------------+----------------+-----------------------+-------------------+ | Event-Transitions None -[None]-> ONE_WAY | 0 Transitions | | | +-----------------------------------------------------------+----------------+-----------------------+-------------------+ | Event-Transitions ONE_WAY -[LIE_RECEIVED]-> ONE_WAY | 0 Transitions | | | +-----------------------------------------------------------+----------------+-----------------------+-------------------+ | Event-Transitions ONE_WAY -[NEW_NEIGHBOR]-> TWO_WAY | 0 Transitions | | | +-----------------------------------------------------------+----------------+-----------------------+-------------------+ | Event-Transitions ONE_WAY -[SEND_LIE]-> ONE_WAY | 4 Transitions | 1.00 Transitions/Sec | 0d 00h:00m:00.82s | +-----------------------------------------------------------+----------------+-----------------------+-------------------+ . . . . . . . . . . +-----------------------------------------------------------+----------------+-----------------------+-------------------+ | Transitions TWO_WAY -> TWO_WAY | 0 Transitions | | | +-----------------------------------------------------------+----------------+-----------------------+-------------------+
The "show engine statistics" command shows all the statistics for the current node, excluding any zero statistics.
Example:
agg_101> show node statistics exclude-zero Node ZTP FSM: +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ | Event-Transitions COMPUTE_BEST_OFFER -[COMPUTATION_DONE]-> UPDATING_CLIENTS | 1 Transition | | 0d 00h:00m:03.86s | +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ | Event-Transitions UPDATING_CLIENTS -[CHANGE_LOCAL_CONFIGURED_LEVEL]-> COMPUTE_BEST_OFFER | 1 Transition | | 0d 00h:00m:03.86s | +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ | Event-Transitions UPDATING_CLIENTS -[NEIGHBOR_OFFER]-> UPDATING_CLIENTS | 26 Transitions | 5.33 Transitions/Sec | 0d 00h:00m:00.03s | +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ | Events CHANGE_LOCAL_CONFIGURED_LEVEL | 1 Event | | 0d 00h:00m:03.87s | +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ . . . . . . . . . . +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ | Transitions UPDATING_CLIENTS -> UPDATING_CLIENTS | 26 Transitions | 5.33 Transitions/Sec | 0d 00h:00m:00.03s | +------------------------------------------------------------------------------------------+----------------+----------------------+-------------------+ Node Interfaces Traffic: +---------------------------+------------------------+----------------------------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +---------------------------+------------------------+----------------------------------------+-------------------+ | RX IPv4 LIE Packets | 13 Packets, 2050 Bytes | 3.00 Packets/Sec, 473.93 Bytes/Sec | 0d 00h:00m:00.03s | +---------------------------+------------------------+----------------------------------------+-------------------+ | TX IPv4 LIE Packets | 16 Packets, 2416 Bytes | 4.50 Packets/Sec, 683.10 Bytes/Sec | 0d 00h:00m:00.93s | +---------------------------+------------------------+----------------------------------------+-------------------+ | RX IPv4 TIDE Packets | 6 Packets, 3264 Bytes | 2.20 Packets/Sec, 1046.48 Bytes/Sec | 0d 00h:00m:00.68s | +---------------------------+------------------------+----------------------------------------+-------------------+ | TX IPv4 TIDE Packets | 6 Packets, 3264 Bytes | 2.49 Packets/Sec, 1387.36 Bytes/Sec | 0d 00h:00m:00.91s | +---------------------------+------------------------+----------------------------------------+-------------------+ . . . . . . . . . . +---------------------------+------------------------+----------------------------------------+-------------------+ | Total TX Packets | 38 Packets, 8096 Bytes | 185.07 Packets/Sec, 52024.99 Bytes/Sec | 0d 00h:00m:00.91s | +---------------------------+------------------------+----------------------------------------+-------------------+ Node Interface LIE FSMs: +---------------------------------------------------------+----------------+----------------------+-------------------+ | Description | Value | Last Rate | Last Change | | | | Over Last 10 Changes | | +---------------------------------------------------------+----------------+----------------------+-------------------+ | Event-Transitions ONE_WAY -[SEND_LIE]-> ONE_WAY | 4 Transitions | 1.00 Transitions/Sec | 0d 00h:00m:00.95s | +---------------------------------------------------------+----------------+----------------------+-------------------+ | Event-Transitions ONE_WAY -[TIMER_TICK]-> ONE_WAY | 4 Transitions | 1.00 Transitions/Sec | 0d 00h:00m:00.95s | +---------------------------------------------------------+----------------+----------------------+-------------------+ | Event-Transitions THREE_WAY -[LIE_RECEIVED]-> THREE_WAY | 26 Transitions | 5.33 Transitions/Sec | 0d 00h:00m:00.03s | +---------------------------------------------------------+----------------+----------------------+-------------------+ | Event-Transitions THREE_WAY -[SEND_LIE]-> THREE_WAY | 12 Transitions | 3.00 Transitions/Sec | 0d 00h:00m:00.94s | +---------------------------------------------------------+----------------+----------------------+-------------------+ . . . . . . . . . . +---------------------------------------------------------+----------------+----------------------+-------------------+ | Transitions THREE_WAY -> THREE_WAY | 50 Transitions | 9.87 Transitions/Sec | 0d 00h:00m:00.03s | +---------------------------------------------------------+----------------+----------------------+-------------------+
The "show nodes" command shows a summary of all RIFT nodes running in the RIFT protocol engine.
You can make anyone of the listed nodes the currently active node using the "set node node" command.
Example:
agg_101> show nodes +-----------+--------+---------+ | Node | System | Running | | Name | ID | | +-----------+--------+---------+ | agg_101 | 101 | True | +-----------+--------+---------+ | agg_102 | 102 | True | +-----------+--------+---------+ | agg_201 | 201 | True | +-----------+--------+---------+ | agg_202 | 202 | True | +-----------+--------+---------+ . . . . . . . . +-----------+--------+---------+ | edge_2002 | 2002 | True | +-----------+--------+---------+
The "show nodes level" command shows information on automatic level derivation procedures for all RIFT nodes in the RIFT topology:
Example:
agg_101> show nodes level +-----------+--------+---------+------------+-------+ | Node | System | Running | Configured | Level | | Name | ID | | Level | Value | +-----------+--------+---------+------------+-------+ | agg_101 | 101 | True | undefined | 1 | +-----------+--------+---------+------------+-------+ | agg_102 | 102 | True | 1 | 1 | +-----------+--------+---------+------------+-------+ | agg_201 | 201 | True | 1 | 1 | +-----------+--------+---------+------------+-------+ | agg_202 | 202 | True | 1 | 1 | +-----------+--------+---------+------------+-------+ . . . . . . . . . . . . +-----------+--------+---------+------------+-------+ | edge_2002 | 2002 | True | 0 | 0 | +-----------+--------+---------+------------+-------+
The "show routes prefix prefix" command shows the routes for a given prefix in the Routing Information Base (RIB) of the current node.
Parameter prefix must be an IPv4 prefix or an IPv6 prefix
Example:
agg_101> show routes prefix ::/0 +--------+-----------+-------------------------------+ | Prefix | Owner | Next-hops | +--------+-----------+-------------------------------+ | ::/0 | North SPF | if_101_1 fe80::42:acff:fe11:3 | +--------+-----------+-------------------------------+
The "show routes prefix prefix owner owner" command shows the routes for a given prefix and a given owner in the Routing Information Base (RIB) of the current node.
Parameter prefix must be an IPv4 prefix or an IPv6 prefix.
Parameter owner must be south-spf or north-spf.
Example:
agg_101> show routes prefix ::/0 owner north-spf +--------+-----------+-------------------------------+ | Prefix | Owner | Next-hops | +--------+-----------+-------------------------------+ | ::/0 | North SPF | if_101_1 fe80::42:acff:fe11:3 | +--------+-----------+-------------------------------+
The "show routes" command shows all routes in the Routing Information Base (RIB) of the current node. It shows both the IPv4 RIB and the IPv6 RIB.
Example:
agg_101> show routes IPv4 Routes: +---------------+-----------+------------------------+ | Prefix | Owner | Next-hops | +---------------+-----------+------------------------+ | 0.0.0.0/0 | North SPF | if_101_1 172.17.0.3 | +---------------+-----------+------------------------+ | 1.1.1.0/24 | South SPF | if_101_1001 172.17.0.3 | +---------------+-----------+------------------------+ | 1.1.2.0/24 | South SPF | if_101_1001 172.17.0.3 | +---------------+-----------+------------------------+ | 1.1.3.0/24 | South SPF | if_101_1001 172.17.0.3 | +---------------+-----------+------------------------+ . . . . . . . . +---------------+-----------+------------------------+ | 99.99.99.0/24 | South SPF | if_101_1001 172.17.0.3 | | | | if_101_1002 172.17.0.3 | +---------------+-----------+------------------------+ IPv6 Routes: +--------+-----------+-------------------------------+ | Prefix | Owner | Next-hops | +--------+-----------+-------------------------------+ | ::/0 | North SPF | if_101_1 fe80::42:acff:fe11:3 | +--------+-----------+-------------------------------+
The "show spf" command shows the results of the most recent Shortest Path First (SPF) execution for the current node.
Note: the SPF algorithm is also known as the Dijkstra algorithm.
Example:
agg_101> show spf SPF Statistics: +---------------+----+ | SPF Runs | 5 | +---------------+----+ | SPF Deferrals | 18 | +---------------+----+ South SPF Destinations: +------------------+------+-------------+------+------------------------+----------------------------------+ | Destination | Cost | Predecessor | Tags | IPv4 Next-hops | IPv6 Next-hops | | | | System IDs | | | | +------------------+------+-------------+------+------------------------+----------------------------------+ | 101 (agg_101) | 0 | | | | | +------------------+------+-------------+------+------------------------+----------------------------------+ | 1001 (edge_1001) | 1 | 101 | | if_101_1001 172.17.0.3 | if_101_1001 fe80::42:acff:fe11:3 | +------------------+------+-------------+------+------------------------+----------------------------------+ | 1002 (edge_1002) | 1 | 101 | | if_101_1002 172.17.0.3 | if_101_1002 fe80::42:acff:fe11:3 | +------------------+------+-------------+------+------------------------+----------------------------------+ | 1.1.1.0/24 | 2 | 1001 | | if_101_1001 172.17.0.3 | if_101_1001 fe80::42:acff:fe11:3 | +------------------+------+-------------+------+------------------------+----------------------------------+ . . . . . . . . . . . . . . +------------------+------+-------------+------+------------------------+----------------------------------+ | 99.99.99.0/24 | 2 | 1001 | 9992 | if_101_1001 172.17.0.3 | if_101_1001 fe80::42:acff:fe11:3 | | | | 1002 | 9991 | if_101_1002 172.17.0.3 | if_101_1002 fe80::42:acff:fe11:3 | +------------------+------+-------------+------+------------------------+----------------------------------+ North SPF Destinations: +---------------+------+-------------+------+---------------------+-------------------------------+ | Destination | Cost | Predecessor | Tags | IPv4 Next-hops | IPv6 Next-hops | | | | System IDs | | | | +---------------+------+-------------+------+---------------------+-------------------------------+ | 1 (core_1) | 1 | 101 | | if_101_1 172.17.0.3 | if_101_1 fe80::42:acff:fe11:3 | +---------------+------+-------------+------+---------------------+-------------------------------+ | 101 (agg_101) | 0 | | | | | +---------------+------+-------------+------+---------------------+-------------------------------+ | 0.0.0.0/0 | 2 | 1 | | if_101_1 172.17.0.3 | if_101_1 fe80::42:acff:fe11:3 | +---------------+------+-------------+------+---------------------+-------------------------------+ | ::/0 | 2 | 1 | | if_101_1 172.17.0.3 | if_101_1 fe80::42:acff:fe11:3 | +---------------+------+-------------+------+---------------------+-------------------------------+
The "show spf direction direction" command shows the results of the most recent Shortest Path First (SPF) execution for the current node in the specified direction.
Parameter direction must be south or north
Example:
agg_101> show spf direction north North SPF Destinations: +---------------+------+-------------+------+---------------------+-------------------------------+ | Destination | Cost | Predecessor | Tags | IPv4 Next-hops | IPv6 Next-hops | | | | System IDs | | | | +---------------+------+-------------+------+---------------------+-------------------------------+ | 1 (core_1) | 1 | 101 | | if_101_1 172.17.0.3 | if_101_1 fe80::42:acff:fe11:3 | +---------------+------+-------------+------+---------------------+-------------------------------+ | 101 (agg_101) | 0 | | | | | +---------------+------+-------------+------+---------------------+-------------------------------+ | 0.0.0.0/0 | 2 | 1 | | if_101_1 172.17.0.3 | if_101_1 fe80::42:acff:fe11:3 | +---------------+------+-------------+------+---------------------+-------------------------------+ | ::/0 | 2 | 1 | | if_101_1 172.17.0.3 | if_101_1 fe80::42:acff:fe11:3 | +---------------+------+-------------+------+---------------------+-------------------------------+
The "show spf direction direction destination destination" command shows the results of the most recent Shortest Path First (SPF) execution for the specified destination on the current node in the specified direction.
Parameter direction must be south or north
Parameter destination must be one of the following:
- The system-id of a node (an integer)
- An IPv4 prefix
- An IPv6 prefix
Example:
agg_101> show spf direction north destination ::/0 +-------------+------+-------------+------+---------------------+-------------------------------+ | Destination | Cost | Predecessor | Tags | IPv4 Next-hops | IPv6 Next-hops | | | | System IDs | | | | +-------------+------+-------------+------+---------------------+-------------------------------+ | ::/0 | 2 | 1 | | if_101_1 172.17.0.3 | if_101_1 fe80::42:acff:fe11:3 | +-------------+------+-------------+------+---------------------+-------------------------------+
Example:
agg_101> show spf direction north destination 5 Destination 5 not present
The "show tie-db" command shows the contents of the Topology Information Element Database (TIE-DB) for the current node.
Note: the TIE-DB is also known as the Link-State Database (LSDB)
Example:
agg_101> show tie-db +-----------+------------+--------+--------+--------+----------+-----------------------+ | Direction | Originator | Type | TIE Nr | Seq Nr | Lifetime | Contents | +-----------+------------+--------+--------+--------+----------+-----------------------+ | South | 1 | Node | 1 | 5 | 604786 | Name: core_1 | | | | | | | | Level: 2 | | | | | | | | Neighbor: 101 | | | | | | | | Level: 1 | | | | | | | | Cost: 1 | | | | | | | | Bandwidth: 100 Mbps | | | | | | | | Link: 1-1 | | | | | | | | Neighbor: 102 | | | | | | | | Level: 1 | | | | | | | | Cost: 1 | | | | | | | | Bandwidth: 100 Mbps | | | | | | | | Link: 2-1 | | | | | | | | Neighbor: 201 | | | | | | | | Level: 1 | | | | | | | | Cost: 1 | | | | | | | | Bandwidth: 100 Mbps | | | | | | | | Link: 3-1 | | | | | | | | Neighbor: 202 | | | | | | | | Level: 1 | | | | | | | | Cost: 1 | | | | | | | | Bandwidth: 100 Mbps | | | | | | | | Link: 4-1 | +-----------+------------+--------+--------+--------+----------+-----------------------+ | South | 1 | Prefix | 1 | 1 | 604786 | Prefix: 0.0.0.0/0 | | | | | | | | Metric: 1 | | | | | | | | Prefix: ::/0 | | | | | | | | Metric: 1 | +-----------+------------+--------+--------+--------+----------+-----------------------+ | South | 101 | Node | 1 | 4 | 604786 | Name: agg_101 | | | | | | | | Level: 1 | | | | | | | | Neighbor: 1 | | | | | | | | Level: 2 | | | | | | | | Cost: 1 | | | | | | | | Bandwidth: 100 Mbps | | | | | | | | Link: 1-1 | | | | | | | | Neighbor: 1001 | | | | | | | | Level: 0 | | | | | | | | Cost: 1 | | | | | | | | Bandwidth: 100 Mbps | | | | | | | | Link: 3-1 | | | | | | | | Neighbor: 1002 | | | | | | | | Level: 0 | | | | | | | | Cost: 1 | | | | | | | | Bandwidth: 100 Mbps | | | | | | | | Link: 4-1 | +-----------+------------+--------+--------+--------+----------+-----------------------+ | South | 101 | Prefix | 1 | 1 | 604786 | Prefix: 0.0.0.0/0 | | | | | | | | Metric: 1 | | | | | | | | Prefix: ::/0 | | | | | | | | Metric: 1 | +-----------+------------+--------+--------+--------+----------+-----------------------+ . . . . . . . . . . . . . . . . +-----------+------------+--------+--------+--------+----------+-----------------------+ | North | 1002 | Prefix | 1 | 1 | 604786 | Prefix: 1.2.1.0/24 | | | | | | | | Metric: 1 | | | | | | | | Prefix: 1.2.2.0/24 | | | | | | | | Metric: 1 | | | | | | | | Prefix: 1.2.3.0/24 | | | | | | | | Metric: 1 | | | | | | | | Prefix: 1.2.4.0/24 | | | | | | | | Metric: 1 | | | | | | | | Prefix: 99.99.99.0/24 | | | | | | | | Metric: 1 | | | | | | | | Tag: 9992 | +-----------+------------+--------+--------+--------+----------+-----------------------+
The "stop command closes the CLI session and terminates the RIFT engine.
Note: The stop command is similar to the exit command, except that the exit command leaves the RIFT engine running when executed from a Telnet session.
Example:
(env) $ python rift topology/two_by_two_by_two.yaml Command Line Interface (CLI) available on port 50102
$ telnet localhost 50102 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. agg_101> stop $