Getting Started

Prev Next

FMADIO CLI is a easy console only switch like interface to configure / operate and monitor the FMADIO devices.

Running the console using the below command

fmadiocli

This will return a prompt as shown below

fmadio@fmadio100v2-228U:~$ fmadiocli
fmad fmadlua Oct 17 2024 (/opt/fmadio/bin/fmadiolua --nocal /opt/fmadio/bin/fmadiocli )
Disable cycle calibration
[Thu Oct 17 01:22:37 2024]   _____                    .___.__
[Thu Oct 17 01:22:37 2024] _/ ____\_____  _____     __| _/|__|  ____
[Thu Oct 17 01:22:37 2024] \   __\/    /\ \__  \   / __ | |  | /  _ \
[Thu Oct 17 01:22:37 2024]  |  | |  Y Y  \ / __ \_/ /_/ | |  |(  <_> )
[Thu Oct 17 01:22:37 2024]  |__| |__|_|  /(____  /\____ | |__| \____/
[Thu Oct 17 01:22:37 2024]             \/      \/      \/
[Thu Oct 17 01:22:37 2024] ============================================
[Thu Oct 17 01:22:37 2024]   -+ Packets confiscated by Customs +-
[Thu Oct 17 01:22:37 2024]
[Thu Oct 17 01:22:37 2024]  type 'help' for command information
[Thu Oct 17 01:22:37 2024]
[Thu Oct 17 01:22:37 2024] History: 576
[Thu Oct 17 01:22:37 2024] >

The console is TAB aware

Help

Running help returns the full list of all commands avaliable

[Thu Oct 17 01:23:10 2024] > help
[Thu Oct 17 01:23:11 2024] search []
[Thu Oct 17 01:23:11 2024] config                                                                           : enter configuration mode
[Thu Oct 17 01:23:11 2024] config analytics 247-disable <schedule row name>                                 : configures the analytics name to NOT run 247
[Thu Oct 17 01:23:11 2024] config analytics 247-enable <schedule row name>                                  : configures the analytics name to run 247
[Thu Oct 17 01:23:11 2024] config analytics add <analytics name>                                            : Creates a new analytics scheduler row
[Thu Oct 17 01:23:11 2024] config analytics del <schedule row name>                                         : Deletes a analytics scheduler row
[Thu Oct 17 01:23:11 2024] config analytics schedule mod <schedule row name>                                : configures the analytics scheduler
[Thu Oct 17 01:23:11 2024] config capture flush <mode> <timeout secconds>                                   : configures flush behaviour
[Thu Oct 17 01:23:11 2024] config capture roll <hours>                                                      : configures roll behaviour
[Thu Oct 17 01:23:11 2024] config capture schedule del <schedule row name>                                  : Deletes a capture scheduler row
[Thu Oct 17 01:23:11 2024] config capture schedule mod <schedule row name>                                  : configures the capture scheduler
[Thu Oct 17 01:23:11 2024] config capture schedule new <schedule row name>                                  : Creates a new capture scheduler row
[Thu Oct 17 01:23:11 2024] config capture start <capture name>                                              : Starts a capture
[Thu Oct 17 01:23:11 2024] config capture stop                                                              : Stops a capture
[Thu Oct 17 01:23:11 2024] config disk format                                                               : runs a quick format on the entire disk
[Thu Oct 17 01:23:11 2024] config disk lock                                                                 : lock all data drives with TCG OPAL2
[Thu Oct 17 01:23:11 2024] config disk no-lock                                                              : disable locking on all data drives with TCG OPAL2
[Thu Oct 17 01:23:11 2024] config disk password                                                             : sets the disks password with TCG OPAL2
[Thu Oct 17 01:23:11 2024] config disk sanitize                                                             : sanitizes all the disk via sed-utils TCG OPAL2
[Thu Oct 17 01:23:11 2024] config disk unlock                                                               : unlock all data drives with TCG OPAL2
[Thu Oct 17 01:23:11 2024] config interface dns <interface name> <dns>                                      : sets the interfaces dns
[Thu Oct 17 01:23:11 2024] config interface fec <interface name>                                            : forces fec setting on the specified interface
[Thu Oct 17 01:23:11 2024] config interface gateway <interface name> <gateway>                              : sets the interfaces gateway
[Thu Oct 17 01:23:11 2024] config interface ip <interface name> <ip address>                                : sets the interfaces IP address
[Thu Oct 17 01:23:11 2024] config interface mode <interface name> <disabled|static>                         : sets the interfaces IP mode static or disabled
[Thu Oct 17 01:23:11 2024] config interface netmask <interface name> <netmask>                              : sets the interfaces netmask
[Thu Oct 17 01:23:11 2024] config interface no fec <interface name>                                         : disable forcing fec setting on the specified interface
[Thu Oct 17 01:23:11 2024] config interface no shutdown <interface name>                                    : re-enables the specified interface
[Thu Oct 17 01:23:11 2024] config interface shutdown <interface name>                                       : shutdown the specified interface
[Thu Oct 17 01:23:11 2024] config lxc add <container name>                                                  : adds the specified container to the system configuration
[Thu Oct 17 01:23:11 2024] config lxc attach <container name>                                               : attaches tothe specified container
[Thu Oct 17 01:23:11 2024] config lxc boot <container name>                                                 : sets the boot flag of the lxc container
[Thu Oct 17 01:23:11 2024] config lxc del <container name>                                                  : removes the specified container to the system configuration
[Thu Oct 17 01:23:11 2024] config lxc desc <container name> "<description>"                                 : sets human description
[Thu Oct 17 01:23:11 2024] config lxc no-boot <container name>                                              : disables the boot flag of the lxc container
[Thu Oct 17 01:23:11 2024] config lxc start <container name>                                                : starts the specified container
[Thu Oct 17 01:23:11 2024] config lxc stop <container name>                                                 : stops the specified container
[Thu Oct 17 01:23:11 2024] config pcap timestamp <capture port> <timestamp mode>                            : configures timestamp decoding behaviour
[Thu Oct 17 01:23:11 2024] config push lxc add     <target name>                                            : creates a new lxc push target
[Thu Oct 17 01:23:11 2024] config push lxc decap  <target name>                                             : Enable de-encapsulation for a push LXC target
[Thu Oct 17 01:23:11 2024] config push lxc del     <target name>                                            : deletes an lxc push target
[Thu Oct 17 01:23:11 2024] config push lxc desc  <target name> "<description>"                              : set lxc push description
[Thu Oct 17 01:23:11 2024] config push lxc disable <target name>                                            : lxc target disable
[Thu Oct 17 01:23:11 2024] config push lxc enable  <target name>                                            : lxc target enable
[Thu Oct 17 01:23:11 2024] config push lxc filter-bpf     <target name> "<bpf>"                             : lxc target bpf filter. use double quotes around the expression
[Thu Oct 17 01:23:11 2024] config push lxc filter-frame   <target name> "<frame>"                           : lxc target frame filter. use double quotes around the expression
[Thu Oct 17 01:23:11 2024] config push lxc from-now    <target name>                                        : lxc target start from the current capture position
[Thu Oct 17 01:23:11 2024] config push lxc from-start    <target name>                                      : lxc target start from the begining of the capture (not current capture position)
[Thu Oct 17 01:23:11 2024] config push lxc no-decap  <target name>                                          : Disable de-encapsulation for a push LXC target
[Thu Oct 17 01:23:11 2024] config push lxc restart                                                          : starts the push pcap processes
[Thu Oct 17 01:23:11 2024] config push pcap add          <target name>                                      : creates a new push pcap target
[Thu Oct 17 01:23:11 2024] config push pcap cpu <target name> <cpu number>                                  : sets the cpu assignment for this split
[Thu Oct 17 01:23:11 2024] config push pcap del          <target name>                                      : deletes the specified push pcap target
[Thu Oct 17 01:23:11 2024] config push pcap del_all                                                         : deletes all pcap targets
[Thu Oct 17 01:23:11 2024] config push pcap filename     <target name> <format>                             : sets the filename format of each split
[Thu Oct 17 01:23:11 2024] config push pcap filter-bpf   <target name> "<bpf filter>"                       : sets the splits bpf filter
[Thu Oct 17 01:23:11 2024] config push pcap filter-frame <target name> "<frame filter>"                     : sets the splits frame filter
[Thu Oct 17 01:23:11 2024] config push pcap name         <target name> <new name>                           : modifies an existing push pcap name
[Thu Oct 17 01:23:11 2024] config push pcap path         <target name> <write path>                         : sets the write path of the push pcap
[Thu Oct 17 01:23:11 2024] config push pcap restart                                                         : starts the push pcap processes
[Thu Oct 17 01:23:11 2024] config push pcap split-size   <target name> <size>                               : sets the split size
[Thu Oct 17 01:23:11 2024] config push pcap split-time   <target name> <time>                               : sets the pcap split time
[Thu Oct 17 01:23:11 2024] config ring add  <ring name>                                                     : create an lxc ring
[Thu Oct 17 01:23:11 2024] config ring del  <ring name>                                                     : deletes an lxc ring
[Thu Oct 17 01:23:11 2024] config ring desc <ring name> <description>                                       : sets the description for an lxc ring
[Thu Oct 17 01:23:11 2024] config security auth <model>                                                     : configures the security authentication model
[Thu Oct 17 01:23:11 2024] config security http <true|false>                                                : configures enabling un-encrypted HTTP
[Thu Oct 17 01:23:11 2024] config security timeoutSSH <#s|#m|#h|disable>                                    : configures idle timeout for SSH
[Thu Oct 17 01:23:11 2024] config security timeoutWWW <#s|#m|#h|disable>                                    : configures session timeout for WWW
[Thu Oct 17 01:23:11 2024] config system fpga firmware <capture-2x100G capture-2x40G capture-8x10G>         : configures the system firmware to the specified port speed (requires reboot)
[Thu Oct 17 01:23:11 2024] config timezone "<city name>"                                                    : sets the timezone of the system
[Thu Oct 17 01:23:11 2024] config userlist add <user name>                                                  : add a new web user
[Thu Oct 17 01:23:11 2024] config userlist del <user name>                                                  : delete a new web user
[Thu Oct 17 01:23:11 2024] config userlist password                                                         : sets the specified users web password
[Thu Oct 17 01:23:11 2024] config userlist permission <user name> <full|user>                               : sets the specified userlevel permission
[Thu Oct 17 01:23:11 2024] copy backup-config startup-config                                                : copies the backup config to startup-config (requires reboot)
[Thu Oct 17 01:23:11 2024] copy factory-config startup-config                                               : copies the factory config to startup-config (requires reboot)
[Thu Oct 17 01:23:11 2024] copy running-config backup-config                                                : copies the current config to the backup config
[Thu Oct 17 01:23:11 2024] copy running-config factory-config                                               : copies the current config to the factory config
[Thu Oct 17 01:23:11 2024] exit                                                                             : Exit the shell
[Thu Oct 17 01:23:11 2024] help                                                                             : Command Line Help Info
[Thu Oct 17 01:23:11 2024] history                                                                          : shows all command history
[Thu Oct 17 01:23:11 2024] show analytics schedule                                                          : Displays the current analytics schedule (if any)
[Thu Oct 17 01:23:11 2024] show capture flush                                                               : Displays the current capture flush behaviour
[Thu Oct 17 01:23:11 2024] show capture list                                                                : Displays all captures on the current file system
[Thu Oct 17 01:23:11 2024] show capture roll                                                                : Displays the current capture roll behaviour
[Thu Oct 17 01:23:11 2024] show capture schedule                                                            : Displays the current capture schedule (if any)
[Thu Oct 17 01:23:11 2024] show capture status                                                              : Displays the current capture status
[Thu Oct 17 01:23:11 2024] show disk status                                                                 : shows current disk status
[Thu Oct 17 01:23:11 2024] show interface counter                                                           : shows all capture interfaces counters
[Thu Oct 17 01:23:11 2024] show interface ip                                                                : shows all capture interfaces ip state
[Thu Oct 17 01:23:11 2024] show interface status                                                            : shows all capture interfaces status
[Thu Oct 17 01:23:11 2024] show lxc config <container>                                                      : shows lxc container configuration
[Thu Oct 17 01:23:11 2024] show lxc status                                                                  : shows all lxc containers status
[Thu Oct 17 01:23:11 2024] show pcap timestamp                                                              : Displays the current capture timestamp behaviour
[Thu Oct 17 01:23:11 2024] show push lxc status                                                             : shows push lxc configuration
[Thu Oct 17 01:23:11 2024] show push pcap status                                                            : shows push pcap configuration
[Thu Oct 17 01:23:11 2024] show push schedule                                                               : Displays the current push schedule (if any)
[Thu Oct 17 01:23:11 2024] show ring status                                                                 : shows currently configured rings
[Thu Oct 17 01:23:11 2024] show security                                                                    : shows the security access model
[Thu Oct 17 01:23:11 2024] show timezone                                                                    : shows the current timezone
[Thu Oct 17 01:23:11 2024] show userlist                                                                    : Displays web users
[Thu Oct 17 01:23:11 2024] >

Additional help and documentation can be found using

<command> help

For example to get further information on the command

show interface status

Can run as shown below

[Thu Oct 17 01:24:46 2024] > show interface status help
[Thu Oct 17 01:24:47 2024] search [show interface status]
[Thu Oct 17 01:24:47 2024]
[Thu Oct 17 01:24:47 2024] Example Usage:
[Thu Oct 17 01:24:47 2024] > show interface status                         : shows the status of all interfaces
[Thu Oct 17 01:24:47 2024]
[Thu Oct 17 01:24:47 2024] >

History

FMADIO CLI keeps a full history, this can be viewed using

history

Example is shown below

[Thu Oct 17 01:25:24 2024] > history
    Tue Dec  5 12:57:04 2023 | config push lxc restart
    Tue Dec  5 12:57:09 2023 | show capture status
    Tue Dec  5 12:57:11 2023 | show capture status
    Tue Dec  5 12:59:03 2023 | config push lxc restart
    Wed Dec  6 13:34:32 2023 | show push lxc
.
.

The history file is located in

/opt/fmadio/etc/fmadiocli.history