Broadcom, the pulse logo, Connecting everything, NetXtre me, Avago Technologies, Avago, and the A logo are am ong the
trademarks of Broadcom and/or its affiliates in the United States, certain other countries, and/or the EU.
function, or design. Information furnished by Broadcom is believed to be accurate and reliable. However, Broadcom does
not assume any liability arising out of the application or use of this information, nor the application or use of any product or
circuit described herein, neither does it convey any license under its patent rights nor the rights of others.
Page 3
NetXtreme-C/NetXtreme-E User Guide
Table of Contents
1 Regulatory and Safety Approvals...............................................................................................................................7
3 Network Link and Activity Indication .........................................................................................................................8
4 Features ........................................................................................................................................................................9
4.1 Software and Hardware Features........................................................................................................................9
4.2 Virtualization Features .......................................................................................................................................10
4.7 Stateless Transport Tunnel Offload ...................................................................................................................12
4.8 Multiqueue Support for OS ................................................................................................................................12
4.9 SR-IOV Configuration Support Matrix................................................................................................................12
5 Installing the Hardware..............................................................................................................................................15
5.2 System Requirements........................................................................................................................................15
5.3 Installing the Adapter .........................................................................................................................................16
5.4 Connecting the Network Cables ........................................................................................................................16
NetXtreme-UG100
3
Page 4
NetXtreme-C/NetXtreme-E User Guide
5.4.1 Supported Cables and Modules ..............................................................................................................16
6 Software Packages and Installation.........................................................................................................................17
6.2 Installing the Linux Driver...................................................................................................................................17
6.2.1 Linux Ethtool Commands.........................................................................................................................17
6.3 Installing the VMware Driver..............................................................................................................................18
6.4 Installing the Windows Driver.............................................................................................................................19
7 Updating the Firmware ..............................................................................................................................................21
7.1 Linux ..................................................................................................................................................................21
8.1 Windows ............................................................................................................................................................22
8.2 Linux ..................................................................................................................................................................22
9.1 UEFI HII Menu ...................................................................................................................................................23
9.1.1 Main Configuration Page .........................................................................................................................23
9.2.2 MBA Configuration Menu.........................................................................................................................24
9.3.4 Windows Driv er Settings...................... ... ... .......................................... .... ... ... ... .... ...................................27
9.3.5 Linux Driver Settings................................................................................................................................28
10.3.1.2 DHCP Option 43, Vendor-Specific Information .............................................................................................34
10.3.1.3 Configuring the DHCP Server .......................................................................................................................34
10.3.2 DHCP iSCSI Boot Configuration for IPv6 ..............................................................................................34
10.3.2.1 DHCPv6 Option 16, Vendor Class Option.....................................................................................................34
10.3.2.2 DHCPv6 Option 17, Vendor-Specific Information .........................................................................................34
10.3.2.3 Configuring the DHCP Server .......................................................................................................................35
11 VXLAN: Configuration and Use Case Examples...................................................................................................35
12 SR-IOV: Configuration and Use Case Examples...................................................................................................36
12.1 Linux Use Case Example.................................................................................................................................36
12.2 Windows Use Case Example...........................................................................................................................37
12.3 VMware SRIOV Use Case Example................................................................................................................38
13 NPAR – Configuration and Use Case Example .....................................................................................................39
13.1 Features and Requirements ........ ...... .... ... .......................................................................................................39
14.1.5 Known Issues ........................................................................................................................................45
14.2 Windows and Use Case Examples..................................................................................................................45
14.2.3 User Mode.............................................................................................................................................46
14.3 VMware ESX Configuration and Use Case Examples.....................................................................................47
14.3.4.1 Configuring a Virtual Center for PVRDMA ....................................................................................................47
NetXtreme-UG100
5
Page 6
NetXtreme-C/NetXtreme-E User Guide
14.3.4.2 Tagging vmknic for PVRDMA on ESX Hosts ................................................................................................48
14.3.4.3 Setting the Firewall Rule for PVRDMA..........................................................................................................48
14.3.4.4 Adding a PVRDMA Device to the VM ...........................................................................................................48
14.3.4.5 Configuring the VM on Linux Guest OS ........................................................................................................48
15 DCBX – Data Center Bridging .................................................................................................................................50
15.3 DCBX Willing Bit ..............................................................................................................................................51
16 DPDK – Configuration and Use Case Examples ...................................................................................................54
16.1 Compiling the Application ............ ... ... .... ..........................................................................................................54
16.2 Running the Application...................................................................................................................................54
16.4 Control Functions.............................................................................................................................................55
The following sections detail the Regulatory, Safety, Electromagnetic Compatibility (EMC), and Electrostatic Discharge
®
(ESD) standard compliance for the NetXtreme
-C/NetXtreme-E Network Interface Card.
1.1 Regulatory
Table 1: Regulatory Approvals
ItemApplicable StandardApproval/Certificate
CE/European UnionEN 60950-1CB report and certificate
UL/USAUL 60950-1
CTUVus UL
CSA/CanadaCSA 22.2 No. 950CSA report and certificate.
TaiwanCNS14336 Class B–
UL report and certificate.
1.2 Safety
Table 2: Safety Approvals
CountryCertification Type/StandardCompliance
InternationalCB Scheme
ICES 003 - Digital Device
UL 1977 (connector safety)
UL 796 (PCB wiring safety)
UL 94 (flammability of parts)
Yes
1.3 Electromagnetic Compatibility (EMC)
Table 3: Electromagnetic Compatibility
Standard/CountryCertification TypeCompliance
CE/EUEN 55022:2010 + *AC:2011 Class B
EN 55024 Class B
FCC/USACFR47, Part 15 Class BFCC/IC DoC and EMC report referencing
IC/CanadaICES-003 Class BFCC/IC DoC and report referencing FCC and
ACA/Australia, New ZealandEN 5022:2010 + *AC:2011ACA certificate
BSMI/TaiwanCNS13438 Class BBSMI certificate
MIC/S. KoreaRRL KN22 Class B
KN24 (ESD)
VCCI /JapanV-3/2014/04Copy of VCCI on-line certificate
CE report and CE DoC
FCC and IC standards
IC standards
RCM Mark
Korea certificate
MSIP Mark
NetXtreme-UG100
7
Page 8
NetXtreme-C/NetXtreme-E User Guide
1.4 Electrostatic Discharge (ESD) Compliance
Table 4: ESD Compliance Summary
StandardCertification TypeCompliance
EN55024:2010Air/Direct dischargeYes
1.5 FCC Statement
This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the
FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential
installation. This equipment generates uses and can radiate radio frequency energy and, if not installed and used in
accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee
that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio television
reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the
interference by one or more of the following measures:
Reorient or relocate the receiving antenna.
Increase the separation between the equipment and receiver.
Consult the dealer or an experienced radio/TV technician for help.
NOTE:Changes or modifications not expressly approved by the manufacture responsible for compliance could void the
user’s authority to operate the equipment.
2 Functional Description
The Broadcom NetXtreme-C (BCM573XX) and NetXtreme-E (BCM574XX) family of Ethernet Controllers are highlyintegrated, full-featured Ethernet LAN controllers optimized for data center and cloud infrastructures. Adapters support
100G/50G/40G/25G/10G/1G in both single and dual-port configurations. On the host side, these devices support sixteen
lanes of a PCIe Generation 3 interface.
An extensive set of stateless offloads and virtualization offloads to enhance packet processing efficiency are included to
enable low-overhead, high-speed network communications.
3 Network Link and Activity Indication
Ethernet connections, the state of the network link, and activity is indicated by the LEDs on the rear connector as shown in
Table 5.
Refer to the individual board data sheets for specific media design.
Table 5: Network Link and Activity Indicated by Port LEDs
Port LEDLED AppearanceNetwork State
Link LEDOffNo link (cable disconnected)
Continuously illuminatedLink
Activity LEDOffNo network activity
BlinkingNetwork activity
NetXtreme-UG100
8
Page 9
NetXtreme-C/NetXtreme-E User Guide
4 Features
Refer to the following sections for device features.
4.1 Software and Hardware Features
Table 6 provides a list of host interface features.
Table 6: Host Interface Features
FeatureDetails
Host InterfacePCIe 3.0 (Gen 3: 8 GT/s; Gen 2: 5 GT/s; Gen 1: 2.5 GT/s).
Number of PCIe lanesPCIe Edge connector: x16.
Vital Product Data (VPD)Supported.
Alternate Routing ID (ARI)Supported.
Function Level Reset (FLR)Supported.
Advanced Error ReportingSupported.
PCIe ECNsSupport for TLP Processing Hints (TPH), Latency Tolerance
Reporting (LTR), and Optimized Buffer Flush/Fill (OBFF).
MSI-X Interrupt vector per queue1 per RSS queue, 1 per NetQueue, 1 per Virtual Machine Queue
(VMQ).
IP Checksum OffloadSupport for transmit and receive side.
TCP Checksum OffloadSupport for transmit and receive side.
UDP Checksum OffloadSupport for transmit and receive side.
NDIS TCP Large Send OffloadSupport for LSOV1 and LSOV2.
NDIS Receive Segment Coalescing (RSC)Support for Windows environments.
TCP Segmentation Offload (TSO)Support for Linux and VMware environments.
Large Receive Offload (LRO)Support for Linux and VMware environments.
Generic Receive Offload (GRO)Support for Linux and VMware environments.
Receive Side Scaling (RSS)Support for Windows, Linux, and VMware environments. Up to
8 queues/port supported for RSS.
Header-Payload SplitEnables the software TCP/IP stack to receive TCP/IP packets
with header and payload data split into separate buffers.
Supports Windows, Linux, and VMware environments.
Jumbo FramesSupported.
iSCSI bootSupported.
NIC Partitioning (NPAR)Supports up to eight Physical Functions (PFs) per port, or up to
16 PFs per silicon. This option is configurable in NVRAM.
NetXtreme-UG100
9
Page 10
NetXtreme-C/NetXtreme-E User Guide
Table 6: Host Interface Features (Continued)
FeatureDetails
RDMA over Converge Ethernet (RoCE)The BCM5741X supports RoCE v1/v2 for Windows, Linux, and
VMware.
Data Center Bridging (DCB)The BCM5741X supports DCBX (IEEE and CEE specification),
PFC, and AVB.
NCSI (Network Controller Sideband Interface)Supported.
Wake on LAN (WOL) Supported on designs with 10GBASE-T, SFP+, and SFP28
interfaces.
PXE bootSupported.
UEFI bootSupported.
Flow Control (Pause)Supported.
Auto negotiationSupported.
IEEE 802.1q VLANSupported.
Interrupt ModerationSupported.
MAC/VLAN filtersSupported.
4.2 Virtualization Features
Table 7 lists the virt ua lizatio n fe at ur es of the NetXt re me-C /Ne tXt re m e- E.
Table 7: Virtualization Features
FeatureDetails
Linux KVM MultiqueueSupported.
VMware NetQueueSupported.
NDIS Virtual Machine Queue (VMQ)Supported.
Virtual eXtensible LAN (VXLAN) – Aware stateless offloads (IP/
SR-IOV v1.0128 Virtual Functions (VFs) for Guest Operating Systems (GOS)
NetXtreme-UG100
per device. MSI-X vector per VF is set to 16.
10
Page 11
NetXtreme-C/NetXtreme-E User Guide
Table 7: Virtualization Features (Continued)
FeatureDetails
MSI-X vector port74 per port default value (two port configuration). 16 per VF and is
configurable in HII and CCM.
4.3 VXLAN
A Virtual eXtensible Local Area Network (VXLAN), defined in IETF RFC 7348, is used to address the need for overlay
networks within virtualized data centers accommodating multiple tenants. VXLAN is a Laye r 2 overlay or tunneling schem e
over a Layer 3 network. Only VMs within the same VXLAN segment can communicate with each other.
4.4 NVGRE/GRE/IP-in-IP/Geneve
Network Virtualization using GRE (NVGRE), defined in IETF RFC 7637, is similar to a VXLAN.
4.5 Stateless Offloads
4.5.1 RSS
Receive Side Scaling (RSS) uses a Toeplitz algorithm which uses 4 tuple match on the received frames and forwards it to
a deterministic CPU for frame processing. This allows streamlined frame processing and balances CPU utilization. An
indirection table is used to map the stream to a CPU.
Symmetric RSS allows the mapping of packets of a given TCP or UDP flow to the same receive queue.
4.5.2 TPA
Transparent Packet Aggregation (TPA) is a technique where received frames of the same 4 tuple matched frames are
aggregated together and then indicated to the network stack. Each entry in the TPA context is identified by the 4 tuple:
Source IP, destination IP, source TCP port, and destination TCP port. TPA improves system performance by reducing
interrupts for network traffic and lessening CPU overhead.
4.5.3 Header-Payload Split
Header-payload split is a feature that enables the software TCP/IP stack to receive TCP/IP packets with header and payload
data split into separate buffers. The support for this feature is available in both Windows and Linux environments. The
following are potential benefits of header-payload split:
The header-payload split enables compact and efficient caching of packet headers into host CPU caches. This can
result in a receive side TCP/IP performance improvement.
Header-payload splitting enables page flipping and zero copy operations by the host TCP/IP stack. This can further
improve the performance of the receive path.
4.6 UDP Fragmentation Offload
UDP Fragmentation Offload (UFO) is a feature that enables the software stack to offload fragmentation of UDP/IP datagrams
into UDP/IP packets. The support for this feature is only available in the Linux environment. The following is a potential
benefit of UFO:
NetXtreme-UG100
11
Page 12
NetXtreme-C/NetXtreme-E User Guide
The UFO enables the NIC to handle fragmentation of a UDP datagram into UDP/IP packets. This can result in the
reduction of CPU overhead for transmit side UDP/IP processing.
4.7 Stateless Transport Tunnel Offload
Stateless Transport Tunnel Offload (STT) is a tunnel encapsulation tha t enables overlay networks in virtualized data centers.
STT uses IP-based encapsulation with a TCP-like header. There is no TCP connection state associated with the tunnel and
that is why STT is stateless. Open Virtual Switch (OVS) uses STT.
An STT frame contains the STT frame header and payload. The payload of the STT frame is an untagged Ethernet frame.
The STT frame header and encapsulated payload are treated as the TCP payload and TCP-like header. The IP header (IPv4
or IPv6) and Ethernet header are created for each STT segment that is transmitted.
4.8 Multiqueue Support for OS
4.8.1 NDIS VMQ
The NDIS Virtual Machine Queue (VMQ) is a feature that is supported by Microsoft to improve Hyper-V network
performance. The VMQ feature supports packet classification based on the destination MAC address to return received
packets on different completion queues. This packet classification combined with the ability to DMA packets directly into a
virtual machine’s memory allows the scaling of virtual machines across multiple processors.
See Driver Advanced Properties for information on VMQ.
4.8.2 VMware NetQueue
The VMware NetQueue is a feature that is similar to Microsoft’s NDIS VMQ feature. The NetQueue feature supports packet
classification based on the destination MAC address and VLAN to return received packets on different NetQueues. This
packet classification combined with the ability to DMA packets directly into a virtual machine’s memory allows the scaling of
virtual machines across multiple processors.
4.8.3 KVM/Xen Multiqueue
KVM/Multiqueue returns the frames to different queues of the host stack by classifying the incoming frame by processing
the received packet’s destination MAC address and or IEEE 802.1Q VLAN tag. The classification combined with the ability
to DMA the frames directly into a virtual machine’s memory allows scaling of virtual machines across multiple processors.
4.9 SR-IOV Configuration Support Matrix
Windows VF over Windows hypervisor
Windows VF and Linux VF over VMware hypervisor
Linux VF over Linux KVM
4.10 SR-IOV
The PCI-SIG defines optional support fo r Single-Root IO Virtua lization (SR-IOV). SR-IOV is designed to allow access of the
VM directly to the device using Virtual Functions (VFs). The NIC Physical Function (PF) is divided into multiple virtual
functions and each VF is presented as a PF to VMs.
SR-IOV uses IOMMU functionality to translate PCIe virtual addresses to physical addresses by using a translation table.
NetXtreme-UG100
12
Page 13
NetXtreme-C/NetXtreme-E User Guide
The number of Physical Functions (PFs) and Virtual Functions (VFs) are managed through the UEFI HII menu, the CCM,
and through NVRAM configurations. SRIOV can be supported in combination with NPAR mode.
4.11 Network Partitioning (NPAR)
The Network Partitioning (NPAR) feature allows a single physical network interface port to appear to the system as multiple
network device functions. When NPAR mode is enabled, the NetXtreme-E device is enumerated as multiple PCIe physical
functions (PF). Each PF or “partition” is assigned a separate PC Ie function ID on initial power on. The original PCIe definition
allowed for eight PFs per device. For Alternative Routing-ID (ARI) capable systems, Broadcom NetXtreme-E adapters
support up to 16 PFs per device. Each partition is assigned its own configuration space, BAR address, and MAC address
allowing it to operate independently. Partitions support direct assignment to VMs, VLANs, and so on, just as any other
physical interface.
4.12 RDMA over Converge Ethernet – RoCE
Remote Direct Memory Access (RDMA) over Converge Ethernet (RoCE) is a complete hardware offload feature in the
BCM5741X that allows RDMA functionality over an Ethernet network. RoCE functionality is available in user mode and
kernel mode application. RoCE Physical Functions (PF) and SRIOV Virtual Functions (VF) are available in single function
mode and in mutli-function mode (NIC Partitioning mode). Broadcom supports RoCE in Windows, Linux, and VMware.
Refer to the following links for RDMA support for each operating system:
The following sections describe the supported feature combinations for this device.
4.13.1 NPAR, SR-IOV, and RoCE
Table 8 provides the supported feature combinations of NPAR, SR-IOV, and RoCE.
Table 8: NPAR, SR-IOV, and RoCE
SW FeatureNotes
NPARUp to 8 PFs or 16 PFs
SR-IOVUp to 128 VFs (total per chip)
NetXtreme-UG100
13
Page 14
NetXtreme-C/NetXtreme-E User Guide
Table 8: NPAR, SR-IOV, and RoCE (Continued)
SW FeatureNotes
RoCE on PFsUp to 4 PFs
RoCE on VFsValid for VFs attached to RoCE-enabled PFs
Host OSLinux, Windows, ESXi (no vRDMA support)
Guest OSLinux and Windows
DCBUp to two COS per port with non-shared reserved memory
4.13.2 NPAR, SR-IOV, and DPDK
Table 9 provides the supported feature combinations of NPAR, SR-IOV, and DPDK.
Table 9: NPAR, SR-IOV, and DPDK
SW FeatureNotes
NPARUp to 8 PFs or 16 PFs
SR-IOVUp to 128 VFs (total per chip)
DPDKSupported only as a VF
Host OSLinux
Guest OSDPDK (Linux)
4.13.3 Unsupported Combinations
The combination of NPAR, SR-IOV, RoCE, and DPDK is not supported.
NetXtreme-UG100
14
Page 15
NetXtreme-C/NetXtreme-E User Guide
5 Installing the Hardware
5.1 Safety Precautions
CAUTION! The adapter is being installed in a system that operates with voltages that can be lethal. Before removing the
cover of the system, observe the following precautions to protect yourself and to prevent damage to the system
components:
Remove any metallic objects or jewelry from your hands and wrists.
Make sure to use only insulated or nonconducting tools.
Verify that the system is powered OFF and unplugged before you touch internal components.
Install or remove adapters in a static-free environment. The use of a properly grounded wrist strap or other
personal antistatic devices and an antistatic mat is strongly recommended.
5.2 System Requirements
Before installing the Broadcom NetXtreme-E Ethernet adapter, verify that the system meets the requirements listed for the
operating system.
5.2.1 Hardware Requirements
Refer to the following list of hardware requirements:
One open PCIe Gen 3 x8 or x 16 slot.
4 GB memory or more (32 GB or more is recommended for virtualization applications and nominal network throughput
performance).
5.2.2 Preinstallation Checklist
Refer to the following list before installing the NetXtreme-C/NetXtreme-E device.
1. Verify that the server meets the hardware and software requirements listed in “System Requirements”.
2. Verify that the server is using the latest BIOS.
3. If the system is active, shut it down.
4. When the system shutdown is complete, turn off the power and unplug the power cord.
5. Holding the adapter card by the edges, remove it from its shipping package and place it on an antistatic surface.
6. Check the adapter for visible signs of damage, p articularly on the card edge connector. Never attempt to install a
damaged adapter.
NetXtreme-UG100
15
Page 16
NetXtreme-C/NetXtreme-E User Guide
5.3 Installing the Adapter
The following instructions apply to installing the Broadcom NetXtreme-E Ethernet adapter (add-in NIC) into most servers.
Refer to the manuals that are supplied with the server for details about performing these tasks on this particular server.
1. Review the “Safety Precautions” on page 15 and “Preinstallation Checklist” before installing the adapter. Ensure that the
system power is OFF and unplugged from the power outlet, and that pr oper electrical grounding pr ocedures have b een
followed.
2. Open the system case and select any empty PCI Express Gen 3 x8 or x16 slot.
3. Remove the blank cover-plate from the slot.
4. Align the adapter connector edge with the connector slot in the system.
5. Secure the adapter with the adapter clip or screw.
6. Close the system case and disconnect any personal antistatic devices.
5.4 Connecting the Network Cables
Broadcom Ethernet switches are productized with SFP+/SFP28 /QSFP28 ports that su ppor t up to 100 Gb/s. The se 10 0 Gb/
s ports can be divided into 4 x 25 Gb/s SFP28 ports. QSFP ports can be connected to SFP28 ports using 4 x 25G SFP28
breakout cables.
5.4.1 Supported Cables and Modules
5.4.1.1 Copper
The BCM957406AXXXX, BCM957416AXXXX, and BCM957416XXXX adapters have two RJ-45 connectors used for
attaching the system to a CAT 6E Ethernet copper-wire segment.
5.4.1.2 SFP+
The BCM957302/402AXXXX, BCM957412AXXXX, and BCM957412MXXXX adapters have two SFP+ connectors used for
attaching the system to a 10 Gb/s Ethernet switch.
5.4.1.3 SFP28
The BCM957404AXXXX, BCM957414XXXX, and BCM957414AXXXX adapters have two SFP28 connectors used for
attaching the system to a 100 Gb/s Ethernet switch.
5.4.1.4 QSFP
The BCM957454XXXXXX, BCM957414AXXXX, and BCM957304XXXXX adapters have single QSFP connectors used for
attaching the system to a 100 Gb/s Ethernet switch.
NetXtreme-UG100
16
Page 17
NetXtreme-C/NetXtreme-E User Guide
6 Software Packages and Installation
Refer to the following sections for information on software packages and installation.
6.1 Supported Operating Systems
Table 10 provides a list of supported operating systems.
Table 10: Supported Operating System List
OS FlavorDistribution
WindowsWindows 2012 R2 or above
LinuxRedhat 6.9, Redhat 7.1 or above
SLES 11 SP 4, SLES 12 SP 2 or above
VMwareESXi 6.0 U3 or above
6.2 Installing the Linux Driver
Linux drivers can be downloaded from the Broadcom pub lic website: https://www.broadcom.com/support/download-search/
See the package readme.txt files for specific instructions and optional parameters.
6.2.1 Linux Ethtool Commands
NOTE:In Table 11, ethX should be replaced with the actual interface name.
Table 11: Linux Ethtool Commands
CommandDescription
ethtool -s ethX speed 25000 autoneg offSet the speed. If the link is up on one port, the driver does not allow
the other port to be set to an incompatible speed.
ethtool -i ethXOutput includes driver, firmware and package version.
ethtool -k ethXShow offload features.
ethtool -K ethX tso offTurn off TSO.
ethtool -K ethX gro off lro offTurn off GRO/LRO.
ethtool -g ethXShow ring sizes.
ethtool -G ethX rx NSet Ring sizes.
ethtool -S ethXGet statistics.
ethtool -l ethXShow number of rings.
ethtool -L ethX rx 0 tx 0 combined MSet number of rings.
ethtool -C ethX rx-frames NSet interrupt coalescing. Other parameters supported are: rx-usecs,
irq, tx-frames-irq.
ethtool -x ethXShow RSS flow hash indirection table and RSS key.
ethtool -s ethX autoneg on speed 10000 duplex fullEnable Autoneg (see “Auto-Negotiation Configuration” on page 24
for more details)
ethtool --show-eee ethXShow EEE state.
ethtool --set-eee ethX eee offDisable EEE.
NetXtreme-UG100
17
Page 18
NetXtreme-C/NetXtreme-E User Guide
Table 11: Linux Ethtool Commands (Continued)
CommandDescription
ethtool --set-eee ethX eee on tx-lpi offEnable EEE, but disable LPI.
ethtool -L ethX combined 1 rx 0 tx 0Disable RSS. Set the combined channels to 1.
ethtool -K ethX ntuple offDisable Accelerated RFS by disabling ntuple filters.
ethtool -K ethX ntuple onEnable Accelerated RFS.
Ethtool -t ethXPerforms various diagnostic self-tests.
echo 32768 > /proc/sys/net/core/rps_sock_flow_entries
echo 2048 > /sys/class/net/ethX/queues/rx-X/rps_flow_cnt
sysctl -w net.core.busy_read=50This sets the time to busy read the device's receive ring to 50 usecs.
echo 4 > /sys/bus/pci/devices/0000:82:00.0/sriov_numvfsEnable SR-IOV with four VFs on bus 82, Device 0 and Function 0.
ip link set ethX vf 0 mac 00:12:34:56:78:9aSet VF MAC address.
ip link set ethX vf 0 state enableSet VF link state for VF 0.
ip link set ethX vf 0 vlan 100Set VF 0 with VLAN ID 100.
Enable RFS for Ring X.
For socket applications waiting for data to arrive, using this method
can decrease latency by 2 or 3 usecs typically at the expense of
higher CPU utilization.
6.3 Installing the VMware Driver
The ESX drivers are provided in VMware standard VIB format and can be downloaded from VMware: https://
vmkload_mod bnxtnetLoad bnxtnet module.
esxcli network nic set –n vmnicX –D full –S 25000Set the speed and duplex of vmnicX.
esxcli network nic down –n vmnicXDisable vmnicX.
esxcli network nic up –n vmnic6Enable vmnicX.
bnxtnetcli –s –n vmnic6 –S “25000”Set the link speed. Bnxtnetcli is needed for older ESX versions to
support the 25G speed setting.
6.4 Installing the Windows Driver
To install the Windows drivers:
1. Download the Windows driver installation package can be downloaded from: https://www.broadcom.com/support/
4. Right-click on the Broadcom devices under Network Adapters.
5. Select Update Driver.
6. Select Browse My Computer For Driver Software and navigate to the folder where the driver files located. The driver
l updates automatically.
7. Reboot the system to ensure that the driver is running.
6.4.1 Driver Advanced Properties
The Windows driver advanced properties are shown in Table 13.
.
Table 13: Windows Driver Advanced Properties
Driver KeyParametersDescription
Encapsulated Task offloadEnable or DisableUsed for configuring NVGRE
encapsulated task offload.
Energy Efficient EthernetEnable or DisableEEE enabled for Copper ports and
Disabled for SFP+ or SFP28 ports. This
feature is only enabled for the
BCM957406A4060 adapter.
Flow controlTX or RX or TX/RX enableConfigure flow control on RX or TX or both
sides.
Interrupt ModerationEnable or DisableDefault Enabled. Allows frames to be
batch processed by saving CPU time.
Jumbo packet1514, 4088, or 9014Jumbo packet size.
Large Send offload V2 (IPv4)Enable or DisableLSO for IPv4.
Large Send offload V2 (IPv6)Enable or DisableLSO for IPv6.
Locally Administered AddressUser entered MAC address.Override default hardware MAC address
after OS boot.
NetXtreme-UG100
19
Page 20
NetXtreme-C/NetXtreme-E User Guide
Table 13: Windows Driver Advanced Properties (Continued)
Driver KeyParametersDescription
Max Number of RSS Queues2, 4, or 8.Default is 8. Allows user to configure
Receive Side Scaling queues.
Priority and VLANPriority and VLAN Disable, Priority
enabled, VLAN enabled, Priority and
Default Enabled. Used for configuring
IEEE 802.1Q and IEEE 802.1P.
VLAN enabled.
Receive Buffer (0=Auto)Increments of 500.Default is Auto.
Receive Side ScalingEnable or Disable.Default Enabled
Receive Segment Coalescing (IPv4)Enable or Disable.Default Enabled
Receive Segment Coalescing (IPv6)Enable or Disable.Default Enabled
RSS load balancing profileNUMA scaling static, Closest processor,
Default NUMA scaling static.
Closest processor static, conservative
scaling, NUMA scaling.
Speed and Duplex1 Gb/s, or 10 Gb/s, or 25 Gb/s, or Auto
Negotiation.
10 Gb/s Copper ports can Auto negotiate
speeds, whereas 25 Gb/s ports are set to
forced speeds.
SR-IOVEnable or Disable.Default Enabled. This parameter works in
conjunction with HW configured SR-IOV
and BIOS configured SR-IOV setting.
TCP/UDP checksum offload IPv4TX/RX enabled, TX enabled or RX
Default RX and TX enabled.
Enabled or offload disabled.
TCP/UDP checksum offload IPv6TX/RX enabled, TX enabled or RX
Default RX and TX enabled.
Enabled or offload disabled.
Transmit Buffers (0=Auto)Increment of 50.Default Auto.
Virtual Machine QueueEnable or Disable.Default Enabled.
VLAN IDUser configurable number.Default 0.
6.4.2 Event Log Messages
Table 14 provides the Event Log messages logged by the Windows NDIS driver to the event logs.
0x0016Firmware failed to respond within allocated time.
0x0017Firmware returned failure status.
0x0018Firmware is in unknown state.
0x0019Optics Module is not supported.
0x001AIncompatible speed selection between Port 1 and Port 2. Reported
link speeds are correct and might not match Speed and Duplex
setting.
0x001BIncompatible speed selection between Port 1 and Port 2. Link
configuration became illegal.
0x001CNetwork controller configured for 25 Gb full-duplex link.
0x001DNetwork controller configured for 40 Gb full-duplex link.
0x001ENetwork controller configured for 50 Gb full-duplex link.
0x001FNetwork controller configured for 100 Gb full-duplex link.
0x0020RDMA support initialization failed.
0x0021Device's RDMA firmware is incompatible with this driver.
0x0022Doorbell BAR size is too small for RDMA.
0x0023RDMA restart upon device reset failed.
0x0024RDMA restart upon system power up failed
0x0025RDMA startup failed. Not enough resources.
0x0026RDMA not enabled in firmware.
0x0027Start failed, a MAC address is not set.
0x0028Transmit stall detected. TX flow control is disabled from now on.
7 Updating the Firmware
7.1 Linux
To update the Linux firmware:
1. Download the firmware upgrade package from: https://www.broadcom.com/support/download-search/
5. Reboot the system for new firmware to take affect.
7.2 Windows/ESX
The NIC firmware can be upgraded using the NVRAM packages prov ided in the same link in the Linux session. Refer to the
readme.txt for specific instructions for your adapter.
8 Teaming
8.1 Windows
The Broadcom NetXtreme-C/NetXtreme-E devices can participate in NIC teaming functionality using the Microsoft teaming
solution. Refer to Microsoft public documentation described in the following link:
Microsoft LBFO is a native teaming driver that can be used in the Windows OS. The teaming driver also provides VLAN
tagging capabilities.
8.2 Linux
Linux bonding is used for teaming under Linux. The concept is loading the bondin g driver and adding team members to the
bond which would load-balance the traffic.
Use the following steps to setup Linux bonding:
1. Execute the following command:
modprobe bonding mode=”balance-alb”. This will create a bond interface.
2. Add bond clients to the bond interface. An example is shown below:
ifenslave bond0 ethX; ifenslave bond0 ethY
3. Assign an IPv4 address to bond the interface using ifconfig bond0 IPV4Address netmask NetMask up. The
IPV4Address and NetMask are an IPv4 address and the associated network mask.
NOTE:The IPv4 address should be replaced with the actual network IPv4 address.
actual IPv4 network mask.
4. Assign an IPv6 address to bond the interface using
IPV6Address and NetMask are an IPv6 address and the associated network mask.
NOTE:The IPv6 address should be replaced with the actual network IPv6 address.
actual IPv6 network mask.
Refer to the Linux Bonding documentation for advanced configurations.
ifconfig bond0 IPV6Address netmask NetMask up. The
NetMask should be replaced by the
NetMask should be replaced by the
NetXtreme-UG100
22
Page 23
NetXtreme-C/NetXtreme-E User Guide
9 System-Level Configuration
The following sections provide information on system-level NIC configuration.
9.1 UEFI HII Menu
Broadcom NetXtreme-E series controllers can be configured for pre-boot, iSCSI and advanced configuration such as SRIOV using HII (Human Interface) menu.
To configure the settings, during system boot, enter BIOS setup and navigate to the network interface control me n us .
9.1.1 Main Configuration Page
This page displays the current network link status, PCIe Bus:Device:Function, MAC address of the adapter and the Ethernet
device.
The 10GBASE-T card allows the user to enable or disable Energy Efficient Ethernet (EEE).
9.1.2 Firmware Image Properties
Main configuration page – The firmware Image properties displays the Family ver sion, which consists of version numbers of
the controller BIOS, Multi Boot Agent (MBA), UEFI, iSCSI, and Comprehensive Configuration Manageme nt (CCM) version
numbers.
9.1.3 Device-Level Configuration
Main configuration page – The device level configuration allows the user to ena ble SR-IOV mode, number of virtual functions
per physical function, MSI-X vectors per Virtual function, and the Max number of physical function MSI-X vectors.
9.1.4 NIC Configuration
NIC configuration – Legacy boot protocol is used to select and con figure PXE, iSCSI, or disable legacy boot mode. The boot
strap type can be Auto, int18h (interrupt 18h), int19h (interrupt 19h), or BBS.
MBA and iSCSI can also be configured using CCM. Legacy BIOS mode uses CCM for configuration. The hide setup pr ompt
can be used for disabling or enabling the banner display.
VLAN for PXE can be enabled or disabled and the VLAN ID can be configured by the user. See the Auto-Negotiation
Configuration for details on link speed setting options.
9.1.5 iSCSI Configuration
iSCSI boot configuration can be set through the Main configuration page -> iSCSI configuration. Parameters such as IPv4
or IPv6, iSCSI initiator, or the iSCSI target are set through this page.
Refer to iSCSI Boot for detailed configuration information.
NetXtreme-UG100
23
Page 24
NetXtreme-C/NetXtreme-E User Guide
9.2 Comprehensive Configuration Management
For adapters that include CCM firmware (legacy boot only), preboot configuration can be configured using the
Comprehensive Configuration Management (CCM) menu option. During the system BIOS POST, the Broadcom banner
message is displayed with an option to change the par ame te rs thr ough the Contr ol-S menu . Wh en Co ntro l-S is pr essed, a
device list is populated with all the Broadcom network adapters found in the system. Select the desir ed NIC for configuration.
NOTE:Some adapters may not have CCM firmware in the NVRAM image and must use the HII menu to configure legacy
parameters.
9.2.1 Device Hardware Configuration
Parameters that can be configured using this section are the same as the HII menu Device level configuration.
9.2.2 MBA Configuration Menu
Parameters that can be configured using this section are the same as the HII menu NIC configuration.
9.2.3 iSCSI Boot Main Menu
Parameters that can be configured using this section are the same as the HII menu iSCSI configuration.
9.3 Auto-Negotiation Configuration
NOTE:In NPAR (NIC partitioning) devices where one port is shared by multiple PCI functions, the port speed is
preconfigured and cannot be changed by the driver.
The Broadcom NetXtreme-E controller supports the following auto-negotiation features:
Link speed auto-negotiation
Pause/Flow Control auto-negotiation
NOTE:Regarding link speed AN, when using SFP+, SFP28 connectors, use DAC or Multimode Optical transceivers
capable of supporting AN. Ensure that the link partn er port has been set to the matchin g auto-negotiation protocol.
For example, if the local Broadcom port is set to IEEE 802.3by AN protocol, the link partner must support AN and
must be set to IEEE 802.3by AN protocol.
NOTE:For dual ports NetXtreme-E network controllers, 10 Gb/s and 25 Gb/s are not a supported combination of link
speed.
NetXtreme-UG100
24
Page 25
NetXtreme-UG100
25
NetXtreme-C/NetXtreme-E User Guide
The supported combination of link speed settings for two ports NetXtreme-E network controller are shown in Table 16.
NOTE: 1 Gb/s link speed for SFP+/SFP28 is currently not support in this release.
P1 – port 1 setting
P2 – port 2 setting
AN – auto-negotiation
No AN – forced speed
{link speed} – expected link speed
AN {link speeds} – advertised supported auto-negotiation link speeds.
Table 16: Supported Combination of Link Speed Settings
Port1 Link Speed
Setting
Port 2 Link Setting
Forced 1GForced 10GForced 25GAN Enabled {1G}
AN Enabled
{10G}
AN Enabled
{25G}
AN Enabled {1/
10G}
AN Enabled {1/
25G}
AN Enabled {10/
25G}
AN Enabled {1/10/
25G}
Forced 1GP1: no ANP1: no ANP1: no ANP1: no ANP1: no ANP1: no ANP1: no ANP1: no ANP1: no ANP1: no AN
P2: no ANP2: no ANP2: no ANP2: {1G}P2: AN {10G}P2: AN {25G}P2: AN {1/10G}P2: AN {1/25G} P2: AN {10/25G} P2: AN {1/10/25G}
Forced 10GP1: no ANP1: no ANNot supported P1: no ANP1: no ANNot supported P1: no ANP1: no ANP1: no ANP1: no AN
P2: no ANP2: no ANP2: {1G}P2: {10G}P2: AN {1/10G}P2: AN {1G}P2: AN {10G}P2: AN {1/10G}
Forced 25GP1: no ANNot supported P1: no ANP1: no ANP1: no ANP1: no ANP1: no ANP1: no ANP1: no ANP1: no AN
P2: no ANP2: no ANP2: no ANP2: no ANP2: no ANP2: AN {1G}P2: AN {1/25G} P2: AN {25G}P2: AN {1/25G}
AN Enabled
{1G}
P1: {1G}P1: {1G}P1: {1G}P1: AN {1G}P1: AN {1G}P1: AN {1G}P1: AN {1G}P1: AN {1G}P1: AN {1G}P1: AN {1G}
P2: no ANP2: no ANP2: no ANP2: AN {1G}P2: AN {10G}P2: AN {25G}P2: AN {1/10G}P2: AN {1/25G} P2: AN {10/25G} P2: AN {1/10/25G}
AN Enabled
{10G}
P1: AN {10G} P1: AN {25G} Not supported P1: AN {10G}P1: AN {10G}Not supported P1: AN {25G}P1: AN {10G}P1: AN {10G}P1: AN {10G}
P2: no ANP2: no ANP2: AN {1G}P2: AN {10G}P2: AN {1G}P2: AN {1G}P2: AN {10G}P2: AN {1/10G}
AN Enabled
{25G}
P1: AN {25G} Not supported P1: AN {25G} P1: AN {25G}Not supportedP1: AN {25G}P1: AN {1/10G}P1: AN {25G}P1: AN {25G}P1: AN {25G}
P2: no ANP2: no ANP2: AN {1G}P2: AN {25G}P2: AN {1/10G}P2: AN {1/25G} P2: AN {25G}P2: AN {1/25G}
AN Enabled
{1/10G}
P1: AN {1/10G} P1: AN {1/10G} P1: AN {1G}P1: AN {1/10G} P1: AN {1/10G} P1: AN {1/10G} P1: AN {1/25G}P1: AN {1G}P1: AN {1/10G}P1: AN {1/10G}
P2: no ANP2: no ANP2: no ANP2: AN {1G}P2: AN {10G}P2: AN {25G}P2: AN {1/10G}P2: AN {1G}P2: AN {10G}P2: AN {1/10G}
AN Enabled
{1/25G}
P1: AN {1/25G} P1: {1G}P1: AN {1/25G} P1: AN {1/25G} P1: AN {1G}P1: AN {1/25G} P1: AN {10/25G}P1: AN {1/25G} P1: AN {1/25G}P1: AN {1/25G}
P2: no ANP2: no ANP2: no ANP2: AN {1G}P2: AN {10G}P2: AN {25G}P2: AN {1/10G}P2: AN {1/25G} P2: AN {25G}P2: AN {1/25G}
AN Enabled
{10/25G}
P1: AN {10/
25G}
P1: {10G}P1: AN {25G} P1: AN {10/25G} P1: AN {10G}P1: AN {25G}P1: AN {1/10/25G} P1: AN {25G}P1: AN {10/25G} P1: AN {10/25G}
P2: no ANP2: no ANP2: no ANP2: AN {1G}P2: AN {10G}P2: AN {25G}P2: AN {1/10G}P2: AN {25G}P2: AN {10/25G} P2: AN {1/10/25G}
AN Enabled
{1/10/25G}
P1: AN {1/10/
25G}
P1: {1/10G}P1: AN {1/25G} P1: AN {1/10/
25G}
P1: AN {1/10G} P1: AN {1/25G} P1: AN {1/10/25G} P1: AN {1/25G} P1: AN {1/10/25G} P1: AN {1/10/25G}
P2: no ANP2: no ANP2: no ANP2: AN {1G}P2: AN {10G}P2: AN {25G}P2: AN {1/10G}P2: AN {1/25G} P2: AN {10/25G} P2: AN {1/10/25G}
Page 26
NetXtreme-UG100
26
NetXtreme-C/NetXtreme-E User Guide
The expected link speeds based on the local and link partner settings are shown in Table 17.
To enable link speed auto-negotiation, the following options can be enabled in system BIOS HII menu or in CCM:
System BIOS->NetXtreme-E NIC->Device Level Configuration
Table 17: Expected Link Speeds
Local Speed
Settings
Link Partner Speed Settings
Forced 1G
Forced
10G
Forced
25G
AN Enabled
{1G}
AN
Enabled
{10G}
AN
Enabled
{25G}
AN Enabled
{1/10G}
AN
Enabled {1/
25G}
AN Enabled
{10/25G}
AN Enabled
{1/10/25G}
Forced 1G1GNo linkNo linkNo linkNo linkNo linkNo linkNo linkNo linkNo link
Forced 10GNo link10GNo linkNo linkNo linkNo linkNo linkNo linkNo linkNo link
Forced 25GNo linkNo link25GNo linkNo linkNo linkNo linkNo linkNo linkNo link
AN {1G}No linkNo linkNo link1GNo linkNo link1G1GNo link1G
AN {10G}No linkNo linkNo linkNo link10GNo link10GNo link10G10G
AN {25G}No linkNo linkNo linkNo linkNo link25GNo link25G25G25G
AN {1/10G}No linkNo linkNo link1G10GNo link10G1G10G10G
AN {1/25G}No linkNo linkNo link1GNo link25G1G25G25G25G
AN {10/25G}No linkNo linkNo linkNo link10G25G10G25G25G25G
AN {1/10/25G}No linkNo linkNo link1G10G25G10G25G25G25G
Page 27
NetXtreme-C/NetXtreme-E User Guide
9.3.1 Operational Link Speed
This option configures the link speed used by the OS driver and firmware. This setting is overridden by the driver setting in
the OS present state.
9.3.2 Firmware Link Speed
This option configures the link speed used by the firmware when the device is in D3.
9.3.3 Auto-negotiation Protocol
This is the supported auto-negotiation prot ocol used to negotiate the link speed with the link partner. This option must match
the AN protocol setting in the link partner port. The Broadcom NetXtreme-E NIC supports the following auto-negotiation
protocols: IEEE 802.3by, 25G/50G consortiums and 25G/50G BAM. By default, this option is set to IEEE 802.3by.
Link speed and Flow Control/Pause must be configured in the driver in the host OS.
9.3.4 Windows Driver Settings
To access the Windows driver settings:
Open Windows Manager -> Broadcom NetXtreme E Series adapter -> Advanced Properties -> Advanced tab
Flow Control = Auto-Negotiation
This enables Flow Control/Pause frame AN.
Speed and Duplex = Auto-Negotiation
This enables link speed AN.
NetXtreme-UG100
27
Page 28
NetXtreme-C/NetXtreme-E User Guide
9.3.5 Linux Driver Settings
NOTE:For 10GBASE-T NetXtreme-E network adapters, auto-negotiation must be enabled.
NOTE:25G and 50G advertisements are newer standards first defined in the 4.7 kernel's ethtool interface. To fully support
these new advertisement speeds for auto-negotiation, a 4.7 (or newer) kernel and a newer ethtool utility (version
4.8) are required.
ethtool -s eth0 speed 25000 autoneg off – This command turns off auto-negotiation and forces the link speed to
25 Gb/s.
ethtool -s eth0 autoneg on advertise 0x 0 – Th is com m a nd enables auto-negotiation and advertises that the device
supports all speeds: 1G, 10G, 25G (and 40G, 50G if applicable).
The following are supported advertised speeds.
– 0x020 – 1000BASE-T Full
– 0x1000 – 1000BASE-T Full
– 0x80000000 – 25000BASE-CR Full
ethtool -A eth0 autoneg on|off – Use this command to enable/disable pause frame auto-negotiation.
ethtool -a eth0 – Use this command to display the current flow control auto-negotiation setting.
9.3.6 ESXi Driver Settings
NOTE:For 10GBASE-T NetXtreme-E network adapters, auto-negotiation must be enabled. Using forced speed on a
10GBASE-T adapter results in esxcli command failure.
NOTE:VMware does not support 25G/50G speeds in ESX6.0. In this case, use the second utility (BNXTNETCLI) to set
25G/50G speed. For ESX6.0U2, the 25G/50G speed is supported.
$ esxcli network nic get -n <iface> – This command shows the current speed, duplex, driver version, firmware version
and link status.
$ esxcli network nic set -S 10000 -D full -n <iface> – This command sets the forced speed to 10 Gb/s.
$ esxcli network nic set -a -n <iface> – This enables linkspeed auto-negotiation on interface <iface>.
$ esxcli network nic pauseParams list – Use this command to get pause Parameters list.
$ esxcli network nic pauseParams set --auto <1/0> --rx <1/0> --tx <1/0> -n <iface> – Use this command to set pause
parameters.
NOTE:Flow control/pause auto-negotiation can be set only when the interface is conf igured in link speed auto-nego tiation
mode.
10 iSCSI Boot
Broadcom NetXtreme-E Ethernet adapters support iSCSI boot to enable the network boot of operating systems to diskless
systems. iSCSI boot allows a Windows, Linux, or VMware operating system to boot from an iSCSI target machine located
remotely over a standard IP network.
10.1 Supported Operating Systems for iSCSI Boot
The Broadcom NetXtreme-E Gigabit Ethernet adapters support iSCSI boot on the following operating systems:
Windows Server 2012 and later 64-bit
Linux RHEL 7.1 and later, SLES11 SP4 or later
VMware 6.0 U2
NetXtreme-UG100
28
Page 29
NetXtreme-C/NetXtreme-E User Guide
10.2 Setting up iSCSI Boot
Refer to the following sections for information on setting up iSCSI boot.
10.2.1 Configuring the iSCSI Target
Configuring the iSCSI target varies per the target vendor. For information on configuring the iSCSI target, refer to the
documentation provided by the vendor. The general steps include:
1. Create an iSCSI target.
2. Create a virtual disk.
3. Map the virtual disk to the iSCSI target created in Step 1 on page 29.
4. Associate an iSCSI initiator with the iSCSI target.
5. Record the iSCSI target name, TCP port number, iSCSI Logical Unit Number (LUN), initiator Internet Qualified Name
(IQN), and CHAP authentication details.
6. After configuring the iSCSI target, obtain the following:
– Target IQN
– Target IP address
– Target TCP port number
– Target LUN
– Initiator IQN
– CHAP ID and secret
10.2.2 Configuring iSCSI Boot Parameters
Configure the Broadcom iSCSI boot software for either static or dynamic configuration. Refer to Table 18 for configuration
options available from the General Parameters menu. Table18 lists parameters for both IPv4 and IPv6. Parameters specific
to either IPv4 or IPv6 are noted.
Table 18: Configuration Options
OptionDescription
TCP/IP parameters via DHCPThis option is specific to IPv4. Controls whether the iSCSI boot host software acquires
the IP address information using DHCP (Enabled) or use a static IP configuration
(Disabled).
IP AutoconfigurationThis option is specific to IPv6. Controls whether the iSCSI boot host software configures
a stateless link-local address and/or stateful address if DHCPv6 is present and used
(Enabled). Router Solicit packets are sent out up to three times with 4-second intervals
in between each retry. Or use a static IP configuration (Disabled).
iSCSI parameters via DHCPControls whether the iSCSI boot host software acquires its iSCSI target parameters
using DHCP (Enabled) or through a static configuration (Disabled). The static
information is entered through the iSCSI Initiator Parameters Configuration screen.
CHAP AuthenticationControls whether the iSCSI boot host software uses CHAP authentication when
connecting to the iSCSI target. If CHAP Authentication is enabled, the CHAP ID and
CHAP Secret are entered through the iSCSI Initiator Parameters Configuration screen.
DHCP Vendor IDControls how the iSCSI boot host software interprets the Vendor Class ID field used
during DHCP. If the Vendor Class ID field in the DHCP Offer packet matches the value
in the field, the iSCSI boot host software looks into the DHCP Option 43 fields for the
required iSCSI boot extensions. If DHCP is disabled, this value does not need to be set.
NetXtreme-UG100
29
Page 30
NetXtreme-C/NetXtreme-E User Guide
Table 18: Configuration Options (Continued)
OptionDescription
Link Up Delay TimeControls how long the iSCSI boot host software waits, in seconds, after an Ethernet link
is established before sending any data over the network. The valid values are 0 to 255.
As an example, a user may need to set a value for this option if a network protocol, such
as Spanning Tree, is enabled on the switch interface to the client system.
Use TCP TimestampControls if the TCP Timestamp option is enabled or disabled.
Target as First HDDAllows specifying that the iSCSI target drive appears as the first hard drive in the system.
LUN Busy Retry CountControls the number of connection retries the iSCSI Boot initiator attempts if the iSCSI
target LUN is busy.
IP VersionThis option specific to IPv6. Toggles between the IPv4 or IPv6 protocol. All IP settings
are lost when switching from one protocol version to another.
10.2.3 MBA Boot Protocol Configuration
To configure the boot protocol:
1. Restart the system.
2. From the PXE banner, select CTRL+S. The MBA Configuration Menu displays.
3. From the MBA Configuration Menu, use the up arrow or down arrow to move to the Boot Protocol option. Use the
left arrow or right arrow to change the Boot Protocol option for iSCSI.
In a static configuration, you must enter data for the system's IP address, the system's initiator IQN, and the target
parameters obtained in “Configuring the iSCSI Target” on page 29. For information on configuration options, see Table 18
on page 29.
To configure the iSCSI boot parameters using static configuration:
1. From the General Parameters menu, set the following:
– TCP/IP parameters via DHCP – Disabled. (For IPv4).
– IP Autoconfiguration – Disabled. (For IPv6, non-offload).
– iSCSI parameters via DHCP – Disabled.
– CHAP Authentication – Disabled.
– DHCP Vendor ID – BRCM ISAN.
– Link Up Delay Time – 0.
– Use TCP Timestamp – Enabled (for some targets, it is necessary to enable Use TCP Timestamp).
– Target as First HDD – Disabled.
– LUN Busy Retry Count – 0.
– IP Version – IPv6. (For IPv6, non -o ff loa d) .
NetXtreme-UG100
30
Page 31
NetXtreme-C/NetXtreme-E User Guide
2. Select ESC to return to the Main menu.
3. From the Main menu, select Initiator Parameters.
4. From the Initiator Parameters screen, enter values for the following:
– IP Address (unspecified IPv4 and IPv6 addresses should be "0.0.0.0" and "::", respectively)
– Subnet Mask Prefix
– Default Gateway
– Primary DNS
– Secondary DNS
– iSCSI Name (corresponds to the iSCSI initiator name to be used by the client system)
NOTE:Enter the IP address. There is no error-checking performed against the IP address to check for duplicates or
incorrect segment/network assignment.
5. Select
Esc to return to the Main menu.
6. From the Main menu, select 1st Target Parameters.
NOTE:For the initial setup, configuring a second target is not supported.
7.
From the 1st Target Parameters screen, enable Connect to connect to the iSCSI target. Type values for the fol lowing
using the values used when configuring the iSCSI target:
– IP Address
–TCP Port
–Boot LUN
– iSCSI Name
8. Select Esc to return to the Main menu.
9. Select Esc and select Exit and Save Configuration.
10.Select F4 to save the MBA configuration.
10.2.4.2 Dynamic iSCSI Boot Configuration
In a dynamic configuration, specify that the system's IP address and target/initiator information are provided by a DHCP
server (see IPv4 and IPv6 configurations in “Configuring the DHCP Server to Support iSCSI Boot” on page 33). For IPv4,
with the exception of the initiator iSCSI name, any settings on the Initiator Parameters, 1st Target Parame ters, or 2nd Target
Parameters screens are ignored and do not need to be cleared. For IPv6, with the exception of the CHAP ID and Secret,
any settings on the Initiator Parameters, 1st Target Parameters, or 2nd Target Parameters screens are ignored and do not
need to be cleared. For information on configuration options, see Table 18 on page 29.
NOTE:When using a DHCP server, the DNS server entries are overwritten by the values provided by the DHCP server.
This occurs even if the locally provided values are valid and the DHCP server provides no DNS server information.
When the DHCP server provides no DNS server information, both the primary and secondary DNS server values
are set to 0.0.0.0. When the Windows OS takes over, the Microsoft iSCSI initiator retrieves the iSCSI Initiator
parameters and configures the appropriate registries statically. It overwrites whatever is configured. Since the
DHCP daemon runs in the Windows environment as a user process, all TCP/IP parameters have to be statically
configured before the stack comes up in the iSCSI Boot environment.
If DHCP Option 17 is used, the target information is provided by the DHCP server, and the initiator iSCSI name is
retrieved from the value programmed from the In itiator Paramete rs screen. If no value was sel ected, the n the cont roller
defaults to the name:
where the string 11.22.33.44.55.66 corresponds to the controller's MAC address.
If DHCP option 43 (IPv4 only) is used, then any settings on the Initiator Parameters, 1st Target Parameters, or 2nd
Target Parameters screens are ignored and do not need to be cleared.
To configure the iSCSI boot parameters using a dynamic configuration:
1.
From the General Parameters menu screen, set the following parameters :
– TCP/IP parameters via DHCP – Enabled. (For IPv4.)
– IP Autoconfiguration – Enabled. (For IPv6, non-offload.)
– iSCSI parameters via DHCP – Enabled
– CHAP Authentication – Disabled
– DHCP Vendor ID – BRCM ISAN
– Link Up Delay Time – 0
– Use TCP Timestamp – Enabled (for some targets, it is necessary to enable Use TCP Timestamp)
– Target as First HDD – Disabled
– LUN Busy Retry Count – 0
– IP Version – IPv6. (For IPv6, non -o ff loa d. )
2. Select ESC to return to the Main menu.
NOTE:Information on the Initiator Parameters, and 1st Target Parameters screens are ignored and do not need to be
cleared.
3.
Select Exit and Save Configurations.
10.2.5 Enabling CHAP Authentication
Ensure that CHAP authentication is enabled on the target.
To enable CHAP authentication:
1. From the General Parameters screen, set CHAP Authentication to Enabled.
2. From the Initiator Parameters screen, enter the parameters for the following:
• CHAP ID (up to 128 bytes)
• CHAP Secret (if authentication is required, and must be 12 characters in length or longer)
3. Select ESC to return to the Main menu.
4. From the Main menu, select the 1st Target Parameters.
5. From the 1st Target Parameters screen, type values for the following using the values used when configuring the i SCSI
target:
• CHAP ID (optional if two-way CHAP)
• CHAP Secret (optional if two-way CHAP, and must be 12 characters in length or longer)
6. Select ESC to return to the Main menu.
7. Select ESC and select Exit and Save Configuration.
NetXtreme-UG100
32
Page 33
NetXtreme-C/NetXtreme-E User Guide
10.3 Configuring the DHCP Server to Support iSCSI Boot
The DHCP server is an optional component and it is only necessary for dynamic iSCSI Boot configuration setup (see
“Dynamic iSCSI Boot Configuration” on page 31).
Configuring the DHCP server to support iSCSI boot is different for IPv4 and IPv6. Refer to the following sections:
10.3.1 DHCP iSCSI Boot Configurations for IPv4
The DHCP protocol includes a number of options that provide configuration information to the DHCP client. For iSCSI boot,
Broadcom adapters support the following DHCP configurations:
10.3.1.1 DHCP Option 17, Root Path
Option 17 is used to pass the iSCSI target information to the iSCSI client. The format of the root path as defined in IETC
RFC 4173 is:
"iscsi:"A literal string.
<servername>The IP address or FQDN of the iSCSI target
":"Separator.
<protocol>The IP protocol used to access the iSCSI target. Currently, only TCP is supported so the protocol is 6.
<port>The port number associated with the protocol. The standard port numbe r for iSCSI is 3260.
<LUN>The Logical Unit Number to use on the iSCSI target. The value of the LUN must be represented in
hexadecimal format. A LUN with an ID OF 64 would have to be configured as 40 within the option 17
parameter on the DHCP server.
<targetname>The target name in either IQN or EUI format (refer to RFC 3720 for details on both IQN and EUI formats).
An example IQN name would be iqn.1995-05.com.broadcom:iscsi-target.
NetXtreme-UG100
33
Page 34
NetXtreme-C/NetXtreme-E User Guide
10.3.1.2 DHCP Option 43, Vendor-Specific Information
DHCP option 43 (vendor-specific information) provides more configuration options to the iSCSI clie nt than DHCP option 17.
In this configuration, three additional suboptions are provided that assign the initiator IQN to the iSCSI boot client along with
two iSCSI target IQNs that can be used for booting. Th e format for the iSCSI target IQN is the same as that of DHCP option
17, while the iSCSI initiator IQN is simply the initiator's IQN.
NOTE:DHCP Option 43 is supported on IPv4 only.
The suboptions are listed below.
Table 20: DHCP Option 43 Suboption Definition
SuboptionDefinition
201First iSCSI target information in the standard root path format
Using DHCP option 43 requires more configuration than DHCP op tion 17, but it provides a richer environment and provides
more configuration options. Broadcom recommends that customers use DHCP option 43 when performing dynamic iSCSI
boot configuration.
10.3.1.3 Configuring the DHCP Server
Configure the DHCP server to support option 17 or option 43.
NOTE:If Option 43 is used, configure Option 60. The value of Option 60 should match the DHCP Vendor ID value. The
DHCP Vendor ID value is BRCM ISAN, as shown in General Parameters of the iSCSI Boot Configuration menu.
10.3.2 DHCP iSCSI Boot Configuration for IPv6
The DHCPv6 server can provide a number of options, including stateless or stateful IP configuration, as well as information
to the DHCPv6 client. For iSCSI boot, Broadcom adapters support the following DHCP configurations:
NOTE:The DHCPv6 standard Root Path option is not yet available. Broadcom suggests using Option 16 or Option 17 for
dynamic iSCSI Boot IPv6 support.
10.3.2.1 DHCPv6 Option 16, Vendor Class Option
DHCPv6 Option 16 (vendor class option) must be present and must contain a string that matches the configured DHCP
Vendor ID parameter. The DHCP Vendor ID value is BRCM ISAN, as shown in General Parameters of the iSCSI Boot
Configuration menu.
The content of Option 16 should be <2-byte length> <DHCP Vendor ID>.
10.3.2.2 DHCPv6 Option 17, Vendor-Specific Information
DHCPv6 Option 17 (vendor-specific information) provides more configuration options to the iSCSI client. In this
configuration, three additional suboptions are provided that assign the initiator IQN to the iSCSI boot client along with two
iSCSI target IQNs that can be used for booting.
The suboptions are listed in Table 21 on page 35.
NetXtreme-UG100
34
Page 35
NetXtreme-C/NetXtreme-E User Guide
Table 21: DHCP Option 17 Suboption Definition
SuboptionDefinition
201First iSCSI target information in the standard root path format
NOTE:In Table 21, the brackets [ ] are required for the IPv6 addresses.
The content of option 17 should be <2-byte Option Number 201|202|203> <2-byte length> <data>.
10.3.2.3 Configuring the DHCP Server
Configure the DHCP server to support Option 16 and Option 17.
NOTE:The format of DHCPv6 Option 16 and Option 17 are fully defined in RFC 3315.
11 VXLAN: Configuration and Use Case Examples
VXLAN encapsulation permits many layer 3 hosts residing on one server to send and receive frames by encapsulating on
to single IP address associated with the NIC card installed on the same server.
This example discusses basic VXLAN connectivity between two RHEL servers. Each server has one physical NIC enabled
with outer IP address set to 1.1.1.4 and 1.1.1.2.
A VXLAN10 interface with VXLAN ID 10 is created with multicast group 239.0.0.10 and is associated with physical network
port pxp1 on each server.
An IP address for the host is created on each server and associated that to VXLAN interface. Once the VXLAN interface is
brought up, the host present in system 1 can communicate with host present in system 2. The VLXAN format is shown in
Table 22.
Table 22: VXLAN Frame Format
MAC headerOuter IP header with proto =
UDP
UDP header with Destination
port= VXLAN
VXLAN header (Flags, VNI)Original L2
Frame
FCS
Table 23 provides VXLAN command and configuration examples.
Table 23: VXLAN Command and Configuration Examples
System 1System 2
PxPy: ifconfig PxPy 1.1.1.4/24PxPy: ifconfig PxPy 1.1.1.2/24
IP LINK ADD VXLAN10 TYPE VXLAN ID 10 GROUP 239.0.0.10
DEV PXPY DSTPORT 4789
IP addr add 192.168.1.5/24 broadcast 192.168.1.255 dev vxlan10IP addr add 192.168.1.10/24 broadcast 192.168.1.255 dev vxlan10
IP link set vxlan10 upIP link set vxlan10 up
ip –d link show vxlan10
Ping 192.168.1.10ifconfig vxlan10 (MTU 14 50) (SUSE and RHEL)
NOTE: X represents the PCIe bus number of the physical adapter found in the system. Y represents the port number on the physical
adapter.
IP link add vxlan10 type vxlan id 10 group 239.0.0.10 dev PxPy
dstport 4789
NetXtreme-UG100
35
Page 36
NetXtreme-C/NetXtreme-E User Guide
12 SR-IOV: Configuration and Use Case Examples
SR-IOV can be configured, enabled, and used on 10-Gb and 25-Gb Broadcom NetExtreme-E NICs.
12.1 Linux Use Case Example
1. Enable SR-IOV in the NIC cards:
a. SR-IOV in the NIC card can be enabled using the HII menu. During system boot, access the system BIOS ->
NetXtreme-E NIC -> Device Level Configuration.
b. Set the Virtualization mode to SR-IOV.
c. Set the number of virtual functions per physical function.
d. Set the number of MSI-X vectors per the VF and Max number of physical function MSI-X vectors. If the VF is running
out of resources, balance the number of MSI-X vectors per VM using CCM.
2. Enable virtua liza tio n in th e BIOS:
a. During system boot, enter the system BIOS -> Processor settings -> Virtualization Technologies and set it to
Enabled.
b. During system boot, enter the system BIOS -> SR-IOV Global and set it to Enabled.
3. Install the desired Linux version with Virtualization enabled (libvirt and Qemu).
4. Enable the iom m u ker n el pa ra m et er .
a. The IOMMU kernel parameter is enabled by editing
boot/grub2/grub.cfg for legacy mode. For UEFI mode, edit /etc/default/grub.cfg and run grub2-mkconfig o /etc/grub2-efi.cfg
/etc/default/grub.cfg and running grub2-mkconfig -o /
5. Install bnxt_en driver:
a. Copy the
NOTE:Use
bnxt_en driver on to the OS and run mak e; make install; modprobe bnxt_en.
netxtreme-bnxt_en<version>.tar.gz to install both bnxt_re and bnxt_en for RDMA functionality on
SRIOV VFs.
6. Enable Virtua l Fun ct ion s thr o ug h Ker n el pa ram ete r s:
a. Once the driver is installed, lspci displays the NetXtreme-E NICs present in the system. Bus, device, and Function
are needed for activating Virtual functions.
b. To activate Virtual functions, enter the command shown below:
echo X >/sys/bus/pci/device/0000\:Bus\:Dev.Function/sriov_numvfs
NOTE:Ensure that the PF interfaces are up. VFs are only create d if PFs are up. X is the number of VFs that are exported
lspci command displays the virtual functions with DID set to 16D3 for BCM57402/BCM57404/BCM57406, 16DC
for non-RDMA BCM57412/BCM57414/BCM57416, and 16C1 or RDMA enabled BCM57412/BCM57414/BCM57416.
NetXtreme-UG100
36
Page 37
NetXtreme-C/NetXtreme-E User Guide
8. Use the Virtual Manager to install a Virtualized Client system (VMs).
Refer to the Linux documentation for Virtual Manager installation. Ensure that the hypervisor’s built in driver is removed.
An example would be
NIC:d7:73:a7 rtl8139. Remove this driver.
9. Assign a virtual function to the guest VMs.
Assign this adapter to a guest VM as a physical PCI Device. Refer to the Linux documentation for information on
assigning virtual functions to a VM guest.
10.Install
bnxt_en drivers on VMs:
On the guest VMs, copy the
directory to each driver and run
netxtreme-bnxt_en-<version>.tar.gz source file and extract the tar.gz file. Change
make; make install; modprobe bnxt_en (and bnxt_re if enabling RDMA). Make sure
that the driver loads properly by checking the inte rface using modin fo command. The user may need to run
r bnxt_en
to unload existing or inbox bnxt_en module prior to loading the latest built module.
modprobe -
11.Test the guest VM connectivity to external world:
Assign proper IP address to the adapter and test the network connectivity.
12.2 Windows Use Case Example
1. Enable SR-IOV in the NIC cards:
a. SR-IOV in the NIC card can be enabled using the HII menu. During the system boot, access the system BIOS ->
NetXtreme-E NIC -> Device Level Configuration.
b. Set the Virtualization mode to SR-IOV.
c. Set the number of virtual functions per physical function.
d. Set the number of MSI-X vectors per the VF and Max number of physical function MSI-X vectors. If the VF is running
out of resources, balance the number of MSI-X vectors per VM using CCM.
2. Enable virtua liza tio n in th e BIOS:
a. During system boot, enter the system BIOS -> Processor settings -> Virtualization Technologies and set it to
Enabled.
b. During system boot, enter the system BIOS -> SR-IOV Global and set it to Enabled.
3. Install the latest KB update for your Windows 2012 R2 or Windows 2016 OS.
4. Install the appropriate Virtualization (Hyper-V) options. For more detail requirements and steps on setting up Hyper-V,
Virtual Switch, and Virtual Machine, visit Microsoft.com:
5. Install the latest NetXtreme-E driver on the Hyper-V.
6. Enable SR-IOV in the NDIS miniport driver advanced properties.
7. In Hyper-V Manager, create your Virtual Switch with the selected NetXtreme-E interface.
8. Check the Enable Single-Root I/O Virtualization (SR-IOV) box while creating the Hyper-V Virtual Adapter.
9. Create a Virtual Machine (VM) and add the desired number of Virtual Adapters.
10.Under the Virtual Machine's Network Adapter settings for each Virtual Adapter, check Enable SR-IOV under the Hardware Acceleration section.
NetXtreme-UG100
37
Page 38
NetXtreme-C/NetXtreme-E User Guide
11.Launch your VM and install the desired guest OS.
12.Install the corresponding NetXtreme-E driver for each guest OS.
NOTE:The Virtual Function (VF) driver for NetXtreme-E is same driver as the base driver. For example, if the guest OS
is Windows 2012 R2, the user needs to install Bnxtnd64.sys in VM. The user ca n do this by running the NetXtremeE Driver Installer executable. Once the driver has been installed in the guest OS, the user can see the VF driver
interface(s) appearing in Device Manager of the guest OS in the VM.
12.3 VMware SRIOV Use Case Example
1. Enable SR-IOV in the NIC cards:
a. SR-IOV in the NIC card can be enabled using the HII menu. During the system boot, access the system BIOS ->
NetXtreme-E NIC -> Device Level Configuration.
b. Set the Virtualization mode to SR-IOV.
c. Set the number of virtual functions per physical function.
d. Set the number of MSI-X vectors per the VF and Max number of physical function MSI-X vectors. If the VF is running
out of resources, balance the number of MSI-X vectors per VM using CCM.
2. Enable virtua liza tio n in th e BIOS:
a. During system boot, enter the system BIOS -> Processor settings -> Virtualization Technologies and set it to
Enabled.
b. During system boot, enter the system BIOS -> SR-IOV Global and set it to Enabled.
3. On ESXi, install the Bnxtnet driver using the following steps:
a. Copy the <bnxtnet>-<driver version>.vib file in /var/log/vmware.
b. Reboot the machine.
c. Verify that whether drivers are correctly installed:
$ esxcli software vib list | grep bnxtnet
4. Install the Broadcom provided BNXTNETCLI (esxcli bnxtnet) utility to set/view the miscellaneous driver parameters that
are not natively supported in esxcli, such as: link speed to 25G, sho w dr iver /f irm w a re chip infor m at ion , show NIC
configuration (NPAR, SRIOV). For more information, see the bnxtnet driver README.txt.
To install this utility:
a. Copy BCM-ESX-bnxtnetcli-<version>.vib in /var/log/vmware.
b. Reboot the system.
c. Verify whether vib is installed correctly:
$ esxcli software vib list | grep bcm-esx-bnxtnetcli
d. Set speed to 10/20/25/40/50G:
NetXtreme-UG100
38
Page 39
NetXtreme-C/NetXtreme-E User Guide
$ esxcli bnxtnet link set -S <speed> -D <full> -n <iface>
This returns an OK message if the speed is correctly set.
Example:
$ esxcli bnxtnet link set -S 25000 -D full -n vmnic5
e. Show the link stats
$ esxcli bnxtnet link get -n vmnic6
f. Show the driver/firm ware/chip information
$ esxcli bnxtnet drvinfo get -n vmnic4
g. Show the NIC information (for example, BDF; NPAR, SRIOV configuration)
$ esxcli bnxtnet nic get -n vmnic4
5. Enabling SRIOV VFs:
Only the PFs are automatically enabled. If a PF supports SR-IOV, the PF(vmknicX) is part of the output of the command
shown below.
esxcli network sriovnic list
To enable one or more VFs, the driver uses the module p arameter max_vfs to enable the desired num ber of VFs for PFs.
For example, to enable four VFs on PF1:
The required VFs of each supported PF are ena bled in order during the PF bring up. Refer to the vmware documentation
for information on how to map a VF to a VM:
NOTE:When using NPAR+SRIOV, every NPAR function (PF) is assigned a maximum of eight VFs.
13 NPAR – Configuration and Use Case Example
13.1 Features and Requirements
OS/BIOS Agnostic – The partitions are presented to the operating system as real network interfaces so no special
BIOS or OS support is required like SR-IOV.
Additional NICs without requiring additional switch ports, cabling, PCIe expansion slots.
Traffic Shaping – The allocation of bandwidth per partition can be controlled so as to limit or reserve as needed.
Can be used in a Switch Independent manner – The switch does not need any special configuration or knowledge of
the NPAR enablement.
Can be used in conjunction with RoCE and SR-IOV.
NetXtreme-UG100
39
Page 40
NetXtreme-C/NetXtreme-E User Guide
Supports stateless offloads such as, LSO, TPA, RSS/TSS, and RoCE (two PFs per port only).
Alternative Routing-ID support for greater than eight functions per physical device.
NOTE:In the UEFI HII Menu page, the NXE adapters support up to 16 PFs per device on an ARI capable system. For a
2 port device, this means up to 8 PFs for each port.
13.2 Limitations
Shared settings must be suppressed to avoid contention. For example: Speed, Duplex, Flow Control, and similar
physical settings are hidden by the device driver to avoid contention.
Non-ARI systems enable only eight partitions per ph ys ical de vic e.
RoCE is only supported on the first two partitions of each physical port, or a total of four partitions per physical device.
In NPAR + SRIOV mode, only two VFs from each parent physical port can enable RDMA support, or total of four VFs +
RDMA per physical device.
13.3 Configuration
NPAR can be configured using BIOS configuration HII menus or by using the Broadcom CCM utility on legacy boot systems.
Some vendors also expose the configuration via additional proprietary interfaces.
To enable NPAR:
1. Select the target NIC from the BIOS HII Menu or CCM interface and set the Multi-Function Mode or Virtualization Mode
option. The choice of options affects the whole NIC instead of the individual port.
NPAR is enabled in combination with SR-IOV. For some ARI capable OEM systems, the NParEP button is available to
explicitly allow the BCM5741X to support up to 16 partitions. Switching from Single Function mode to Multifunction mode,
the device needs to be re-enumerated, therefore changes do not take effect until a system reboot occurs.
NetXtreme-UG100
40
Page 41
NetXtreme-C/NetXtreme-E User Guide
2. Once NPAR is enabled, the NIC Partitioning Main Configuration Menu option is available from the main NIC
Configuration Menu associated with each phy sica l por t.
3. The NIC Partition Configuration Menu (shown below) allows the user to choose the number of partitions that should be
allocated from the selected physical port. Each BCM5741X NIC can support a maximum of 16 partitions on an ARI
capable server. By default, dual-port adapters are configured for eight partitions per physical port. Configuration options
for each partition are also accessible from this menu. For some OEM systems, the HII menu also includes a Global
Bandwidth Allocation page where the minimum (reserved) and maximum (limit) TX Bandwidth for all partitions can be
configured simultaneously.
NetXtreme-UG100
41
Page 42
NetXtreme-C/NetXtreme-E User Guide
4. Set the NIC Partition Configuration parameters (see Table 24 on page 42).
Table 24: NPAR Parameters
ParameterDescriptionValid Options
BW ReservationPercentage of total available bandwidth that should be reserved for this partition. 0
indicates equal division of bandwidth between all partitions.
BW LimitMaximum percentage of available bandwidth this partition is allowed.Value 0-100
BW Reservation ValidFunctions as an on/off switch for the BW Reservation setting.True/False
BW Limit ValidFunctions as an on/off switch for the BW Limit setting.True/False
Support RDMAFunctions as an on/off switch for RDMA support on this partition.
NOTE: Only two partitions per physical port can support RDMA. For a dual-port
device, up to 4 NPAR partitions can support RDMA.
MAC AddressMAC Address for this partition.–
Value 0-100
Enabled/Disabled
13.4 Notes on Reducing NIC Memory Consumption
Because of the faster link speeds supported in this NIC, the default number of receive buffers is larger. More packets can
arrive within a given time interval when the link speed is higher, a nd if the ho st system is d elayed in processin g the rece ive
interrupts, the NIC must drop packets if all available receive buffers are in use.
The default value of receive buffers was selected to work well for typical configurations. If you have many NICs in a system,
have enabled NPAR on multiple NICs, or if you have only a small amount of RAM, you may see a Code 12 yellow bang in
the Device Manager for some of the NICs. Code 12 means that the driver failed to load because there were not enough
resources. In this case, the resource is a specific type of kernel memory called Non-Paged Pool (NPP) memory.
If you are getting a Code 12, or for other reasons wish to reduce the amount of NPP memory consumed by the NIC:
Reduce the number of RSS queues from the default of 8 to 4 or 2. Each RSS queue has its own set of receive buffers
allocated, so reducing the number of RSS queues reduces the allocated NPP memory. There can be performance
implications from reducing the number of RSS queues, as fewer cores participate in processing receive packets from
that NIC. Per processor CPU utilization should be monitored to ensure that there are no “hot” processors after this
change.
Reduce memory allocation by reducing the number of receive buffers allocated. T he default value of 0 means the drive r
should automatically determine the number of receive buffers. For typi cal config ur ations, a se tting of 0 (=a uto) map s to
XXXX receive buffers per queue. You can choose a smaller value such as 1500, 1000, or 500. (The value needs to be
in multiples of 500 between the range of 500 and 15000.) As mentioned above, a smaller number of receive buffers
increases the risk of packet drop and a corresponding impact to packet retransmissions and decreased throughput.
NetXtreme-UG100
42
Page 43
NetXtreme-C/NetXtreme-E User Guide
The parameters “Maximum Number of RSS Queues” and “R eceive Buffers (0=Auto) ” can be modified using the Advanced
properties tab for each NIC in the Device Manager. If you want to modify multiple NICs at the same time, it is faster to use
the Set-NetAdapterAdvancedProperty PowerShell cmdle t. For example, to assign two RSS queues for all NICs in a system
whose NIC name starts with “Sl”, run the following command:
See https://blogs.technet.microsoft.com/wincat/2012/08/27/using-powershell-for-nic-configuration-tasks/ for an overview of
using PowerShell to modify NIC properties.
14 RoCE – Configuration and Use Case Examples
This section provides configuration and us e ca se ex am p les for RoCE.
To enable RoCE for PFs or VFs, the user must enable the RDMA selection in the HII menu in the BIOS before the RDMA
option takes effect in the host or guest OS.
To enable RDMA in single function mode (if Virtualization Mode is None or SR-IOV):
During the system boot, access the System Setup → NetXtreme-E NIC → Main Configuration Page and set NIC+ RMDA
Mode to Enabled.
To enable RDMA if Virtualization Mode is NPAR or NPAR+SR-IOV:
During the system boot, access the System Setup → NetXtreme-E NIC →NIC Partitioning Configuration → Partition 1
(or 2) Configuration and set NIC+ RMDA Mode to Enabled.
NOTE:If using NPAR+SRIOV mode, only two VFs from each parent physical port can enable RDMA support, or a total of
four VFs+RDMA per physical device.
14.1 Linux Configuration and Use Case Examples
14.1.1 Requirements
To configure RoCE in Linux, the following items are required:
bnxt_en-roce (RoCE supported bnxt_en driver which is part of released gzip compressed tar archive)
bnxt_re (RoCE driver)
libbnxtre (User mode RoCE library module)
14.1.2 BNXT_RE Driver Dependencies
The Bnxt_re driver requires a special RoCE enabled version of bnxt_en which is included in the netxtreme-bnxt_en-
1.7.9.tar.gz (or newer) package. The bnxt_re driver compilation depends on whether IB stack is available along with the OS
distribution or an external OFED is required.
NetXtreme-UG100
43
Page 44
NetXtreme-C/NetXtreme-E User Guide
NOTE:It is necessary to load the correct bnxt_en version that is included in the same netxtreme-bnxt_en-1.7.x.tar.gz
package. Bnxt_re and Bnxt_en function as a pair to enable RoCE traffic. Using mismatching versions of these two
drivers produces unreliable or unpredictable results.
Distros that have an IB Stack available along with OS distribution:
RH7.1/7.2/7.3/6.7/6.8, SLES12SP2 and Ubuntu 16.04
If not already installed, the IB stack and useful utils can be installed in Redhat with the following commands prior to
1. Upgrade the NIC NVRAM using the RoCE supported firmware packages from Software Release 20.06.04.01 or newer.
2. In the OS, uncompress, build, and install the BCM5741X Linux L2 and RoCE drivers.
a. # tar -xzf netxtreme-bnxt_en-1.7.9.tar.gz
b. # cd netxtreme-bnxt_en-bnxt_re
c. # make build && make install
3. Uncompress, build, and install the NetXtreme-E Linux RoCE User Library.
a. # tar xzf libbnxtre-0.0.18.tar.gz
b. # cd libbnxtre-0.0.18
c. # sh autogen.sh
d. # ./configure && make && make install.
e. # cp bnxtre.driver /etc/libibverbs.d/
f. # echo "/usr/local/lib" >> /etc/ld.so.conf
g. # ldconfig -v
Refer to the bnxt_re README.txt for more details on configurable options and recommendations.
NetXtreme-UG100
44
Page 45
NetXtreme-C/NetXtreme-E User Guide
14.1.4 Limitations
In dual-port NICs, if both ports are on same subnet, RDMA perftest commands may fail. The possible cause is due to an arp
flux issue in the Linux OS. To workaround this limitation, use multiple subnets for testing or bring the second port/interface
down.
14.1.5 Known Issues
Bnxt_en and Bnxt_re are designed to function in pair. Older Bnxt_en drivers prior to version 1.7.x do not support RDMA
and cannot be loaded at the same time as the
if
Bnxt_re is loaded with older Bnxt_en drivers. It is recommend that the user load the Bnxt_en and Bnxt_re module from
the same
netxtreme-bnxt_en-<1.7.x>.tar.gz bundle.
Bnxt_re (RDMA) driver. The user may experience a system crash and reboot
To prevent mismatching a combination of
If RedHat/CentOS 7.2 OS was installed to the target system using PXEboot with bnxt_en DUD or a kernel module
RPM, delete the file
depmod.d
bnxt_en.conf to override to use updated version. Users can also erase the current BCM5741X Linux kernel driver using
/.
bnxt_en.ko found in /lib/modules/$(uname -r)/extra/bnxt_en/bnxt_en.ko or edit /etc/
bnxt_en and bnxt_re from being loaded, the following is required:
the rpm -e kmod-bnxt_en command. RHEL 7.3/SLES 12 Sp2 has bnxt_en inbox driver (older than v1.7.x). This driver
must be removed and the latest bnxt_en be added before applying the bnxt_re (RoCE drivers).
14.2 Windows and Use Case Examples
14.2.1 Kernel Mode
Windows Server 2012 and beyond invokes the RDMA capability in the NIC for SMB file traffic if both ends are enabled for
RDMA. Broadcom NDIS miniport bnxtnd.sys v20.6.2 and beyond support RoCEv1 and RoCEv2 via the NDKPI interface.
The default setting is RoCEv1.
To enable RDMA:
1. Upgrade the NIC NVRAM using the appropriate board packages. In CCM or in UEFI HII, enable support for RDMA.
2. Go to the adapter Advanced Properties page and set NetworkDirect Functionality to Enabled for each BCM5741X
miniport, or using PowerShell window, run the following command:
3. The following Powershell commands returns true if NetworkDriect is enabled.
a. Get-NetOffLoadGlobalSetting
b. Get-NetAdapterRDMA
14.2.2 Verifying RDMA
To verify RDMA:
1. Create a file share on the remote system and open that share using Windows Explorer. To avoid hard disk read/write
speed bottleneck, a RAM disk is recommended as the network share under test.
NOTE:By default, the driver sets up two RDMA connections for each network share per IP address (on a unique subnet).
The user can scale up the number of RDMA connections by adding multiple IP addresses, each with different a
subnet, for the same physical port under test. Multiple network shares can be created and mapped to each link
partner using the unique IP addresses created.
For example:
On Server 1, create the following IP addresses for Network Port1.
172.1.10.1
172.2.10.2
172.3.10.3
On the same Server 1, create 3 shares.
Share1
Share2
Share3
On the network link partners,
Connect to \\172.1.10.1\share1
Connect to \\172.2.10.2\share2
Connect to \\172.3.10.3\share3
...etc
14.2.3 User Mode
Before running a user mode application written to NDSPI, copy and install th e bxndspi.dll user mode driver. To co py and
install the user mode driver:
1. Copy
2. Install the driver by running the following command:
bxndspi.dll to C:\Windows\System32.
rundll32.exe .\bxndspi.dll,Config install|more
NetXtreme-UG100
46
Page 47
NetXtreme-C/NetXtreme-E User Guide
14.3 VMware ESX Configuration and Use Case Examples
14.3.1 Limitations
The current version of the RoCE supported driver requires ESXi-6.5.0 GA build 4564106 or above.
14.3.2 BNXT RoCE Driver Requirements
The BNXTNET L2 driver must be installed with the disable_roce=0 module parameter before installing the driver.
To set the module parameter, run the following command:
esxcfg-module -s "disable_roce=0" bnxtnet
Use the ESX6.5 L2 driver version 20.6.9.0 (RoCE supported L2 driver) or above.
2. Compile and install the PVRDMA guest driver and library.
3. To install the driver, execute
make && sudo insmod pvrdma.ko in the directory of the driver.
The driver must be loaded after the paired vmxnet3 driver is loaded.
NOTE:The installed RDMA kernel modules may not be compatible with the PVRDMA driver. If so, remove the current
installation and restart. Then follow the installation instructions. Refer to the README in the driver's directory for
more information about the different RDMA stacks.
4. To install the library, execute
./autogen.sh && ./configure --sysconfdir=/etc && make && sudo make install
in the directory of the library.
NetXtreme-UG100
48
Page 49
NetXtreme-C/NetXtreme-E User Guide
NOTE:The installation path of the library needs to be in the shared library cache. Follow the instructions in the INSTALL
file in the library's directory.
NOTE:The firewall settings may need to be modified to allow RDMA traffic. Ensure the proper firewall settings are in place.
5. Add the
/usr/lib in the /etc/ld.so.conf file and reload the ldconf by running ldconfig
6. Load ib modules using modprobe rdma_ucm.
7. Load the PVRDMA kernel module using
insmod pvrdma.ko.
8. Assign an IP address to the PVRDMA interface.
9. Verify whether the IB device is created by running the
ibv_devinfo -v command.
NetXtreme-UG100
49
Page 50
NetXtreme-C/NetXtreme-E User Guide
15 DCBX – Data Center Bridging
Broadcom NetXtreme-E controllers support IEEE 802.1Qaz DCBX as well as the older CEE DCBX specification. DCB
configuration is obtained by exchanging the locally configured settings with the link peer. Since the two ends of a link may
be configured differently, DCBX uses a concept of 'willing' to indicate which end of the link is ready to accept parameters
from the other end. This is indicated in the DCBX protocol using a single bit in the ETS Configuration and PFC TLV, this bit
is not used with ETS Recommendation and Application Priority TLV. By Default, the NetXtreme-E NIC is in 'willing' mode
while the link partner network switch is in 'non-willing' mode. This ensures the same DCBX setting on the Switch propagates
to the entire network.
Users can manually set NetXtreme-E NIC to non-willing mode and perform various PFC, Strict Priority, ETS, and APP
configurations from the host side. Refer to the driver readme.txt for more details on available configurations. This section
provides an example of how such a setting can be done in Windows with Windows PowerShell. Additional information on
DCBX, QoS, and associated use cases are described in more details in a separate white paper, beyond the scope of this
user manual.
The following settings in the UEFI HII menu are required to enable DCBX support:
System Setup→Device Settings→NetXtreme-E NIC→Device Level Configuration
15.1 QoS Profile – Default QoS Queue Profile
Quality of Server (QoS) resources configuration is necessary to support various PFC and ETS requirements where finer
tunning beyond bandwidth allocation is needed. The NetXtreme-E allows th e adm inistrator to select between devoting NIC
hardware resources to support Jumbo Frames and/or combinations of lossy and lossless Class of Service queues (CoS
queues). Many combinations of configuration are possible and th erefore can be compl icated to compute . This option allows
a user to select from a list of precomputed QoS Queue Profiles. T hese precomputed profiles are d esign to optimize support
for PFC and ETS requirements in typical customer deployments.
The following is a summary description for each QoS Profile.
Profile #4Yes12 (PFC Supported)Yes (25 Gb/s)
Profile #5Yes10 (No PFC Support)Yes (25 Gb/s)
Profile #6Yes80 (No PFC Support)Yes (25 Gb/s)
Profile #7This configuration maximizes packet-buffer allocations to two lossless CoS Queues to maximize RoCE
DefaultYesSame as Profile #4Yes
Support
(MTU <= 2 KB)
performance while trading off flexibility.
Yes02Yes (25 Gb/s)
No. of Lossy CoS
Queues/Port
62 (PFC Supported)Yes (25 Gb/s)
No. of Lossless CoS
Queues/Port
Support for 2-Port SKU
NetXtreme-UG100
50
Page 51
NetXtreme-C/NetXtreme-E User Guide
15.2 DCBX Mode – Enable (IEEE only)
This option allows a user to enable/disable DCBX with the indicated specification. IEEE only indicates that IEEE 802.1Qaz
DCBX is selected.
Windows Driver setting:
After enabling the indicated options in the UEFI HII menu to set firmware level settings, perform the follow selection in the
Windows driver advanced properties.
Open Windows Manager → Broadcom NetXtreme E Series adapter → Advanced Properties → Advanced tab
Quality of Service = Enabled
Priority & VLAN = Priority& VLAN enabled
VLAN = <ID>
Set desired VLAN id
To exercise the DCB related command in Windows PowerShell, install the appropriate DCB Windows feature.
1. In the Task Bar, right-click the Windows PowerShell icon and then click Run as Administrator. Windows PowerShell
opens in elevated mode.
2. In the Windows PowerShell console, type:
Install-WindowsFeature "data-center-bridging"
15.3 DCBX Willing Bit
The DCBX willing bit is specified in the DCB specification. If the Willing bit on a device is true, the device is willing to accept
configurations from a remote device through DCBX. If the Willing bit on a device is false, the device rejects any configuration
from a remote device and enforces only the local configurations.
Use the following to set the willing bit to True or False. 1 for enabled, 0 for disabled.
Example
Use the following to create a Traffic Class.
Note: By default, all IEEE 802.1p values are mapped to a default traffic class, which has 100% of the bandwidth of the
physical link. The command shown above creates a new traffic class to which any packet tagged with eight IEEE 802.1p
value 4 is mapped, and its Transmission Selection Algorithm (TSA) is ETS and has 30% of the bandwidth. It is possible to
create up to seven new traffic classes. In addition to the default traffic class, there is at most eight traffic classes in the
system.
Use the following in displaying the created Traffic Class:
set-netQoSdcbxSetting -Willing 1
C:\> Get-NetQoSTrafficClass
Name Algorithm Bandwidth(%) Priority
--------------------------[Default] ETS 70 0-3,5-7
SMB class ETS 30 4
Name : SMB policy
Owner : Group Policy (Machine)
NetworkProfile : All
Precedence : 127
NOTE:The previous command creates a new policy for SMB. SMB is an inbox filter that matches TCP por t 445 (reserved
for SMB). If a packet is sent to TCP port 445 it is tagged by the operating system with IEEE 802.1p value of 4 before
the packet is passed to a network miniport driver. In addition to SMB, other default filters include iSCSI (matching
TCP port 3260), NFS (matching TCP port 2049), LiveMigration (matching TCP port 6600), FCOE (matching
EtherType 0x8906) and NetworkDirect. NetworkDirect is an abstract layer created on top of any RDMA
implementation on a network adapter. NetworkDirect must be followed by a Network Direct port. In addition to th e
default filters, a user can classify traffic by application’s executable name (as in the first example below), or by IP
address, port, or protocol.
NetXtreme-UG100
52
Page 53
NetXtreme-C/NetXtreme-E User Guide
Use the following to create QoS Policy based on the Source/Destination Address:
PS C:\> New-NetQosPolicy "Network Management" -IPDstPrefixMatchCondition 10.240.1.0/24 IPProtocolMatchCondition both -NetworkProfile all -PriorityValue8021Action 7
Name : Network Management
Owner : Group Policy (Machine)
Network Profile : All
Precedence : 127
IPProtocol : Both
IPDstPrefix : 10.240.1.0/24
PriorityValue : 7
Use the following to display QoS Policy:
PS C:\> Get-NetQosPolicy
Name : Network Management
Owner : (382ACFAD-1E73-46BD-A0A-6-4EE0E587B95)
NetworkProfile : All
Precedence : 127
IPProtocol : Both
IPDstPrefix : 10.240.1.0/24
PriorityValue : 7
Name : SMB policy
Owner : (382AFAD-1E73-46BD-A0A-6-4EE0E587B95)
NetworkProfile : All
Precedence : 127
Template : SMB
PriorityValue : 4
The testpmd application can be used to test the DPDK in a packet forwarding mode and also to access NIC hardware
features such as Flow Director. It also serves as an example of how to build a more fully-featured application using the DPDK
SDK. The below chapters shows how to build and run the testpmd application and ho w to configure the application from the
command line and the run-time environment.
16.1 Compiling the Application
To compile the application:
1. Set the required environmental variables and go to the source code with the following commands:
cd /Linux/Linux_DPDK
tar zxvf dpdk-*.gz
cd dpdk-*
make config T=x86_64-native-linuxapp-gcc && make
2. Allocate system resources and attach the UIO module with the following commands:
-l – CORELIST List of cores to run.
-i – Interactive Run testpmd in interactive mode.
--nb-cores=N – Sets the number of forwarding cores.
--nb-ports=N – Sets the number of forwarding ports.
--rxq=N – Sets the number of RX queues per port to N.
--txq=N – Sets the number of TX queues per port to N.
NetXtreme-UG100
54
Page 55
NetXtreme-C/NetXtreme-E User Guide
16.3 Testpmd Runtime Functions
When the testpmd application is started in interactive mode, (-i|--interactive), it displays a prompt that can be used to start
and stop forwarding, configure the application, display statistics (including the extended NIC statistics aka xstats), set the
Flow Director, and other tasks.
testpmd>
16.4 Control Functions
This section contains the control functions.
start
Starts packet forwarding with current configuration:
testpmd> start
start tx_first
Starts packet forwarding with current configuration after sending specified number of bursts of packets:
testpmd> start tx_first (""|burst_num)
The default burst number is 1 when burst_num not presented.
stop
Stops packet forwarding and display accumulated statistics:
testpmd> stop
quit
Quits to prompt:
testpmd> quit
16.5 Display Functions
The functions in ths section are used to display information about the testpmd configuration or the NIC status.
show port – Displays information for a given port or all ports.
show port rss reta – Displays the RSS redirection table entry indicated by masks on port X.
show port rss-hash – Displays the RSS hash functions and RSS hash key of a port.
show (rxq|txq) – Displays information for a given port's RX/TX queue.
show config – Displays the configuration of the application. The configuration comes from the command-line.
set fwd – Sets the packet forwarding mode.
read rxd – Displays an RX descriptor for a port RX queue.
read txd – Displays a TX descriptor for a port TX queue.
NetXtreme-UG100
55
Page 56
NetXtreme-C/NetXtreme-E User Guide
16.6 Configuration Functions
The testpmd application can be configured from the runtime as well as from the command line. This section describes the
available configuration functions that are available.
csum set – Selects the hardware or software calculation of the checksum when transmitting a packet using the csum
forwarding engine: testpmd> csum set (ip|udp|tcp|sctp|outer-ip) (hw|sw) (port_id).
17 Frequently Asked Questions
Does the device support AutoNeg at 25G speed?
Yes. Refer to “Auto-Negotiation Configuration” on pa g e 24 for more details.
How would I connect SFP28 cable to QSFP ports?
Breakout cables are available from QSFP to 4xSFP28 ports.
What are the compatible port speeds?
For BCM57404AXXXX/BCM57414 dual-port devices, the port speed of each port must be compatible with the port speed
of the other port. 10 Gb/s and 25 Gb/s are not compatible speed. If one port is set to 10 Gb/s the other port can not be
set to 25 Gb/s. If a user attempts to set incompatible port speeds, the second port to be brought u p does not link. Refer
to “Auto-Negotiation Configuration” on pa ge 2 4 for more details.
Can I use 10 Gb/s for PXE connectivity on a 25 Gb/s port?
Currently only 25 Gb/s PXE speed is supported. It is not recommended to use 10 Gb/s PXE connectivity on a 25 Gb/s
adapter. This is due to the lack of suppor t for auto negotiation on existing 10 Gb /s switches and possible complications
caused by incompatible port link speed settings.
NetXtreme-UG100
56
Page 57
NetXtreme-C/NetXtreme-E User Guide
Revision History
NetXtreme-UG100; August 23, 2018
Initial Release.
NetXtreme-UG100
57
Page 58
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.