Using the Internal Management NIC Interface

Flow Offload Reference Pipeline User Guide (UG1670)

Document ID
UG1670
Release Date
2024-02-15
Revision
1.1 English

To copy the DSC firmware image using the internal management NIC (int_mnic) interface:

  1. Boot up the host with the DSC plugged in.
  2. Login to the host.
  3. Confirm the DSC enumerates as a PCIe® device, and note the PCIe address of its management controller:
    # lspci -d 1dd8:
    12:00.0 PCI bridge: Pensando Systems Inc Device 0002
    13:00.0 PCI bridge: Pensando Systems Inc DSC Virtual Downstream Port
    13:01.0 PCI bridge: Pensando Systems Inc DSC Virtual Downstream Port
    13:02.0 PCI bridge: Pensando Systems Inc DSC Virtual Downstream Port
    14:00.0 Ethernet controller: Pensando Systems Inc DSC Ethernet Controller
    15:00.0 Ethernet controller: Pensando Systems Inc DSC Ethernet Controller
    16:00.0 Ethernet controller: Pensando Systems Inc DSC Management Controller

    In this example the PCIe address is 16:00.0.

  4. Load the IONIC Ethernet driver on the host.
  5. Identify the interface for the DSC management controller.

    Look in the dmesg logs from when you were loading the driver, find the PCIe address from step 3 (16:00.0 in this example), and note the associated interface:

    # dmesg | tail
    [  341.163138] ionic Pensando Ethernet NIC Driver, ver 23.02.1-001
    [  341.163334] ionic 0000:14:00.0: 126.016 Gb/s available PCIe bandwidth, limited by 8.0 GT/s PCIe x16 link at 0000:11:00.0 (capable of 252.048 Gb/s with 16.0 GT/s PCIe x16 link)
    [  341.165911] ionic 0000:14:00.0: FW: 1.51.0-G-37
    [  341.210114] ionic 0000:15:00.0: 126.016 Gb/s available PCIe bandwidth, limited by 8.0 GT/s PCIe x16 link at 0000:11:00.0 (capable of 252.048 Gb/s with 16.0 GT/s PCIe x16 link)
    [  341.210301] ionic 0000:14:00.0 ens1: renamed from eth0
    [  341.212756] ionic 0000:15:00.0: FW: 1.51.0-G-37
    [  341.261967] ionic 0000:16:00.0: 126.016 Gb/s available PCIe bandwidth, limited by 8.0 GT/s PCIe x16 link at 0000:11:00.0 (capable of 252.048 Gb/s with 16.0 GT/s PCIe x16 link)
    [  341.263733] ionic 0000:16:00.0: FW: 1.51.0-G-37
    [  341.345005] ionic 0000:16:00.0 eth1: Link up - 1 Gbps
    The final line shows that the driver is using is using the eth1 interface for the DSC management controller.
  6. Configure an IP address for this interface:
    # ifconfig eth1 169.254.<mgmt_ctlr_pcie_bus_number>.2/24 up

    where:

    • <mgmt_ctlr_pcie_bus_number> is the first component of the PCIe address for the management controller from step 3, converted from hexadecimal to decimal.

      In this example, the PCIe address is 16:00.0, so the bus address is 0x16 which converts to 22 decimal.

    The command corresponding to the example output shown in step 3 is therefore:

    # ifconfig eth1 169.254.22.2/24 up
  7. Confirm the IP address has been set:
    # ifconfig eth1
    ens1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            inet 169.254.22.2  netmask 255.255.255.0  broadcast 169.254.22.255
            ether 00:ae:cd:2e:70:d0  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  8. Verify that you can ping the DSC from the host:
    Note: The internal management NIC for the DSC has a default IP address of 169.254.22.1.
    # ping 169.254.22.1 -c 3
    PING 169.254.22.1 (169.254.22.1) 56(84) bytes of data.
    64 bytes from 169.254.22.1: icmp_seq=1 ttl=64 time=0.205 ms
    64 bytes from 169.254.22.1: icmp_seq=2 ttl=64 time=0.091 ms
    64 bytes from 169.254.22.1: icmp_seq=3 ttl=64 time=0.085 ms
    
    --- 169.254.22.1 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2037ms
  9. SSH to the DSC from the host as root with a password of pen123 :
    # ssh -lroot 169.254.22.1
    The authenticity of host '169.254.22.1 (169.254.22.1)' can't be established.
    ECDSA key fingerprint is SHA256:AoU0vi8BifouUOfqSg78t08JgaH7vHHBZfK58CnS+EI.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '169.254.22.1' (ECDSA) to the list of known hosts.
    
    root@169.254.22.1's password:
  10. Confirm the IP address for the internal Management NIC (MNIC) interface on the DSC is 169.254.<pcie_bus_number>.1:
    Note: The int_mnic0 interface is the internal MNIC net device on the DSC that is created by default.
    # ifconfig int_mnic0
    int_mnic0 Link encap:Ethernet HWaddr 00:AE:CD:01:C6:C4
              inet addr:169.254.22.1 Bcast:169.254.22.255 Mask:255.255.255.0
              inet6 addr: fe80::2ae:cdff:fe01:c6c4/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
              RX packets:41 errors:0 dropped:0 overruns:0 frame:0
              TX packets:65 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:5351 (5.2 KiB) TX bytes:10066 (9.8 KiB)
  11. Use scp to copy the image over the internal management NIC interface from the host (specified by the IP address that you set in step 6) to the /data/ directory on the card:
    $ scp <user>@<host_ip_address>:<SSDK_dir>/src/github.com/pensando/sw/nic/dsc_fw_elba_.tar /data/

    For example:

    $ scp jdoe@169.1.22.2:/home/jdoe/ssdk/src/github.com/pensando/sw/nic/dsc_fw_elba_.tar /data/