# US 10,313,380 B2 · System and method for centralized virtual interface card driver logging in a network environment

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

- Number: US 10,313,380 B2
- Document ID: US10313380B2
- Status: Granted
- Kind: B2
- Application number: 15/902,951
- Filed: 2018-02-22
- Published: 2018-06-28
- Granted: 2019-06-04
- Earliest claimed: 2012-08-24
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Prabhath Sajeepa
- Web page: https://patentgrep.com/patent/US10313380B2

## CPC

- H04L 63/1425: {Traffic logging, e.g. anomaly detection}
- H04L 49/9063: {Intermediate storage in different physical parts of a node or terminal}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method is provided in one example and includes creating a staging queue in a virtual interface card (VIC) adapter firmware of a server based on a log policy; receiving a log message from a VIC driver in the server; copying the log message to the staging queue; generating a VIC control message comprising the log message from the staging queue; and sending the VIC control message to a switch.

## Claims

### Claim 1

A method comprising:
generating a staging queue in a virtual interface card (VIC) adapter firmware of a server in a datacenter based on a log policy;
receiving a log message from a VIC driver in the server;
copying the log message to the staging queue;
generating a VIC control message comprising the log message from the staging queue;
sending the VIC control message to a switch; and
sending a notification based on the log message.

### Claim 2 (depends on 1)

The method of claim 1, wherein the log policy is associated with at least one of a service profile of the server and a port profile of a virtual interface instantiation on the server in a network environment.

### Claim 3 (depends on 1)

The method of claim 1, wherein the log message is copied to a descriptor copy work queue at the VIC driver, and wherein the log message is copied to the staging queue from the descriptor copy work queue, wherein the descriptor copy work queue is not processed by the VIC adapter firmware as a regular work queue.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
posting a completion queue entry in a completion queue at the VIC driver; and
interrupting the VIC driver to notify of transmission of the log message to the switch.

### Claim 5 (depends on 1)

The method of claim 1, wherein the VIC control message includes a log message type, and a corresponding Type-Length-Value (TLV) according to a Virtual Interface Control protocol.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
updating a log location, log level, and throttling option according to a log policy update; and
interrupting the VIC driver such that the VIC driver can change a logging level according to the log policy update.

### Claim 7 (depends on 6)

The method of claim 6, wherein the log policy update is transmitted to the VIC adapter firmware in an update message comprising the log location, the log level, and a throttling option.

### Claim 8 (depends on 6)

The method of claim 6,
wherein,
the log policy includes one or more rules to record events,
the VIC adapter firmware is provisioned within a VIC in the server,
the VIC adapter firmware includes persistent memory storing program code and data enabling network connectivity for the server over a network interface in the VIC, and
the staging queue is generated in a first memory element.

### Claim 9 (depends on 6)

The method of claim 6,
wherein,
the log message is received at the VIC adapter firmware,
the log message from the VIC driver is associated with a network interface,
the log message includes information about an event in the server,
the VIC driver includes particularized software enabling communication between the VIC and an operating system of the server, and
the VIC driver generates the log message and posts the log message in a descriptor copy work queue of a second memory element.

### Claim 10 (depends on 1)

The method of claim 1, wherein the switch adds a server location, a VIC name, and a timestamp to the log message.

### Claim 11

Non-transitory media encoding logic that includes instructions for execution and when executed by a processor, is operable to perform operations comprising:
generating a staging queue in a virtual interface card (VIC) adapter firmware of a server in a datacenter based on a log policy;
receiving a log message from a VIC driver in the server;
copying the log message to the staging queue;
generating a VIC control message comprising the log message from the staging queue;
sending the VIC control message to a switch; and
sending a notification based on the log message.

### Claim 12 (depends on 11)

The media of claim 11, wherein the log policy is associated with at least one of a service profile of the server and a port profile of a virtual interface instantiation on the server in a network environment.

### Claim 13 (depends on 11)

The media of claim 11, wherein the log message is copied to a descriptor copy work queue at the VIC driver, and wherein the log message is copied to the staging queue from the descriptor copy work queue, wherein the descriptor copy work queue is not processed by the VIC adapter firmware as a regular work queue.

### Claim 14 (depends on 11)

The media of claim 11, the operations further comprising:
posting a completion queue entry in a completion queue at the VIC driver; and
interrupting the VIC driver to notify of transmission of the log message to the switch.

### Claim 15 (depends on 11)

The media of claim 11, wherein the VIC control message includes a log message type, and a corresponding Type-Length-Value (TLV) according to a Virtual Interface Control protocol.

### Claim 16 (depends on 11)

The media of claim 11,
wherein,
the log policing includes one or more rules to record events,
the VIC adapter firmware is provisioned within a VIC in the server,
the VIC adapter firmware includes persistent memory storing program code and data enabling network connectivity for the server over a network interface in the VIC, and
the staging queue is generated in a first memory element.

### Claim 17 (depends on 11)

The media of claim 11, the operations further comprising:
transmitting a log policy update to the VIC adapter firmware in an update message, the update message including a log location, a log level, and a throttling option.

### Claim 18

An apparatus comprising:
a memory element for storing data; and
a processor operable to execute instructions associated with the data, wherein the processor and the memory element cooperate, such that the apparatus is configured to:
generate a staging queue in a virtual interface card (VIC) adapter firmware of a server in a datacenter based on a log policy;
receive a log message from a VIC driver in the server;
copy the log message to the staging queue;
generate a VIC control message comprising the log message from the staging queue;
send the VIC control message to a switch; and
send a notification based on the log message.

### Claim 19 (depends on 18)

The apparatus of claim 18, wherein the log policy is associated with at least one of a service profile of the server and a port profile of a virtual interface instantiation on the server in a network environment.

### Claim 20 (depends on 18)

The apparatus of claim 18, wherein the log message is copied to a descriptor copy work queue at the VIC driver, and wherein the log message is copied to the staging queue from the descriptor copy work queue, wherein the descriptor cony work queue is not processed by the VIC adapter firmware as a regular work queue.
