# US 11,310,095 B2 · Remote in-band management of a network interface controller

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

- Number: US 11,310,095 B2
- Document ID: US11310095B2
- Status: Granted
- Kind: B2
- Application number: 15/873,672
- Filed: 2018-01-17
- Published: 2019-07-18
- Granted: 2022-04-19
- Earliest claimed: 2018-01-17
- Assignees: Arista Networks, Inc.
- Applicants: Arista Networks, Inc.
- Inventors: Simon Francis Capper
- Web page: https://patentgrep.com/patent/US11310095B2

## CPC

- H04L 41/046: comprising network management agents or mobile agents therefor
- G06F 3/0653: {Monitoring storage devices or systems}
- H04L 12/6418: {Hybrid transport}
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/085: Retrieval of network configuration; Tracking network configuration history
- H04L 49/254: {Centralised controller, i.e. arbitration or scheduling}
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- H04L 49/15: Interconnection of switching modules
- 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)

## Abstract

A method and apparatus of a network element that manages a network interface controller on a device coupled to a network element is described. In an exemplary embodiment, the network element detects that the network interface controller is manageable, wherein the network interface controller is coupled to the network element by a link. In addition, the network element transmits a command packet to the network interface controller in-band, where the network interface controller determines a response to the command packet using the resources of the network interface controller and without communicating data between the network interface controller and the device. The network element receives the response from the network interface controller.

## Claims

### Claim 1

A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to manage a network interface controller on a host device coupled to a network element, the method comprising:
providing a discovery packet to an agent of a network interface controller in-band, wherein:
the agent runs on a processor of the network interface controller;
the discovery packet includes a non-forwardable address associated with the agent;
the network interface controller is coupled to the network element by a link,
the host device comprises a plurality of virtual network interface controllers (VNICs), and
each VNIC of the plurality of VNICs logically couples the network interface controller to a virtual machine or a container;
receiving a response from the agent responsive to the discovery packet;
determining the network interface controller is manageable based on the response;
transmitting a command packet to the agent in-band, the command packet including the non-forwardable address associated with the agent; and
receiving another response from the agent responsive to the command packet.

### Claim 2 (depends on 1)

The machine-readable medium of claim 1, wherein the address is a non-forwardable destination address.

### Claim 3 (depends on 2)

The machine-readable medium of claim 2, wherein the non-forwardable destination address is selected from a group consisting of a multicast media access control address, an Internet Protocol multicast address, and an Internet Protocol link local address.

### Claim 4 (depends on 2)

The machine-readable medium of claim 2, wherein the address configures the command packet to be processed by the processor of the network interface controller and not by a processor of the host device.

### Claim 5 (depends on 1)

The machine-readable medium of claim 1, wherein:
a command is stored in the command packet, and
the command performs at least one of getting a statistics value, getting a configuration value, setting a configuration value, setting a policy, and getting a policy for at least one VNIC.

### Claim 6 (depends on 5)

The machine-readable medium of claim 5, wherein the policy is selected from a group consisting of a quality of service, access control list, and a policer.

### Claim 7 (depends on 5)

The machine-readable medium of claim 5, wherein the command is stored in a Forwarding and Control Element Separation protocol format.

### Claim 8 (depends on 1)

The machine-readable medium of claim 1, wherein an in-band transmission is transmission of the command packet on same link that is being managed.

### Claim 9 (depends on 1)

The non-transitory machine-readable medium of claim 1 wherein:
the network interface controller drops packets sent to the non-forwardable address that are not from the network element;
the discovery packet further includes a predetermined port; and
the command packet further includes the predetermined port.

### Claim 10

A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method, the method comprising:
receiving, by a network interface controller on a device, an in-band discovery packet from a network element via a link that couples the device and the network element, the in-band discovery packet including an address associated with an agent that is executing on a processor of the network interface controller, wherein:
the device comprises a plurality of virtual network interface controllers (VNICs), and
each VNIC of the plurality of VNICs logically couples the network interface controller to a virtual machine or a container;
forwarding the in-band discovery packet to the agent based on the address, the agent producing a first response responsive to the discovery packet;
transmitting the first response to the network element via the link, the network element determining the network interface controller is manageable based on the first response;
receiving another packet from the network element; and
forwarding the another packet to the agent based on the address, wherein:
the agent determines a second response to the another packet by accessing a memory of the network interface controller and without accessing a memory of the device,
the another packet includes a command,
the agent processes the command, and
the agent transmits the second response to the network element via the link.

### Claim 11 (depends on 10)

The machine-readable medium of claim 10, wherein the command is configured to perform at least one of getting a statistics value, getting a configuration value, setting a configuration value, setting a policy, and getting a policy for at least one VNIC.

### Claim 12 (depends on 10)

The machine-readable medium of claim 10, wherein the packet has a non-forwardable destination address.

### Claim 13 (depends on 12)

The machine-readable medium of claim 12, wherein the non-forwardable destination address is selected from a group consisting of a multicast media access control address, an Internet Protocol multicast address, and an Internet Protocol link local address.

### Claim 14 (depends on 10)

The machine-readable medium of claim 10, wherein the command is stored in the packet in a Forwarding and Control Element Separation protocol format.

### Claim 15

A method to manage a network interface controller on a host device coupled to a network element, the method comprising:
providing a discovery packet to an agent of a network interface controller in-band, wherein:
the agent runs on a processor of the network interface controller;
the discovery packet includes a non-forwardable address associated with the agent;
the network interface controller is coupled to the network element by a link,
the host device comprises a plurality of virtual network interface controllers (VNICs), and
each VNIC of the plurality of VNICs logically couples the network interface controller to a virtual machine or a container;
receiving a response from the agent responsive to the discovery packet;
determining the network interface controller is manageable based on the response;
transmitting a command packet to the network interface controller in-band, the command packet transmitting a command to the agent in-band, the command packet including the non-forwardable address associated with the agent; and
receiving another response from the agent responsive to the command packet.

### Claim 16 (depends on 15)

The method of claim 15, wherein the address is a non-forwardable destination address.

### Claim 17 (depends on 16)

The method of claim 16, wherein the non-forwardable destination address is selected from a group consisting of a multicast media access control address, an Internet Protocol multicast address, and an Internet Protocol link local address.

### Claim 18 (depends on 16)

The method of claim 16, wherein the address configures the command packet to be processed by the processor of the network interface controller and not the by a processor of the host device.

### Claim 19

A method comprising:
receiving, by a network interface controller on a device, an in-band discovery packet from a network element via a link that couples the device and the network element, the in-band discovery packet including an address associated with an agent that is executing on a processor of the network interface controller, wherein:
the device comprises a plurality of virtual network interface controllers (VNICs), and
each VNIC of the plurality of VNICs logically couples the network interface controller to a virtual machine or a container;
forwarding the in-band discovery packet to the agent based on the address, the agent producing a first response responsive to the discovery packet;
transmitting the first response to the network element via the link, the network element determining the network interface controller is manageable based on the first response;
receiving another packet from the network element; and
forwarding the another packet to the agent based on the address, wherein:
the agent determines a second response to the another packet by accessing a memory of the network interface controller and without accessing a memory of the device,
the another packet includes a command,
the agent processes the command, and
the agent transmits the second response to the network element via the link.

### Claim 20 (depends on 19)

The method of claim 19, wherein the command is configured to set a configuration of at least one VNIC or to retrieve information about the at least one VNIC.
