FlowTrackerRemoteMON

Monitor ports for packets

FlowTrackerRemoteMON

Shortest form: ftrmon.

Packet monitor for flow-tracker remote-monitoring traffic (“FtRemoteMon”). It works like PacketWatcher: once started, it receives the packets on every CPU queue, then counts, logs and optionally decodes them. Keywords are processed one after another; type them in full, because abbreviations are not accepted.

With no argument the command prints its status: FtRemoteMon: Status: <Running|Not Running>. Mode <mode>. Buffering up to <n> packets., followed by the rate limit, the report and dump options and the RX channels.

The status, count, dump and report without options are read-only.

Warning

start, stop and rate can break CPU packet I/O on a SONiC switch. start attaches to every CPU queue that the SAI and KNET already use. stop stops packet reception for all of them, not only for this monitor. rate changes the global CPU receive rate limit.

Unvalidated — Status

drivshell> FlowTrackerRemoteMON
FlowTrackerRemoteMON start

Start the monitor (see the warning above). stop stops it and prints … WARNING: Not running if it was not running. reset reloads the receive configuration from the SDK. It is refused while the monitor runs (… Unable to reset configuration while running).

Unvalidated

drivshell> FTRMON start
FlowTrackerRemoteMON report [<+|-><option> ...]

Show the report options, or turn them on with + and off with -. The options are Count, DECode, Raw, DMA, CHannel and @ALL (or @*). DMA and CHannel are not in the built-in help. quiet turns all reporting off.

Unvalidated

drivshell> FTRMON report +Count
FlowTrackerRemoteMON log <on | off | <n>>

Turn packet logging on or off, or set how many packets are kept. The number cannot be changed while the monitor runs. The shell confirms with … Logging(<n>-packets).

Unvalidated

drivshell> FTRMON log 64
FlowTrackerRemoteMON dump [<n> | options [<+|-><option> ...]]

Print the logged packets: all of them, the first n, or with a negative n the last ones. dump options … sets how packets are decoded when dumped, using the same option names as report.

Unvalidated

drivshell> FTRMON dump -5
FlowTrackerRemoteMON count

Print the number of packets received and the rate: … Received <n> packets [(<n>),<n>,<n>,<n>,<n>] (<n>/sec), last <n> packet(s) logged.

Unvalidated

drivshell> FTRMON count
FlowTrackerRemoteMON channel [<+|-><chan> ...]

Show or set the receive DMA channels. They cannot be changed while the monitor runs. Not in the built-in help.

Unvalidated

drivshell> FTRMON channel
FlowTrackerRemoteMON rate [<pps>]

Show or set the CPU receive rate limit. Setting it changes the limit for all CPU packets (see the warning above). Not in the built-in help.

Unvalidated

drivshell> FTRMON rate
FlowTrackerRemoteMON interval <n>

Set the monitor’s poll interval. A negative value is refused with … Invalid interval: <n>. Not in the built-in help.

Unvalidated

drivshell> FTRMON interval 1000
FlowTrackerRemoteMON mode [rx]

Show the mode (Current mode is <mode>) or set it. rx is the only mode, and it cannot be set while the monitor runs. Not in the built-in help.

Unvalidated

drivshell> FTRMON mode
FlowTrackerRemoteMON hdr <on | off>

Turn header dumping on or off. Not in the built-in help.

Unvalidated

drivshell> FTRMON hdr on
FlowTrackerRemoteMON parse Data=<string>

Decode an export record given as a string. Not in the built-in help.

Unvalidated

drivshell> FTRMON parse Data=<hex>

Built-in help

Parameters: [report +/-<values>] [stop|start] [count]
    log # - specifies # packets to remember
    dump [# | options] - # > 0 dumps # packets from start of log
                         # < 0 dumps last # packets
                         nothing - dumps all logs
                         options - count   - print packet # only
                                   decode  - attempt to decode packet
                                   raw     - dump raw byte stream (host order)
                                   Prepend + to set, - to clear, nothing to toggle
    report- count   - print packet # only
            decode  - attempt to decode packet
            raw     - dump raw byte stream (host order)
            Prepend + to set, - to clear, nothing to toggle
    quiet - disable all reporting
    start - start the FtRemoteMon-daemon
    stop  - stop the FtRemoteMon-daemon and deallocate log space
    count - print # packets received.
    reset - reinitialize configuration from bcm_rx_* API state