Last updated on: January 19 2023.

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

ConfD interfaces

Subscribers

  • DDM

Publishers

  • Interface status

  • SFP details

  • DDM

  • Stats counters

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