Inventory Database
Introduction
Pica-OVS mode switch needs to store some basic switch information and some run-time information in the inventory database, this feature is running when Pica-OVS starts.
There are five kinds of information in this module as shown below, including basic Switch Information, SFP/QSFP Information, Counter Information, Alarm Information, and Hardware Flow Information.
Switch Information
Show function control information.
root@PicOS-OVS$ovs-invctl show
23aa0580-9578-471a-abae-a9c84b73affd
sfp_enable: true
sfp_query_interval: 10
counter_enable: false
hwflow_enable: false
counter_query_interval: 30
hwflow_query_interval: 30
alarm_enable: false
alarm_high_temp: 176
alarm_low_temp: 32
last_alarm_id: 0
Show basic switch information in the Switch Inventory table, including switch information, temperature information, port information and SFP/QSFP information.
Before checking the switch information, the DUT must create a bridge and add ports into the bridge. Then make sfp enable-true.
root@PicOS-OVS$ovs-invctl enable-sfp true
root@PicOS-OVS$ovs-invctl show-switch-inventory
2ef72735-5c91-43a3-9c95-cb16dd8b2cd7
model: "P3295"
system_mac: "e8:9a:8f:50:3d:30"
vendor_name: "Pica8"
serial_number: "QTFAXI12400017"
ge_port_number: 48
te_port_number: 4
qe_port_number: 0
cpu_temperature: "100 F"
switch_temperature: "100 F"
system_temperature: "93 F"
7c40378e-751f-470f-a8ad-7176a9c16b2c
port_name: "te-1/1/50"
vendor_name: JESS-LINK
vendor_sn: "12344D0001"
wavelength: "256 nm"
temperature: "32 F"
supply_voltage: "0.00 V"
connector: "Copper pigtail"
length_copper: "5 m"
length_50m: "0 m"
length_625m: "0 m"
length_9m: "0 m"
length_9m_km: "0 m"
plugged_in: true
rx_receive_power: "-inf dbM"
tx_bias_current: "0.00 mA"
tx_optical_power: "-inf dbM"SFP/QSFP Information
SFP/QSFP information is stored into the database if user enables this feature. The Administrator could enable/disable this function by using command "ovs-invctl enable-sfp {true | false}".
root@PicOS-OVS$ovs-invctl enable-sfp true
Administrator could show these information by command "ovs-invctl show-switch-inventory" or "ovs-invctl show-sfp-qsfp".
root@PicOS-OVS$ovs-invctl show-sfp-qsfp
84cb20bd-4ddc-4094-aaaa-b36dc59332a9
port_name: "te-1/1/49"
vendor_name: JESS-LINK
vendor_sn: "12344D0001"
wavelength: "256 nm"
temperature: "32 F"
supply_voltage: "0.00 V"
connector: "Copper pigtail"
length_copper: "5 m"
length_50m: "0 m"
length_625m: "0 m"
length_9m: "0 m"
length_9m_km: "0 m"
plugged_in: true
rx_receive_power: "-inf dbM"
tx_bias_current: "0.00 mA"
tx_optical_power: "-inf dbM"
Administrator could control the refresh interval by command "ovs-invctl set-sfp-interval."
root@PicOS-OVS$ovs-invctl set-sfp-interval 50
root@PicOS-OVS$ovs-invctl show
23aa0580-9578-471a-abae-a9c84b73affd
sfp_enable: true
sfp_query_interval: 50
counter_enable: false
hwflow_enable: false
counter_query_interval: 30
hwflow_query_interval: 30
alarm_enable: false
alarm_high_temp: 176
alarm_low_temp: 32
last_alarm_id: 0Counter Information
There are 4 types of counters: flow, group, meter, and port counter. As expected, the flow counter is the counter of each flow and the port counter is the counter of each port. The meter counter is the counter of each meter, associated with the band counter, and the group counter is the counter of each group, associated with the bucket counter.
Note: this kind of information generates a lot of data. Turning this on will spend some CPU and memory. So if this information is not needed, please turn it off.
Administrator could enable/disable this function by command "ovs-invctl enable-counter {true | false}"
root@PicOS-OVS$ovs-invctl enable-counter true
Administrator could control the refresh interval by command "ovs-invctl set-counter-interval".
root@PicOS-OVS$ovs-invctl enable-counter true
root@PicOS-OVS$ovs-invctl show
23aa0580-9578-471a-abae-a9c84b73affd
sfp_enable: true
sfp_query_interval: 50
counter_enable: true
hwflow_enable: false
counter_query_interval: 20
hwflow_query_interval: 30
alarm_enable: false
alarm_high_temp: 176
alarm_low_temp: 32
last_alarm_id: 0
The Administrator could show this information by command "ovs-invctl show-port/meter/flow/group-counter" or "ovs-invctl show-all-counter".
root@PicOS-OVS$ovs-invctl show-all-counter
Switch PicOS-OVS
Bridge "br0"
Port "Bridge br0 Local Port"
statistics: {collisions=0, duration_nsec=3220239464, duration_sec=1208147968, multicast=0, rx_bytes=368, rx_crc_errors=0, rx_dropped=0, rx_errors=0, rx_fifo_errors=0, rx_frame_errors=0, rx_length_errors=0, rx_missed_errors=0, rx_over_errors=0, rx_packets=4, tx_aborted_errors=0, tx_bytes=0, tx_carrier_errors=0, tx_dropped=0, tx_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_packets=0, tx_window_errors=0}
Port "Bridge br0 Port 50"
statistics: {collisions=0, duration_nsec=3220239464, duration_sec=1208147968, multicast=0, rx_bytes=0, rx_crc_errors=0, rx_dropped=0, rx_errors=0, rx_fifo_errors=0, rx_frame_errors=0, rx_length_errors=0, rx_missed_errors=0, rx_over_errors=0, rx_packets=0, tx_aborted_errors=0, tx_bytes=0, tx_carrier_errors=0, tx_dropped=0, tx_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_packets=0, tx_window_errors=0}
Port "Bridge br0 Port 49"
statistics: {collisions=0, duration_nsec=3220239464, duration_sec=1208147968, multicast=0, rx_bytes=0, rx_crc_errors=0, rx_dropped=0, rx_errors=0, rx_fifo_errors=0, rx_frame_errors=0, rx_length_errors=0, rx_missed_errors=0, rx_over_errors=0, rx_packets=0, tx_aborted_errors=0, tx_bytes=0, tx_carrier_errors=0, tx_dropped=0, tx_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_packets=0, tx_window_errors=0}
root@PicOS-OVS$ovs-invctl show-port-counter
Switch : PicOS-OVS
Bridge : br0
Port "Bridge br0 Local Port"
statistics: {collisions=0, duration_nsec=3220239464, duration_sec=1208147968, multicast=0, rx_bytes=368, rx_crc_errors=0, rx_dropped=0, rx_errors=0, rx_fifo_errors=0, rx_frame_errors=0, rx_length_errors=0, rx_missed_errors=0, rx_over_errors=0, rx_packets=4, tx_aborted_errors=0, tx_bytes=0, tx_carrier_errors=0, tx_dropped=0, tx_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_packets=0, tx_window_errors=0}
Port "Bridge br0 Port 49"
statistics: {collisions=0, duration_nsec=3220239464, duration_sec=1208147968, multicast=0, rx_bytes=0, rx_crc_errors=0, rx_dropped=0, rx_errors=0, rx_fifo_errors=0, rx_frame_errors=0, rx_length_errors=0, rx_missed_errors=0, rx_over_errors=0, rx_packets=0, tx_aborted_errors=0, tx_bytes=0, tx_carrier_errors=0, tx_dropped=0, tx_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_packets=0, tx_window_errors=0}
Port "Bridge br0 Port 50"
statistics: {collisions=0, duration_nsec=3220239464, duration_sec=1208147968, multicast=0, rx_bytes=0, rx_crc_errors=0, rx_dropped=0, rx_errors=0, rx_fifo_errors=0, rx_frame_errors=0, rx_length_errors=0, rx_missed_errors=0, rx_over_errors=0, rx_packets=0, tx_aborted_errors=0, tx_bytes=0, tx_carrier_errors=0, tx_dropped=0, tx_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_packets=0, tx_window_errors=0}Alarm informationAlarm Information
Alarm stores the alarm information about: PSU, FAN, OPTICS, PORT, TEMP, MANAGEMENT_PORT_STATUE. This information is stored in the Alarm table.
Administrator could enable/disable this function by command "ovs-invctl enable-alarm {true | false}".
root@PicOS-OVS$ovs-invctl enable-alarm true
root@PicOS-OVS$ovs-invctl show
23aa0580-9578-471a-abae-a9c84b73affd
sfp_enable: true
sfp_query_interval: 50
counter_enable: true
hwflow_enable: false
counter_query_interval: 20
hwflow_query_interval: 30
alarm_enable: true
alarm_high_temp: 176
alarm_low_temp: 32
last_alarm_id: 9The Administrator could control the temperature threshold by the command "ovs-invctl set-high/low-temp". When the switch temp id is higher or lower then the temperature threshold, it will produce an alarm message.
root@PicOS-OVS$ovs-invctl set-low-temp 10
root@PicOS-OVS$ovs-invctl set-high-temp 133
root@PicOS-OVS$ovs-invctl show
23aa0580-9578-471a-abae-a9c84b73affd
sfp_enable: true
sfp_query_interval: 50
counter_enable: true
hwflow_enable: false
counter_query_interval: 20
hwflow_query_interval: 30
alarm_enable: true
alarm_high_temp: 133
alarm_low_temp: 10
last_alarm_id: 9The Administrator could show this information by the command "ovs-invctl show-alarm"
root@PicOS-OVS$ovs-invctl show-alarm
Alarm 1
severity_code: cleared
switch_name: PicOS-OVS
entity_text: "te-1/1/50"
text: "Optics inserted"
time: "Tue Nov 3 13:49:28 2015"
Alarm 2
severity_code: cleared
switch_name: PicOS-OVS
entity_text: "te-1/1/49"
text: "Optics inserted"
time: "Tue Nov 3 13:49:28 2015"
Alarm 3
severity_code: critical
switch_name: PicOS-OVS
entity_text: "power 1"
text: "power removed"
time: "Tue Nov 3 13:49:39 2015"
Alarm 4
severity_code: critical
switch_name: PicOS-OVS
entity_text: "PSU 1"
text: "PSU removed"
time: "Tue Nov 3 13:49:39 2015"Hardware Flow Information
Note: This kind of information is very large, turning this feature on will spend some CPU and memory. So if this information is not needed, please turn it off. For saving memory, we support max 20,000 hardware flows written into the database. If the count of hardware flows is exceeded, they are discarded.
Administrator could enable/disable this function by the command "ovs-invctl enable-hwflow {true | false}".
root@PicOS-OVS$ovs-invctl enable-hwflow true
root@PicOS-OVS$ovs-invctl show
23aa0580-9578-471a-abae-a9c84b73affd
sfp_enable: true
sfp_query_interval: 50
counter_enable: true
hwflow_enable: true
counter_query_interval: 20
hwflow_query_interval: 30
alarm_enable: true
alarm_high_temp: 133
alarm_low_temp: 10
last_alarm_id: 9
The Administrator could control the refresh interval by command "ovs-invctl set-hwflow-interval INTEGER".
root@PicOS-OVS$ovs-invctl enable-hwflow true
root@PicOS-OVS$ovs-invctl set-hwflow-interval 50
root@PicOS-OVS$ovs-invctl show
23aa0580-9578-471a-abae-a9c84b73affd
sfp_enable: true
sfp_query_interval: 50
counter_enable: true
hwflow_enable: true
counter_query_interval: 20
hwflow_query_interval: 50
alarm_enable: true
alarm_high_temp: 133
alarm_low_temp: 10
last_alarm_id: 9The Administrator could get hardware flow information by the command "ovs-invctl list Hardware_Flow"
Others Hardware_Flow commands are available by using the command "root@PicOS-OVS$ovs-invctl --help"
root@PicOS-OVS$ovs-invctl list Hardware_Flow
_uuid : e6e61c9d-df38-43c6-abc0-2b0654af9713
hwflow : "[\"#0 normal_d permanent priority=0,recirc_id=0, actions:drop\", \"#1 normal permanent recirc_id=0,tcp,in_port=49,dl_src=22:11:11:11:11:11,dl_dst=22:00:00:00:00:00,nw_src=1.1.2.100,nw_dst=2.2.2.100, actions:50\"]"
update_time : "Tue Nov 3 15:11:19 2015"
Show Power/Fan Information
root@PicOS-OVS$ovs-invctl list power-status
_uuid : 19af5a8c-9adc-4d92-8615-0e4a50aadabd
good_12v : "false"
led : ""
number : 1
power_alert : ""
present : "false"
_uuid : 95b3fa12-8f6e-4709-bf0a-363a9fda0c2f
good_12v : "true"
led : ""
number : 2
power_alert : ""
present : "true"
root@PicOS-OVS$ovs-invctl list fan_status
_uuid : 43d903ec-7894-4df7-833b-5d5a1004b388
direction : "fan direction from front to back"
fault : "false"
input : " 11400 rpm"
number : 3
pwm : " 50 %"
Copyright © 2025 Pica8 Inc. All Rights Reserved.