Skip to main content

FBOSS2 CLI

The FBOSS2 CLI (fboss2) is a command-line tool for interacting with and managing FBOSS switches. It provides comprehensive visibility into the switch's operational state, configuration, and various subsystems.

There are two flavors of the binary:

  • fboss2: Provides the ability to inspect the state of the switch through show, clear, and other operational commands.
  • fboss2-dev: Includes everything in fboss2 plus config (and related delete) subcommands for managing the switch configuration locally. These configuration commands are kept in a separate binary to give operators more control over how they choose to introduce and manage configuration changes on the switch; this may change in the future. See Config Commands below.

Overview

FBOSS2 CLI is the primary tool for:

  • Monitoring: View real-time switch state, port status, and traffic statistics
  • Troubleshooting: Debug connectivity issues, inspect routing tables, and analyze network behavior
  • Configuration: Modify switch settings, manage interfaces, and apply policies (fboss2-dev)
  • Operational tasks: Verify configurations, check hardware health, and validate deployments

Basic Usage

# General syntax
fboss2 <command> [subcommand] [options]

# Get help
fboss2 --help
fboss2 <command> --help

Command Overview

The FBOSS2 CLI organizes functionality into the following top-level commands:

CommandDescription
showDisplay current state, statistics, and configuration information
clearReset counters, clear tables, and remove temporary state
setModify object properties and settings
getRetrieve specific object information
configConfiguration management commands (fboss2-dev only)
createCreate new objects (routes, ACLs, etc.)
deleteRemove objects from the switch
bounceDisable and re-enable objects (ports, interfaces)
reloadReload configuration or state for objects
debugAccess debugging and diagnostic functions
startStart events or processes
stopStop events or processes
streamContinuously stream real-time data
helpDisplay help information for commands and objects

Command Syntax Pattern

Most commands follow a consistent pattern:

fboss2 <verb> <object> [options]

For example:

fboss2 show port              # Display port information
fboss2 clear arp # Clear ARP table
fboss2 set port eth1/1/1 ... # Modify port settings
fboss2 bounce port eth1/1/1 # Bounce a port

show

Display current state and statistics. This is the most commonly used command for monitoring and troubleshooting.

Most show commands support JSON output for scripting:

fboss2 show <object> --fmt json

Show Subcommands

SubcommandDescription
aclShow ACL information
agentShow Agent state
arpShow ARP information
cpuportShow CPU port information
hostShow Host Information
hw-agentShow HwAgent Status
hw-objectShow HW Objects
interfaceShow Interface information
lldpShow LLDP information
macShow MAC information
mirrorShow mirror
ndpShow NDP information
portShow Port information
rifShow RIF information
routeShow Route information
transceiverShow Transceiver information
configShow config info for various binaries
fsdbShow operational information from fsdb
versionShow versions info for various binaries

Show Commands Reference

The following sections provide detailed documentation for each show subcommand.

acl

Show Access Control List (ACL) information configured on the switch.

Usage:

fboss2 show acl

Sample Output:

ACL Table Name: AclTable1
Acl: cpuPolicing-CPU-Port-Mcast-v6
priority: 2
action: permit
enabled: 1

Acl: cpuPolicing-CPU-Port-linkLocal-v6
priority: 1
action: permit
enabled: 1

Acl: cpuPolicing-high-NetworkControl-ff02::/16
priority: 4
dscp: 48
action: permit
enabled: 1

Acl: cpuPolicing-high-NetworkControl-linkLocal-v6
priority: 3
dscp: 48
action: permit
enabled: 1

Acl: cpuPolicing-mid-ff02::/16
priority: 6
action: permit
enabled: 1

Acl: cpuPolicing-mid-linkLocal-v6
priority: 5
action: permit
enabled: 1

Acl: flowlet-selective-enable
priority: 100006
proto: 17
L4 dst port: 4791
action: permit
enabled: 1

Acl: random-spray-cancel
priority: 100007
action: permit
enabled: 1

Acl: ttld-interconnect
priority: 100004
proto: 6
ttl: 128
action: permit
enabled: 1

Acl: ttld-ip-per-task
priority: 100002
proto: 6
ttl: 128
action: permit
enabled: 1

Acl: ttld-onavo-infra
priority: 100003
proto: 6
ttl: 128
action: permit
enabled: 1

Acl: ttld-prod-private
priority: 100000
proto: 6
ttl: 128
action: permit
enabled: 1

Acl: ttld-prod-public
priority: 100001
proto: 6
ttl: 128
action: permit
enabled: 1

agent

Show Agent state information.

Usage:

fboss2 show agent <subcommand>

Subcommands

SubcommandDescription
firmwareShow Agent Firmware information

arp

Show ARP (Address Resolution Protocol) table entries.

Usage:

fboss2 show arp

Sample Output:

IP Address            MAC Address        Interface   VLAN               State         TTL      CLASSID     Voq Switch

Note: Empty table indicates no ARP entries are currently learned. IPv6-only networks will show entries in the NDP table instead.


cpuport

Show CPU port information including queue statistics.

Usage:

fboss2 show cpuport

Sample Output:

 Switch ID  CPU Queue ID  Queue Name        Ingress Packets  Discard Packets
-----------------------------------------------------------------------------------
0 0 cpuQueue-low 24 0
0 1 cpuQueue-default 0 0
0 2 cpuQueue-mid 318259 0
0 9 cpuQueue-high 361922 0

host

Show Host Information including connected hosts and their port associations.

Usage:

fboss2 show host

Sample Output:

 Port       ID   Queue ID  Hostname                          Admin State  Link State  Speed  FEC       InErr  InDiscard  OutErr  OutDiscard
---------------------------------------------------------------------------------------------------------------------------------------------------------
eth1/34/1 176 Olympic eth1-7-1.ftsw001.l102.c083.ash6 Enabled Up 400G RS544_2N 0 22953 0 0
eth1/34/5 180 Olympic eth1-7-5.ftsw001.l102.c083.ash6 Enabled Up 400G RS544_2N 0 22954 0 0
eth1/33/1 184 Olympic eth1-3-1.ftsw001.l102.c083.ash6 Enabled Up 400G RS544_2N 0 22952 0 0
eth1/33/5 185 Olympic eth1-3-5.ftsw001.l102.c083.ash6 Enabled Up 400G RS544_2N 0 22952 0 0
eth1/35/1 187 Olympic eth1-11-1.ftsw001.l102.c083.ash6 Enabled Up 400G RS544_2N 0 22953 0 0
eth1/35/5 191 Olympic eth1-11-5.ftsw001.l102.c083.ash6 Enabled Up 400G RS544_2N 0 22953 0 0
eth1/50/1 264 Olympic eth1-7-1.ftsw002.l102.c083.ash6 Enabled Up 400G RS544_2N 0 22953 0 4
eth1/50/5 268 Olympic eth1-7-5.ftsw002.l102.c083.ash6 Enabled Up 400G RS544_2N 0 22952 0 4
eth1/49/1 272 Olympic eth1-3-1.ftsw002.l102.c083.ash6 Enabled Up 400G RS544_2N 0 22953 0 4
eth1/49/5 273 Olympic eth1-3-5.ftsw002.l102.c083.ash6 Enabled Up 400G RS544_2N 0 22953 0 4
eth1/51/1 275 Olympic eth1-11-1.ftsw002.l102.c083.ash6 Enabled Up 400G RS544_2N 0 22953 0 4
eth1/51/5 279 Olympic eth1-11-5.ftsw002.l102.c083.ash6 Enabled Up 400G RS544_2N 0 22953 0 4

hw-agent

Show HwAgent Status including synchronization state between software and hardware.

Usage:

fboss2 show hw-agent

Sample Output:

Output Format: <InSync/OutofSync - [Y]es/[N]o  | No. of Events sent | No. of Events received>
SwitchIndex SwitchId State Link Stats Fdb RxPkt TxPkt SwitchReachability
--------------------------------------------------------------------------------------------------------------------------------------
0 0 CONFIGURED Y|129|129 Y|113736|113736 Y|0|0 Y|679171|679169 Y|875241|875243 Y|0|0

hw-object

Show HW Objects programmed in the switch ASIC.

Usage:

fboss2 show hw-object [hw_object_type...]

Arguments:

  • hw_object_type - Optional hardware object type(s) to display (e.g., l2, route)

interface

Show Interface information including status, speed, and addressing.

Usage:

fboss2 show interface

Sample Output:

| Interface | Status | Speed | VLAN | MTU  | Addresses                      | Description                      |
| eth1/1/1 | up | 400G | 2001 | 9000 | 2401:db00:209b::a/64 | |
| | | | | | fe80::be:face:b00c/64 | |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/1/5 | up | 400G | 2002 | 9000 | 2401:db00:209b:1::a/64 | |
| | | | | | fe80::be:face:b00c/64 | |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/2/1 | up | 400G | 2003 | 9000 | 2401:db00:209b:2::a/64 | |
| | | | | | fe80::be:face:b00c/64 | |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/2/5 | up | 400G | 2004 | 9000 | 2401:db00:209b:3::a/64 | |
| | | | | | fe80::be:face:b00c/64 | |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/3/1 | up | 400G | 2005 | 9000 | 2401:db00:209b:4::a/64 | |
| | | | | | fe80::be:face:b00c/64 | |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/3/5 | up | 400G | 2006 | 9000 | 2401:db00:209b:5::a/64 | |
| | | | | | fe80::be:face:b00c/64 | |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/4/1 | down | 400G | 2007 | 9000 | 2401:db00:209b:6::a/64 | |
| | | | | | fe80::be:face:b00c/64 | |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/4/5 | down | 400G | 2008 | 9000 | 2401:db00:209b:7::a/64 | |
| | | | | | fe80::be:face:b00c/64 | |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/5/1 | down | 400G | 2009 | 9000 | 2401:db00:209b:8::a/64 | |
| | | | | | fe80::be:face:b00c/64 | |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/5/5 | down | 400G | 2010 | 9000 | 2401:db00:209b:9::a/64 | |
| | | | | | fe80::be:face:b00c/64 | |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/6/1 | down | 400G | 2011 | 9000 | 2401:db00:209b:a::a/64 | |
| | | | | | fe80::be:face:b00c/64 | |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/6/5 | down | 400G | 2012 | 9000 | 2401:db00:209b:b::a/64 | |
| | | | | | fe80::be:face:b00c/64 | |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/7/1 | down | 400G | 2013 | 9000 | 2401:db00:209b:c::a/64 | |
| | | | | | fe80::be:face:b00c/64 | |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/7/5 | down | 400G | 2014 | 9000 | 2401:db00:209b:d::a/64 | |
| | | | | | fe80::be:face:b00c/64 | |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/33/1 | up | 400G | 4001 | 9000 | 2401:db00:e206:b20::1/127 | ftsw001.l102.c083.ash6:eth1/3/1 |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/33/5 | up | 400G | 4002 | 9000 | 2401:db00:e206:b20::3/127 | ftsw001.l102.c083.ash6:eth1/3/5 |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/34/1 | up | 400G | 4003 | 9000 | 2401:db00:e206:b20::5/127 | ftsw001.l102.c083.ash6:eth1/7/1 |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/34/5 | up | 400G | 4004 | 9000 | 2401:db00:e206:b20::7/127 | ftsw001.l102.c083.ash6:eth1/7/5 |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/35/1 | up | 400G | 4005 | 9000 | 2401:db00:e206:b20::9/127 | ftsw001.l102.c083.ash6:eth1/11/1 |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/35/5 | up | 400G | 4006 | 9000 | 2401:db00:e206:b20::b/127 | ftsw001.l102.c083.ash6:eth1/11/5 |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/49/1 | up | 400G | 4007 | 9000 | 2401:db00:e206:b20:0:1:0:1/127 | ftsw002.l102.c083.ash6:eth1/3/1 |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/49/5 | up | 400G | 4008 | 9000 | 2401:db00:e206:b20:0:1:0:3/127 | ftsw002.l102.c083.ash6:eth1/3/5 |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/50/1 | up | 400G | 4009 | 9000 | 2401:db00:e206:b20:0:1:0:5/127 | ftsw002.l102.c083.ash6:eth1/7/1 |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/50/5 | up | 400G | 4010 | 9000 | 2401:db00:e206:b20:0:1:0:7/127 | ftsw002.l102.c083.ash6:eth1/7/5 |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/51/1 | up | 400G | 4011 | 9000 | 2401:db00:e206:b20:0:1:0:9/127 | ftsw002.l102.c083.ash6:eth1/11/1 |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |
| eth1/51/5 | up | 400G | 4012 | 9000 | 2401:db00:e206:b20:0:1:0:b/127 | ftsw002.l102.c083.ash6:eth1/11/5 |
| | | | | | fe80::b4db:91ff:fe95:fdda/64 | |

mac

Show MAC address information.

Usage:

fboss2 show mac <subcommand>

Subcommands

SubcommandDescription
blockedShow details of blocked MAC addresses
detailsShow details of the MAC (L2) table

mac details

Show details of the MAC (L2) table.

Usage:

fboss2 show mac details

Sample Output:

MAC Address             Port/Trunk         VLAN          TYPE               CLASSID
ae:81:b5:03:41:60 eth1/51/5 4012 Validated -
ae:81:b5:03:41:60 eth1/51/1 4011 Validated -
ae:81:b5:03:41:60 eth1/50/5 4010 Validated -
ae:81:b5:03:41:60 eth1/50/1 4009 Validated -
ae:81:b5:03:41:60 eth1/49/5 4008 Validated -
ae:81:b5:03:41:60 eth1/49/1 4007 Validated -
b6:db:91:95:fd:f6 eth1/35/5 4006 Validated -
b6:db:91:95:fd:f6 eth1/35/1 4005 Validated -
b6:db:91:95:fd:f6 eth1/34/5 4004 Validated -
b6:db:91:95:fd:f6 eth1/34/1 4003 Validated -
b6:db:91:95:fd:f6 eth1/33/5 4002 Validated -
b6:db:91:95:fd:f6 eth1/33/1 4001 Validated -

lldp

Show LLDP (Link Layer Discovery Protocol) neighbor information.

Usage:

fboss2 show lldp

Sample Output:

 Local Int  Status  Expected-Peer           LLDP-Peer               Peer-Int   Platform         Peer Description
-----------------------------------------------------------------------------------------------------------------------------------------
eth1/1/1 up EMPTY ixia08.netcastle.ash6 1/13 KEYSIGHT Device
eth1/1/5 up EMPTY ixia08.netcastle.ash6 1/14 KEYSIGHT Device
eth1/2/1 up EMPTY ixia08.netcastle.ash6 1/15 KEYSIGHT Device
eth1/2/5 up EMPTY ixia08.netcastle.ash6 1/16 KEYSIGHT Device
eth1/3/1 up EMPTY ixia08.netcastle.ash6 1/17 KEYSIGHT Device
eth1/3/5 up EMPTY ixia08.netcastle.ash6 1/18 KEYSIGHT Device
eth1/17/1 up EMPTY ixia08.netcastle.ash6 1/19 KEYSIGHT Device
eth1/17/5 up EMPTY ixia08.netcastle.ash6 1/20 KEYSIGHT Device
eth1/18/1 up EMPTY ixia08.netcastle.ash6 1/21 KEYSIGHT Device
eth1/18/5 up EMPTY ixia08.netcastle.ash6 1/22 KEYSIGHT Device
eth1/33/1 up ftsw001.l102.c083.ash6 ftsw001.l102.c083.ash6 eth1/3/1 FBOSS ftsw001.l102.c083.ash6:eth1/3/1
eth1/33/5 up ftsw001.l102.c083.ash6 ftsw001.l102.c083.ash6 eth1/3/5 FBOSS ftsw001.l102.c083.ash6:eth1/3/5
eth1/34/1 up ftsw001.l102.c083.ash6 ftsw001.l102.c083.ash6 eth1/7/1 FBOSS ftsw001.l102.c083.ash6:eth1/7/1
eth1/34/5 up ftsw001.l102.c083.ash6 ftsw001.l102.c083.ash6 eth1/7/5 FBOSS ftsw001.l102.c083.ash6:eth1/7/5
eth1/35/1 up ftsw001.l102.c083.ash6 ftsw001.l102.c083.ash6 eth1/11/1 FBOSS ftsw001.l102.c083.ash6:eth1/11/1
eth1/35/5 up ftsw001.l102.c083.ash6 ftsw001.l102.c083.ash6 eth1/11/5 FBOSS ftsw001.l102.c083.ash6:eth1/11/5
eth1/49/1 up ftsw002.l102.c083.ash6 ftsw002.l102.c083.ash6 eth1/3/1 FBOSS ftsw002.l102.c083.ash6:eth1/3/1
eth1/49/5 up ftsw002.l102.c083.ash6 ftsw002.l102.c083.ash6 eth1/3/5 FBOSS ftsw002.l102.c083.ash6:eth1/3/5

mirror

Show mirror session configurations for traffic mirroring/SPAN.

Usage:

fboss2 show mirror

Sample Output:

 Mirror                       Status      Egress Port  Egress Port Name  Tunnel Type  Src MAC  Src IP                    Src UDP Port  Dst MAC  Dst IP                 Dst UDP Port  DSCP  TTL
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
fboss_backend_traffic_sflow Configured - - - - 2401:db00:e206:b20::1d:0 12345 - 2401:db00:20ff:f001:: 6346 42 -

ndp

Show NDP (Neighbor Discovery Protocol) entries for IPv6.

Usage:

fboss2 show ndp

Sample Output:

 IP Address                  MAC Address        Interface  VLAN/InterfaceID  State      TTL    CLASSID  Voq Switch  Resolved Since
---------------------------------------------------------------------------------------------------------------------------------------------
fe80::b4db:91ff:fe95:fdf6 b6:db:91:95:fd:f6 eth1/33/1 vlan4001 (4001) REACHABLE 34745 0 -- --
2401:db00:e206:b20:: b6:db:91:95:fd:f6 eth1/33/1 vlan4001 (4001) REACHABLE 50237 0 -- --
fe80::b4db:91ff:fe95:fdf6 b6:db:91:95:fd:f6 eth1/33/5 vlan4002 (4002) REACHABLE 830 0 -- --
2401:db00:e206:b20::2 b6:db:91:95:fd:f6 eth1/33/5 vlan4002 (4002) REACHABLE 29717 0 -- --
fe80::b4db:91ff:fe95:fdf6 b6:db:91:95:fd:f6 eth1/34/1 vlan4003 (4003) REACHABLE 9460 0 -- --
2401:db00:e206:b20::4 b6:db:91:95:fd:f6 eth1/34/1 vlan4003 (4003) REACHABLE 38330 0 -- --
fe80::b4db:91ff:fe95:fdf6 b6:db:91:95:fd:f6 eth1/34/5 vlan4004 (4004) REACHABLE 24326 0 -- --
2401:db00:e206:b20::6 b6:db:91:95:fd:f6 eth1/34/5 vlan4004 (4004) REACHABLE 12632 0 -- --
fe80::b4db:91ff:fe95:fdf6 b6:db:91:95:fd:f6 eth1/35/1 vlan4005 (4005) REACHABLE 17635 0 -- --
2401:db00:e206:b20::8 b6:db:91:95:fd:f6 eth1/35/1 vlan4005 (4005) REACHABLE 10193 0 -- --
fe80::b4db:91ff:fe95:fdf6 b6:db:91:95:fd:f6 eth1/35/5 vlan4006 (4006) REACHABLE 57798 0 -- --
2401:db00:e206:b20::a b6:db:91:95:fd:f6 eth1/35/5 vlan4006 (4006) REACHABLE 54736 0 -- --
fe80::ac81:b5ff:fe03:4160 ae:81:b5:03:41:60 eth1/49/1 vlan4007 (4007) REACHABLE 33396 0 -- --
2401:db00:e206:b20:0:1:: ae:81:b5:03:41:60 eth1/49/1 vlan4007 (4007) REACHABLE 55632 0 -- --
fe80::ac81:b5ff:fe03:4160 ae:81:b5:03:41:60 eth1/49/5 vlan4008 (4008) REACHABLE 35555 0 -- --
2401:db00:e206:b20:0:1:0:2 ae:81:b5:03:41:60 eth1/49/5 vlan4008 (4008) REACHABLE 58222 0 -- --
fe80::ac81:b5ff:fe03:4160 ae:81:b5:03:41:60 eth1/50/1 vlan4009 (4009) REACHABLE 47999 0 -- --
2401:db00:e206:b20:0:1:0:4 ae:81:b5:03:41:60 eth1/50/1 vlan4009 (4009) REACHABLE 51421 0 -- --
fe80::ac81:b5ff:fe03:4160 ae:81:b5:03:41:60 eth1/50/5 vlan4010 (4010) REACHABLE 23619 0 -- --
2401:db00:e206:b20:0:1:0:6 ae:81:b5:03:41:60 eth1/50/5 vlan4010 (4010) REACHABLE 33850 0 -- --
fe80::ac81:b5ff:fe03:4160 ae:81:b5:03:41:60 eth1/51/1 vlan4011 (4011) REACHABLE 70289 0 -- --
2401:db00:e206:b20:0:1:0:8 ae:81:b5:03:41:60 eth1/51/1 vlan4011 (4011) REACHABLE 40438 0 -- --
fe80::ac81:b5ff:fe03:4160 ae:81:b5:03:41:60 eth1/51/5 vlan4012 (4012) REACHABLE 45742 0 -- --
2401:db00:e206:b20:0:1:0:a ae:81:b5:03:41:60 eth1/51/5 vlan4012 (4012) REACHABLE 16518 0 -- --

port

Show Port information including admin/link state, speed, and profiles.

Usage:

fboss2 show port

Sample Output:

 ID   Name       AdminState  LinkState  ActiveState  Transceiver  TcvrID  Speed  ProfileID                             HwLogicalPortId  Drained  PeerSwitchDrained  PeerPortDrainedOrDown  Errors  Core Id  Virtual device Id  Cable Len meters
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
9 eth1/1/1 Enabled Up -- Present 0 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 9 No -- -- -- -- -- --
10 eth1/1/5 Enabled Up -- Present 0 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 10 No -- -- -- -- -- --
1 eth1/2/1 Enabled Up -- Present 1 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 1 No -- -- -- -- -- --
5 eth1/2/5 Enabled Up -- Present 1 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 5 No -- -- -- -- -- --
11 eth1/3/1 Enabled Up -- Present 2 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 11 No -- -- -- -- -- --
15 eth1/3/5 Enabled Up -- Present 2 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 15 No -- -- -- -- -- --
19 eth1/4/1 Enabled Down -- Absent 3 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 19 No -- -- -- -- -- --
20 eth1/4/5 Enabled Down -- Absent 3 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 20 No -- -- -- -- -- --
30 eth1/5/1 Enabled Down -- Absent 4 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 30 No -- -- -- -- -- --
31 eth1/5/5 Enabled Down -- Absent 4 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 31 No -- -- -- -- -- --
22 eth1/6/1 Enabled Down -- Absent 5 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 22 No -- -- -- -- -- --
26 eth1/6/5 Enabled Down -- Absent 5 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 26 No -- -- -- -- -- --
33 eth1/7/1 Enabled Down -- Absent 6 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 33 No -- -- -- -- -- --
37 eth1/7/5 Enabled Down -- Absent 6 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 37 No -- -- -- -- -- --
96 eth1/17/1 Enabled Up -- Present 16 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 96 No -- -- -- -- -- --
97 eth1/17/5 Enabled Up -- Present 16 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 97 No -- -- -- -- -- --
88 eth1/18/1 Enabled Up -- Present 17 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 88 No -- -- -- -- -- --
92 eth1/18/5 Enabled Up -- Present 17 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 92 No -- -- -- -- -- --
99 eth1/19/1 Enabled Down -- Present 18 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 99 No -- -- -- -- -- --
103 eth1/19/5 Enabled Down -- Present 18 400G PROFILE_400G_4_PAM4_RS544X2N_OPTICAL 103 No -- -- -- -- -- --

rif

Show RIF (Router Interface) information.

Usage:

fboss2 show rif

Sample Output:

 RIF             RIFID  VlanID  RouterID  MAC                MTU   TYPE  Liveness  Scope  Ports
---------------------------------------------------------------------------------------------------------------
Interface 10 10 10 0 b6:db:91:95:fd:da 9000 -- -- LOCAL
Interface 2001 2001 2001 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/1/1
Interface 2002 2002 2002 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/1/5
Interface 2003 2003 2003 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/2/1
Interface 2004 2004 2004 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/2/5
Interface 2005 2005 2005 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/3/1
Interface 2006 2006 2006 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/3/5
Interface 2007 2007 2007 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/4/1
Interface 2008 2008 2008 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/4/5
Interface 2009 2009 2009 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/5/1
Interface 2010 2010 2010 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/5/5
Interface 2011 2011 2011 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/6/1
Interface 2012 2012 2012 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/6/5
Interface 2013 2013 2013 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/7/1
Interface 2014 2014 2014 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/7/5
Interface 2015 2015 2015 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/8/1
Interface 2016 2016 2016 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/8/5
Interface 2017 2017 2017 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/9/1
Interface 2018 2018 2018 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/9/5
Interface 2019 2019 2019 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/10/1
Interface 2020 2020 2020 0 b6:db:91:95:fd:da 9000 -- -- LOCAL eth1/10/5

route

Show Route information from the routing table.

Usage:

fboss2 show route

Sample Output:

Network Address: 2401:db00:209b:10::/64
via 2401:db00:209b:10::a dev fboss2017 weight 1
Network Address: 2401:db00:209b:11::/64
via 2401:db00:209b:11::a dev fboss2018 weight 1
Network Address: 2401:db00:209b:12::/64
via 2401:db00:209b:12::a dev fboss2019 weight 1
Network Address: 2401:db00:209b:13::/64
via 2401:db00:209b:13::a dev fboss2020 weight 1
Network Address: 2401:db00:209b:14::/64
via 2401:db00:209b:14::a dev fboss2021 weight 1
Network Address: 2401:db00:209b:15::/64
via 2401:db00:209b:15::a dev fboss2022 weight 1
Network Address: 2401:db00:209b:16::/64
via 2401:db00:209b:16::a dev fboss2023 weight 1
Network Address: 2401:db00:209b:17::/64
via 2401:db00:209b:17::a dev fboss2024 weight 1
Network Address: 2401:db00:209b:18::/64
via 2401:db00:209b:18::a dev fboss2025 weight 1
Network Address: 2401:db00:209b:19::/64
via 2401:db00:209b:19::a dev fboss2026 weight 1
Network Address: 2401:db00:209b:1::/64
via 2401:db00:209b:1::a dev fboss2002 weight 1
Network Address: 2401:db00:209b:1a::/64
via 2401:db00:209b:1a::a dev fboss2027 weight 1
Network Address: 2401:db00:209b:1b::/64
via 2401:db00:209b:1b::a dev fboss2028 weight 1
Network Address: 2401:db00:209b:1c::/64
via 2401:db00:209b:1c::a dev fboss2029 weight 1
Network Address: 2401:db00:209b:1d::/64
via 2401:db00:209b:1d::a dev fboss2030 weight 1
Network Address: 2401:db00:209b:1e::/64
via 2401:db00:209b:1e::a dev fboss2031 weight 1
Network Address: 2401:db00:209b:1f::/64
via 2401:db00:209b:1f::a dev fboss2032 weight 1
Network Address: 2401:db00:209b:20::/64
via 2401:db00:209b:20::a dev fboss2033 weight 1
Network Address: 2401:db00:209b:21::/64
via 2401:db00:209b:21::a dev fboss2034 weight 1
Network Address: 2401:db00:209b:22::/64
via 2401:db00:209b:22::a dev fboss2035 weight 1
Network Address: 2401:db00:209b:23::/64
via 2401:db00:209b:23::a dev fboss2036 weight 1
Network Address: 2401:db00:209b:24::/64
via 2401:db00:209b:24::a dev fboss2037 weight 1
Network Address: 2401:db00:209b:25::/64
via 2401:db00:209b:25::a dev fboss2038 weight 1
Network Address: 2401:db00:209b:26::/64
via 2401:db00:209b:26::a dev fboss2039 weight 1
Network Address: 2401:db00:209b:27::/64
via 2401:db00:209b:27::a dev fboss2040 weight 1

transceiver

Show Transceiver information including optics details, power levels, and diagnostics.

Usage:

fboss2 show transceiver

Sample Output:

 Interface  Status  Transceiver  CfgValidated  Reason  Vendor         Serial        Part Number       FW App Version  FW DSP Version  Temperature (C)  Voltage (V)  Current (mA)                Tx Power (dBm)        Rx Power (dBm)               Rx SNR
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
eth1/1/1 Up FR4_2x400G -- -- Eoptolink UQAB040183 EOLO-168HG-02-1B 3.12 209.28 60.61 3.27 105.23,92.23,109.13,109.06 1.06,1.10,0.89,1.16 -0.92,-1.09,-1.21,-1.21 22.72,22.69,22.66,22.21
eth1/1/5 Up FR4_2x400G -- -- Eoptolink UQAB040183 EOLO-168HG-02-1B 3.12 209.28 60.61 3.27 108.08,93.00,98.12,110.40 1.06,1.32,1.22,0.52 -1.11,-1.28,-0.97,-1.24 22.64,22.43,23.05,22.67
eth1/10/1 Down Absent -- -- 0.00 0.00
eth1/10/5 Down Absent -- -- 0.00 0.00
eth1/17/1 Up FR4_2x400G -- -- INNOLIGHT INOAFC301840 T-OL8CNT-NF2 103.137 1.6 62.86 3.30 67.50,67.50,67.50,67.50 1.46,0.88,0.49,0.71 -1.87,-2.04,-1.73,-1.63 22.47,22.05,22.18,21.66
eth1/17/5 Up FR4_2x400G -- -- INNOLIGHT INOAFC301840 T-OL8CNT-NF2 103.137 1.6 62.86 3.30 67.50,67.50,67.50,67.50 0.98,1.08,1.13,1.09 -1.39,-1.48,-1.49,-1.00 22.47,22.32,22.32,22.62
eth1/18/1 Up FR4_2x400G -- -- INNOLIGHT INOAFC300620 T-OL8CNT-NF2 103.137 1.6 64.79 3.32 67.50,67.50,67.50,67.50 1.36,1.17,1.36,0.77 -1.89,-2.09,-1.75,-1.87 22.32,21.91,22.47,20.97
eth1/18/5 Up FR4_2x400G -- -- INNOLIGHT INOAFC300620 T-OL8CNT-NF2 103.137 1.6 64.79 3.32 67.50,67.50,67.50,67.50 1.58,1.24,1.85,1.49 -2.87,-2.48,-2.16,-2.23 21.91,22.18,22.32,21.41
eth1/19/1 Down FR4_2x400G -- -- INNOLIGHT INOAFC230286 T-OL8CNT-NF2 103.137 1.6 58.93 3.32 67.50,67.50,67.50,67.50 0.66,0.66,0.64,0.84 -40.00,-40.00,-40.00,-40.00 0.00,0.00,0.00,0.00
eth1/19/5 Down FR4_2x400G -- -- INNOLIGHT INOAFC230286 T-OL8CNT-NF2 103.137 1.6 58.93 3.32 67.00,67.50,67.50,67.50 -0.39,0.15,0.95,0.64 -40.00,-40.00,-40.00,-40.00 0.00,0.00,0.00,0.00
eth1/2/1 Up FR4_2x400G -- -- Eoptolink UQAB040181 EOLO-168HG-02-1B 3.12 209.28 60.63 3.28 98.34,85.30,94.01,93.01 1.27,1.27,1.28,1.25 -2.19,-2.38,-2.74,-2.79 23.16,23.48,22.63,21.96
eth1/2/5 Up FR4_2x400G -- -- Eoptolink UQAB040181 EOLO-168HG-02-1B 3.12 209.28 60.63 3.28 75.10,82.00,105.80,110.20 1.05,0.90,1.13,0.74 -0.80,-1.28,-0.69,-1.14 23.61,22.85,23.65,22.66

config

Show config information for various binaries.

Usage:

fboss2 show config <subcommand>

Subcommands

SubcommandDescription
runningShow running config for various binaries

fsdb

Show operational information from FSDB (FBOSS State Database).

Usage:

fboss2 show fsdb <subcommand>

Subcommands

SubcommandDescription
publishersShow fsdb publishers
stateShow fsdb operational state
statsShow fsdb operational stats
subscribersShow fsdb subscribers

fsdb publishers

Show fsdb publishers.

Usage:

fboss2 show fsdb publishers

Sample Output:

 Publishers Id   Type   Raw Path        isStats
-----------------------------------------------------
agent PATH agent 1
agent PATCH agent 0
bgpd PATCH bgp 0
qsfp_service PATH qsfp_service 1
qsfp_service PATCH qsfp_service 0
sensor_service PATH sensor_service 1

version

Show versions information for various binaries.

Usage:

fboss2 show version <subcommand>

Subcommands

SubcommandDescription
agentShow agent information
bgpShow bgp information
coopShow coop information
data_corralShow data corral service information
fsdbShow fsdb information
ledShow led information
mkaShow mka information
qsfpShow qsfp information
rackmonShow rackmon information
sdkShow sdk information
sensorsShow sensor information

version agent

Show agent version information.

Usage:

fboss2 show version agent

Sample Output:

Package Name: neteng.fboss.wedge_agent
Package Info: neteng.fboss.wedge_agent:ea4de14482501f000e9c338e0dcf65b5
Package Version: neteng.fboss.wedge_agent:799
Build Details:
Host: 7071-88e2-0004-0000.twshared71028.02.ncg3.tw.fbinfra.net
Time: Sun Feb 8 18:33:06 2026
User: root
Path: /data/sandcastle/boxes/trunk-hg-fbcode-fbsource
Platform: platform010
Revision: 1243ac8e7d8b3536736c3649f1a889bac2c4ed22

clear

Reset counters, clear tables, and remove temporary state.

Usage:

fboss2 clear <subcommand> [options]

Subcommands

SubcommandDescription
arpClear ARP information
interfaceClear Interface Information
ndpClear NDP information
mirrorClear mirror

clear arp

Clear ARP table entries.

fboss2 clear arp

clear interface

Clear Interface information (e.g., counters).

fboss2 clear interface counters

clear ndp

Clear NDP table entries.

fboss2 clear ndp

clear mirror

Clear mirror session.

fboss2 clear mirror

set

Modify object properties and settings.

Usage:

fboss2 set <subcommand> [options]

Subcommands

SubcommandDescription
interfaceSet Interface information
portSet Port information
debugSet debug level
fanholdSet fan hold PWM

set interface

Set Interface information.

fboss2 set interface <interface_name> [options]

set port

Set Port information.

fboss2 set port <port_name> [options]

set debug

Set debug level for logging.

fboss2 set debug [options]

set fanhold

Set fan hold PWM value.

fboss2 set fanhold <value>

get

Retrieve specific object information.

Usage:

fboss2 get <subcommand> [options]

Subcommands

SubcommandDescription
pcapGet Packet Capture

get pcap

Get packet capture data.

fboss2 get pcap [options]

config (fboss2-dev only)

Configuration management commands for viewing and modifying the switch configuration. These commands are currently only available in the fboss2-dev binary. fboss2-dev is a strict superset of fboss2: everything documented above (including show config) works the same in both binaries, and fboss2-dev adds the config and related delete commands on top.

Usage:

fboss2-dev config <subcommand> [options]

Config Sessions

The fboss2-dev CLI uses a session-based configuration model. Config commands never modify the live system configuration directly. They edit a copy of the configuration, staged in a session under ~/.fboss2/, and have no effect on the switch until the session is committed.

Key points:

  1. No immediate side effects: Running a config command only updates the session config. The switch state is not modified until the session is committed. Use fboss2-dev config session diff to review pending changes.

  2. Single commit step: All staged changes are applied together when you run fboss2-dev config session commit. The commit is not atomic in the transactional sense. Services are updated one at a time, and if applying a change fails the CLI attempts to roll back on a best-effort basis.

  3. Multiple services: A session can stage changes to the configuration of multiple FBOSS services. Today that means the agent config (agent.conf) and the BGP daemon config (bgpcpp.conf). More services (e.g. qsfp_service) may be managed the same way in the future.

  4. Rebase: Use fboss2-dev config session rebase to reapply uncommitted session changes on top of the current startup config, similar to git rebase. This is useful if the startup config has changed since the session was started (e.g., another user committed a change).

  5. Rollback: Since the configuration is stored in a local Git repository, you can roll back to a previous configuration with fboss2-dev config rollback.

Session Workflow

# Stage configuration changes (no side effects yet)
fboss2-dev config interface eth1/1/1 description "Peer link to device XYZ"
fboss2-dev config interface eth1/1/1 eth1/2/1 mtu 1500

# Review pending changes
fboss2-dev config session diff

# Apply all staged changes
fboss2-dev config session commit

# Or rebase changes onto current config,
# if the startup config changed underneath the session
fboss2-dev config session rebase

# ... or throw away all staged changes
fboss2-dev config session clear

Staging a change confirms what was recorded in the session:

$ fboss2-dev config interface eth1/1/1 description "Peer link to device XYZ"
Successfully configured interface(s) eth1/1/1: description="Peer link to device XYZ"
$ fboss2-dev config interface eth1/1/1 eth1/2/1 mtu 1500
Successfully configured interface(s) eth1/1/1, eth1/2/1: mtu=1500

config session diff shows the pending changes as a unified diff of the config files:

$ fboss2-dev config session diff
--- current live config
+++ session config
@@ -174,7 +174,7 @@
"ipAddresses": [],
"isStateSyncDisabled": false,
"isVirtual": false,
- "mtu": 9000,
+ "mtu": 1500,
"portID": 9,
"routerID": 0,
"scope": 0,
@@ -186,7 +186,7 @@
"ipAddresses": [],
"isStateSyncDisabled": false,
"isVirtual": false,
- "mtu": 9000,
+ "mtu": 1500,
"portID": 1,
"routerID": 0,
"scope": 0,
@@ -984,7 +984,7 @@
"ports": [
{
"conditionalEntropyRehash": false,
- "description": "",
+ "description": "Peer link to device XYZ",
"drainState": 0,
"expectedLLDPValues": {},
"expectedNeighborReachability": [],

config session commit reports the new config revision and how the change was applied to each affected service:

$ fboss2-dev config session commit
Config session committed successfully as 21c94ca and config reloaded for fboss_sw_agent.

The committed revision then appears in config history:

$ fboss2-dev config history
Commit Author Commit Time Message
---------------------------------------------------------------------
21c94ca8 netops 2026-07-30 19:23:24 Config commit by netops
d0ab8413 netops 2026-07-30 19:23:15 Config commit by netops
e3446ba1 netops 2026-07-30 19:22:34 Initial commit

Config Storage

The switch configuration is stored under /etc/coop/, which is a local Git repository:

  • No remote: The repository is managed entirely locally with no remote configured.
  • Automatic commits: When you run fboss2-dev config session commit, the CLI automatically creates a Git commit with the new configuration.
  • Version history: Use fboss2-dev config history (or standard Git commands) to view configuration history.
/etc/coop/
├── .git/ # Local Git repository
├── agent.conf # Agent startup configuration (usually a symlink)
├── cli/
│ ├── agent.conf # Last agent configuration committed by the CLI
│ └── cli_metadata.json
├── bgpcpp.conf # BGP daemon startup configuration (symlink)
└── bgpcpp/
└── bgpcpp.conf # Last BGP configuration committed by the CLI

Rolling Back

Because every commit is a Git commit, fboss2-dev config rollback can restore any previous configuration. Pick a revision from config history and roll back to it, or run the command with no argument to roll back to the previous revision:

$ fboss2-dev config history
Commit Author Commit Time Message
---------------------------------------------------------------------
b79071f1 netops 2026-07-30 19:24:08 Config commit by netops
21c94ca8 netops 2026-07-30 19:23:24 Config commit by netops
d0ab8413 netops 2026-07-30 19:23:15 Config commit by netops
e3446ba1 netops 2026-07-30 19:22:34 Initial commit

$ fboss2-dev config rollback 21c94ca8
Successfully rolled back. New commit: 790bf861. Config reloaded.

# With no argument, rollback goes back to the previous revision
$ fboss2-dev config rollback
Successfully rolled back. New commit: d298ccb2. Config reloaded.

A rollback does not rewrite history. It creates a new commit whose content matches the target revision and applies it, so the rollback itself shows up in config history and can in turn be rolled back:

$ fboss2-dev config history
Commit Author Commit Time Message
----------------------------------------------------------------------------
d298ccb2 netops 2026-07-30 19:47:49 Rollback to b79071f1 by netops
790bf861 netops 2026-07-30 19:47:21 Rollback to 21c94ca8 by netops
b79071f1 netops 2026-07-30 19:24:08 Config commit by netops
21c94ca8 netops 2026-07-30 19:23:24 Config commit by netops

Applying Changes

When a session is committed, the CLI determines, per service, the least disruptive action needed to apply what was actually changed. This is abstracted away from the user. For example, some agent changes can be applied hitlessly via delta processing in ~1-2 seconds, while others require an agent restart. A BGP change may require restarting the BGP daemon while leaving the agent untouched, and a session that only touches the agent config leaves the BGP daemon alone. The CLI tracks the required action level for each service as you stage changes, and config session commit takes care of the rest.

Config Subcommands

SubcommandDescription
aclConfigure ACL tables and rules
applied-infoShow config applied information
arpConfigure ARP settings
coppConfigure CoPP (control-plane policing) settings
dhcpConfigure DHCP relay settings
historyShow history of committed config revisions
interfaceConfigure interface settings (MTU, description, switchport, IPv6 NDP, PFC, queuing policy, ...)
l2Configure L2 settings (learning mode)
load-balancingConfigure ECMP/LAG hashing
macConfigure MAC settings (aging time)
protocolConfigure routing protocols (BGP, static routes)
ptpConfigure PTP settings
qosConfigure QoS policies, buffer pools, and queuing policies
reloadReload agent configuration from the startup config
rollbackRoll back to a previous config revision
sessionManage the config session (clear, commit, diff, rebase)
switchConfigure switch-level settings (hostname, admin distance)
tunnelConfigure IP-in-IP tunnels
vlanConfigure VLAN settings

Most config subcommands have a matching delete counterpart to remove or reset the corresponding piece of configuration (e.g. fboss2-dev delete protocol static ip route ...). Note, that not all configuration parameters can be individually deleted. Modification of leaf parameters may require deleting the parent object and re-configuring with the desired parameter modified or deleted appropriately.

BGP Configuration

note

BGP config support is under active development; some pieces are still being upstreamed.

BGP is configured through the same session model, but the changes are staged for and committed to the BGP daemon's config (/etc/coop/bgpcpp/bgpcpp.conf) rather than the agent config. config session diff, rebase, rollback, and history are all BGP-aware.

The BGP command families are:

  • config protocol bgp global [<attribute> <value> ...]: process-wide settings such as router-id, local-asn, hold-time, confed-asn, cluster-id, network6 (advertised networks), and switch-limit overload-protection settings.
  • config protocol bgp neighbor <ip-address> [<attribute> <value> ...]: per-neighbor settings such as remote-asn, local-asn, peer-group, description, bind-addr address, next-hop4/next-hop6/next-hop-self, connect-mode <PASSIVE|ACTIVE>, afi disable-ipv4-afi/disable-ipv6-afi, rr-client, confed-peer, type, ingress-policy/egress-policy, add-path send|receive, link-bandwidth, graceful-restart restart-time, timers hold-time|keepalive|out-delay|withdraw-unprog-delay, and max-route pre-filter|post-filter limits. A bare neighbor <ip-address> creates the neighbor.
  • config protocol bgp peer-group <name> [<attribute> <value> ...]: the same attribute family applied to a peer group, which neighbors can then reference via peer-group.
  • config protocol bgp policy as-path-list <name> [entry <seq-num>] [<attribute> <value> ...]: BGP routing policy objects. as-path-list entries support asn-regexp, description, and match-logic <EQUAL|NOT_EQUAL>. More policy object types (community-list, prefix-list, routing-policy) will follow the same pattern.

Each family has a delete counterpart, e.g. fboss2-dev delete protocol bgp neighbor <ip-address>.

Example workflow:

fboss2-dev config protocol bgp global local-asn 65000
fboss2-dev config protocol bgp neighbor 2001:db8::99 remote-asn 65510
fboss2-dev config protocol bgp neighbor 2001:db8::99 peer-group RSW-FSW-V6
fboss2-dev config session diff
fboss2-dev config session commit

Useful Commands

CommandDescription
show config runningShow the current in-memory configuration of the agent
config session diffShow pending changes (session vs live, session vs revision, or revision vs revision)
config session commitApply staged changes to all affected services
config session rebaseReapply uncommitted changes on top of current startup config
config session clearDiscard the current config session
config historyShow Git commit history of configuration changes
config rollbackRoll back to a previous configuration version
config reloadReload the agent configuration from the startup config

Note: The running config (in-memory) may differ from the startup config if changes have been made directly via Thrift calls to the agent.

Running these commands without a switch

The config commands can also be run inside a container that uses a fake SAI implementation instead of real hardware. Build FBOSS (a build that does not specify a SAI implementation defaults to fake SAI), start the container pointed at that build, then run the CLI inside it:

# Build
time ./fboss/oss/scripts/run-getdeps.py build --allow-system-packages \
--extra-cmake-defines='{"CMAKE_BUILD_TYPE": "MinSizeRel", "CMAKE_CXX_STANDARD": "20", "RANGE_V3_TESTS": "OFF", "RANGE_V3_PERF": "OFF"}' \
--scratch-path /var/FBOSS/tmp_bld_dir --src-dir . fboss

# Start the container, running the binaries from the build above.
# The container name is printed once it is up.
sudo fboss-sim/scripts/fboss-sim-docker-run.py --local \
--build-dir /var/FBOSS/tmp_bld_dir

# Run a CLI command, or the integration tests
sudo docker exec fboss_sim_runtime_root /opt/fboss/bin/fboss2 show interface
sudo docker exec fboss_sim_runtime_root /opt/fboss/bin/fboss2_integration_test

--build-dir is the build's --scratch-path. If the build tree has since been moved elsewhere on the host, point --build-dir at where it is now and add --runpath-dir <original scratch path>, since that path is baked into the binaries. With --local the container runs those binaries directly, so after rebuilding you only need to restart the agent instead of rebuilding the container.

This is intended for fast iteration while developing a command. Nothing here runs against real hardware, so a change still has to be validated on a switch before it can be considered done.


create

Create new objects on the switch.

Usage:

fboss2 create <subcommand> [options]

Subcommands

SubcommandDescription
configCreate wedge_agent, bgp, openr configs
mirrorCreate mirror

create config

Create configuration for various binaries.

fboss2 create config [options]

create mirror

Create a mirror session.

fboss2 create mirror [options]

delete

Remove objects from the switch.

Usage:

fboss2 delete <subcommand> [options]

Subcommands

SubcommandDescription
configDelete config objects

delete config

Delete configuration objects.

fboss2 delete config [options]

bounce

Disable and re-enable objects. Useful for resetting ports or interfaces without manual disable/enable steps.

Usage:

fboss2 bounce <subcommand> [options]

Subcommands

SubcommandDescription
interfaceShut/No-Shut Interface

bounce interface

Bounce (shut/no-shut) an interface.

fboss2 bounce interface <interface_name>

Example:

fboss2 bounce interface eth1/1/1    # Bounce a specific interface

reload

Reload configuration or state for objects.

Usage:

fboss2 reload <subcommand> [options]

Subcommands

SubcommandDescription
configReload binary configuration file

reload config

Reload binary configuration file.

fboss2 reload config [options]

debug

Access debugging and diagnostic functions for advanced troubleshooting.

Usage:

fboss2 debug <subcommand> [options]

Subcommands

SubcommandDescription
bgpDebug BGP Configuration

debug bgp

Debug BGP configuration.

fboss2 debug bgp [options]

start

Start events or processes.

Usage:

fboss2 start <subcommand> [options]

Subcommands

SubcommandDescription
pcapStart Packet Capture

start pcap

Start packet capture.

fboss2 start pcap [options]

stop

Stop events or processes.

Usage:

fboss2 stop <subcommand> [options]

Subcommands

SubcommandDescription
pcapStop Packet Capture

stop pcap

Stop packet capture.

fboss2 stop pcap [options]

stream

Continuously stream real-time data from the switch. Useful for monitoring events as they occur.

Usage:

fboss2 stream <subcommand> [options]

Subcommands

SubcommandDescription
bgpContinuously stream BGP session information
fsdbStream fsdb operational information

stream bgp

Continuously stream BGP session information.

fboss2 stream bgp [options]

stream fsdb

Stream fsdb operational information.

fboss2 stream fsdb [options]

help

Display help information for commands and objects.

Usage:

fboss2 help
fboss2 help <command>
fboss2 <command> --help

See Also