F5OS-A 1.2.0 - NIC Manager Feature¶
Feature Overview¶
The NIC manager is a service running on a Pantera system. The NIC manager is a docker container which provides a method to configure and monitor the Pantera network interfaces. The NIC manager replaces the FPGA manager used on Vanquish. The NIC manager supports a subset of the FPGA manager ZMQ APIs needed by the L2-agent for Pantera. Specifically the FPGA and ATSE APIs. Additionally the NIC-manager adds some functions specific to the Pantera NICs.
Feature deeper overview¶
The NIC manager is responsible for the following on the Pantera appliance:
Interface discovery¶
Determine port profile configuration from HW.
8x10G
2x25G + 4x10G
4x25G
NIC manager determines the port-profile mode using Intel epct tool. The port-profile determines
portgroups
interfaces
Interface configuration¶
Update NIC port-profile
Intel epct tool
reboot using theSoftware Management API using an API call to a unix domain socket on the host (Please use this method when directed by F5 personnel only)
Update interface administrativestate using ioctl() calls.
enable
disable
Interface monitoring¶
Monitors interface state, link state using ioctl() calls.
Publish interface state changes
SFP insertion and removal
SFP Vendor details
SFP DDM
Interface stats
L2 protocol packets¶
nic-manager provides an API for the L2 protocol services
ingress
l2 agents subscribe to specific l2 protocol packets which arrive on any of the front panel interfaces.
nic-manager publishes l2 protocol packets when they arrive to all subscribers
egress
nic-manager provides an API which allows the l2 agents to send packets out on the front panel interfaces.
Docker networking¶
nic-manager runs in host mode to allow NIC manager access to the font panel port NIC PFs.
running in host mode changes the networking between containers for the ZMQ APIs
iptable rules to open nic-manager ZMQ ports.
Docker privilege mode¶
nic-manager requires docker privilege mode to allow access to network interfaces for configuration and monitoring.
pcap needs root access
ZMQ APIs¶
FPGA manager
interface
portgroups
port-profile
host-reboot
L2 protocol packet sub API
L2 protocol packet send API
Customer use case example¶
User insert a new NIC and the software shows the new NIC in the list.
User needs to be able to collect statistics from the interface.
CLI commands¶
No new commands have been added to the CLI, however the TMSTAT tables on the tenant are now capable to retrieve statistics and show the status of the optics properly. I.e. the following tmstat table ( on the tenant ) is showing the customer visible interface names ( e.g. 1.0 ) for each row :
[root@cip1516:Active:Standalone] config # tmctl -A interface_stat
name if_index pause_active hidden wire_speed counters.pkts_in
------ -------- ------------ ------ ---------- ----------------
1.1 48 0 0 0 0
1.2 64 0 0 0 0
1.3 80 0 0 0 0
1.4 96 0 0 0 0
1.5 112 0 0 0 0
1.6 128 0 0 0 0
1.7 144 0 0 0 0
1.8 160 0 0 0 6464
mgmt 32 0 0 0 23839
vnic 0 0 1 0 227281
xchg:0 0 0 1 0 0
counters.bytes_in counters.pkts_out counters.bytes_out counters.mcast_in
----------------- ----------------- ------------------ -----------------
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
768226 30 2580 0
1836354 436 72882 0
68255539 224445 12141167 0
0 75 6450 0
counters.mcast_out counters.errors_in counters.errors_out counters.drops_in
------------------ ------------------ ------------------- -----------------
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
counters.drops_out counters.collisions counters.qq_in counters.qq_out resets
------------------ ------------------- -------------- --------------- ------
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
30 0 0 0 0
rx_pkts rx_broadcast rx_xoff rx_on rx_64byte rx_127byte rx_255byte rx_511byte
------- ------------ ------- ----- --------- ---------- ---------- ----------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
6464 0 0 0 0 6464 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
rx_1023byte rx_1522byte rx_jumbo rx_gt_jumbo rx_bytes rx_no_bds rx_hw_drop
----------- ----------- -------- ----------- -------- --------- ----------
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 768226 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
tx_pkts tx_broadcast tx_xoff tx_on tx_64byte tx_127byte tx_255byte tx_511byte
------- ------------ ------- ----- --------- ---------- ---------- ----------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
30 0 0 0 0 30 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 15 0 0 0 0 0 0
tx_1023byte tx_1522byte tx_jumbo tx_gt_jumbo tx_bytes tx_lost_carrier
----------- ----------- -------- ----------- -------- ---------------
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 2580 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
tx_hw_drop pkts_out0 pkts_out1 pkts_out2 pkts_out3 pkts_out4 pkts_out5
---------- --------- --------- --------- --------- --------- ---------
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
pkts_out6 pkts_out7 bytes_out0 bytes_out1 bytes_out2 bytes_out3 bytes_out4
--------- --------- ---------- ---------- ---------- ---------- ----------
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
bytes_out5 bytes_out6 bytes_out7 drop_pkts0 drop_pkts1 drop_pkts2 drop_pkts3
---------- ---------- ---------- ---------- ---------- ---------- ----------
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
drop_pkts4 drop_pkts5 drop_pkts6 drop_pkts7 drop_bytes0 drop_bytes1 drop_bytes2
---------- ---------- ---------- ---------- ----------- ----------- -----------
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
drop_bytes3 drop_bytes4 drop_bytes5 drop_bytes6 drop_bytes7
----------- ----------- ----------- ----------- -----------
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
[root@cip1516:Active:Standalone] config #
GUI Screen Shots¶
No new pages have been added to the CLI
API¶
No new API have been added to the CLI