^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) .. SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ===========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Operating FCoE using bnx2fc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) ===========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) Broadcom FCoE offload through bnx2fc is full stateful hardware offload that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) cooperates with all interfaces provided by the Linux ecosystem for FC/FCoE and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) SCSI controllers. As such, FCoE functionality, once enabled is largely
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) transparent. Devices discovered on the SAN will be registered and unregistered
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) automatically with the upper storage layers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) Despite the fact that the Broadcom's FCoE offload is fully offloaded, it does
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) depend on the state of the network interfaces to operate. As such, the network
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) interface (e.g. eth0) associated with the FCoE offload initiator must be 'up'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) It is recommended that the network interfaces be configured to be brought up
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) automatically at boot time.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) Furthermore, the Broadcom FCoE offload solution creates VLAN interfaces to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) support the VLANs that have been discovered for FCoE operation (e.g.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) eth0.1001-fcoe). Do not delete or disable these interfaces or FCoE operation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) will be disrupted.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) Driver Usage Model:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) ===================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 1. Ensure that fcoe-utils package is installed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 2. Configure the interfaces on which bnx2fc driver has to operate on.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) Here are the steps to configure:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) a. cd /etc/fcoe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) b. copy cfg-ethx to cfg-eth5 if FCoE has to be enabled on eth5.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) c. Repeat this for all the interfaces where FCoE has to be enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) d. Edit all the cfg-eth files to set "no" for DCB_REQUIRED** field, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) "yes" for AUTO_VLAN.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) e. Other configuration parameters should be left as default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 3. Ensure that "bnx2fc" is in SUPPORTED_DRIVERS list in /etc/fcoe/config.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 4. Start fcoe service. (service fcoe start). If Broadcom devices are present in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) the system, bnx2fc driver would automatically claim the interfaces, starts vlan
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) discovery and log into the targets.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 5. "Symbolic Name" in 'fcoeadm -i' output would display if bnx2fc has claimed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) the interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) Eg::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) [root@bh2 ~]# fcoeadm -i
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) Description: NetXtreme II BCM57712 10 Gigabit Ethernet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) Revision: 01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) Manufacturer: Broadcom Corporation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) Serial Number: 0010186FD558
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) Driver: bnx2x 1.70.00-0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) Number of Ports: 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) Symbolic Name: bnx2fc v1.0.5 over eth5.4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) OS Device Name: host11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) Node Name: 0x10000010186FD559
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) Port Name: 0x20000010186FD559
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) FabricName: 0x2001000DECB3B681
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) Speed: 10 Gbit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) Supported Speed: 10 Gbit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) MaxFrameSize: 2048
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) FC-ID (Port ID): 0x0F0377
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) State: Online
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) 6. Verify the vlan discovery is performed by running ifconfig and notice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) <INTERFACE>.<VLAN>-fcoe interfaces are automatically created.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) Refer to fcoeadm manpage for more information on fcoeadm operations to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) create/destroy interfaces or to display lun/target information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) NOTE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) ====
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) ** Broadcom FCoE capable devices implement a DCBX/LLDP client on-chip. Only one
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) LLDP client is allowed per interface. For proper operation all host software
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) based DCBX/LLDP clients (e.g. lldpad) must be disabled. To disable lldpad on a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) given interface, run the following command::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) lldptool set-lldp -i <interface_name> adminStatus=disabled