# US 11,909,590 B2 · Configuring a network interface card

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,909,590 B2
- Document ID: US11909590B2
- Status: Granted
- Kind: B2
- Application number: 17/529,350
- Filed: 2021-11-18
- Published: 2023-05-18
- Granted: 2024-02-20
- Earliest claimed: 2021-11-18
- Assignees: Hewlett Packard Enterprise Development LP
- Applicants: Hewlett Packard Enterprise Development LP
- Inventors: Corey Casey Morrison
- Web page: https://patentgrep.com/patent/US11909590B2

## CPC

- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- G06F 9/4401: Bootstrapping (security arrangements therefor G06F21/57)
- G06F 9/4411: {Configuring for operating with peripheral devices; Loading of device drivers}
- G06F 13/4282: {on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247)}
- H04L 41/0816: the condition being an adaptation, e.g. in response to network events
- H04L 41/0869: Validating the configuration within one network element
- H04L 41/12: Discovery or management of network topologies
- G06F 2213/0026: PCI express
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- Y02D 30/00: Reducing energy consumption in communication networks
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Examples described herein relate to configuring a Network Interface Card (NIC) of a compute node, such as a server. The NIC may receive an LLDP frame with a first configuration for the NIC. The first configuration is compared with a second configuration. The second configuration corresponds to an existing configuration of the NIC. In response to determining that the second configuration does not match the first configuration, the NIC is configured with the first configuration during a boot-up of the compute node.

## Claims

### Claim 1

A method, comprising:
receiving, by a Network Interface Card (NIC) of a compute node, a Link Layer Discovery Protocol (LLDP) frame from a network-connected device, wherein the LLDP frame comprises a custom Type-Length-Value (TLV) corresponding to a first configuration for the NIC;
comparing, by the NIC, the first configuration with a second configuration, wherein the second configuration corresponds to an existing configuration of the NIC; and
in response to determining that the second configuration does not match with the first configuration, communicating to management utilities regarding a mismatch between configurations, and configuring the NIC with the first configuration during a boot-up of the compute node by modifying a setting of network boot operation for the NIC based on information from the LLDP frame.

### Claim 2 (depends on 1)

The method of claim 1, wherein the existing configuration includes at least one of a Peripheral Component Interconnect Express (PCIe) function configuration and a storage boot configuration of the NIC.

### Claim 3 (depends on 1)

The method of claim 1, wherein the network-connected device includes a switch or a network storage device.

### Claim 4 (depends on 1)

The method of claim 1, wherein the configuring includes:
causing, by the NIC, an immediate boot of the compute node based on a condition that control of the compute node is not handed over to an operating system.

### Claim 5 (depends on 1)

The method of claim 1, wherein the configuring includes:
preparing, by the NIC, for reconfiguration of the NIC during a subsequent boot of the compute node based on a condition that control of the compute node is handed over to an operating system.

### Claim 6 (depends on 1)

The method of claim 1 further comprises:
communicating, by the NIC, the second configuration to the network-connected device; and
receiving, by the NIC, a reboot command, in response to a determination that the second configuration does not match with the first configuration.

### Claim 7 (depends on 1)

The method of claim 1, wherein the LLDP frame comprises at least one of a first optional TLV and a second optional TLV, wherein the first optional TLV corresponds to a PCIe function and the second optional TLV corresponds to a storage boot configuration, and the first optional TLV and the second optional TLV are differentiated by a subtype.

### Claim 8

A Network Interface Card (NIC) of a compute node comprising:
a processor; and
a non-transitory storage medium storing instructions, the instructions executable by the processor that cause the processor to:
receive a Link Layer Discovery Protocol (LLDP) frame from a network-connected device, wherein the LLDP frame comprises a custom Type-Length-Value (TLV) configured with a first configuration, wherein the first configuration corresponds to an expected configuration for the NIC;
compare the first configuration with a second configuration of the NIC, wherein the second configuration corresponds to an existing configuration of the NIC; and
in response to a determination that the second configuration does not match the first configuration, communicate to management utilities regarding a mismatch between configurations, and configure the NIC with the first configuration during a subsequent boot-up of the compute node by modifying a setting of network boot operation for the NIC based on information from the LLDP frame.

### Claim 9 (depends on 8)

The NIC of claim 8, further comprising instructions that cause the processor to:
communicate the second configuration to the network-connected device; and
receive a reboot command, in response to a determination that the second configuration is different from the first configuration.

### Claim 10 (depends on 8)

The NIC of claim 8, wherein the custom TLV corresponds to an organizationally specific TLV with a type 127.

### Claim 11 (depends on 8)

The NIC of claim 8, wherein the NIC is a network adapter, and the network adapter is configured to exhibit two or more Peripheral Component Interconnect Express (PCIe) functions.

### Claim 12 (depends on 8)

The NIC of claim 8, wherein the NIC is formed by a plurality of Peripheral Component Interconnect Express (PCIe) adapters and each PCIe adapter configured to exhibit a PCIe function.

### Claim 13 (depends on 12)

The NIC of claim 12, wherein the PCIe function includes at least one of Internet Small Computer System Interface (iSCSI) Offload, Fibre Channel over Ethernet (FCoE) Offload, RDMA over Converged Ethernet (RoCE) Offload, and Non-Volatile Memory Express Over Fabric (NVMeOF).

### Claim 14 (depends on 8)

The NIC of claim 8, wherein the NIC communicates an initiator-side TLV, and the network-connected device communicates a target-side TLV.

### Claim 15 (depends on 8)

The NIC of claim 8, wherein the instruction to receive further includes instructions that cause the processor to:
drop one or more initiator-side TLVs received.

### Claim 16 (depends on 8)

The NIC of claim 8, wherein the LLDP frame is based on Institute of Electrical and Electronics Engineers (IEEE) 802.1AB protocol.

### Claim 17 (depends on 8)

The NIC of claim 8, wherein the compute node includes a firmware to reconfigure the NIC during the subsequent boot-up, and wherein the firmware includes at least one of a Basic Input/Output System (BIOS) and a Unified Extensible Firmware Interface (UEFI).

### Claim 18

A network-connected device:
a processor; and
a non-transitory storage medium storing instructions, the instructions executable by the processor that cause the processor to:
receive a Link Layer Discovery Protocol LLDP frame from an interfacing device of a compute node, wherein the received LLDP frame comprises a custom Type-Length-Value (TLV) corresponding to a first configuration of an interfacing device;
communicate an LLDP frame to the interfacing device of a compute node, wherein the communicated LLDP frame comprises a custom Type-Length-Value (TLV) corresponding to a second configuration for the interfacing device;
compare the first configuration with the second configuration, wherein the first configuration corresponds to an existing configuration of the interfacing device and the second configuration corresponds to an expected configuration of the interfacing device; and
in response to a determination that the first configuration does not match the second configuration, communicate to management utilities regarding a mismatch between configurations, and modify a setting of network boot operation for the interfacing device based on information from the LLDP frame.

### Claim 19 (depends on 18)

The network-connected device of claim 18, wherein the instructions to communicate further comprises instructions that cause the processor to:
in response to an identification of change in the second configuration, communicate updated second configuration to the interfacing device.

### Claim 20 (depends on 18)

The network-connected device of claim 18, wherein the instructions further includes instructions that cause the processor to:
trigger a reboot of the compute node for reconfiguration of the interfacing device.
