Offloading heartbeat responses message processing to a kernel of a network device
First Claim
1. In a network having a plurality of network devices, including a first network device, wherein the first network device includes a memory having a health check data structure, the health check data structure including a heartbeat response message field for each respective network device of the plurality of network devices, a method comprising:
- receiving, by the first network device, heartbeat response messages from two or more of the plurality of network devices, wherein each heartbeat response message respectively corresponds to one network device of the plurality of network devices;
processing the received heartbeat response messages in a kernel space of the first network device, wherein processing includes;
generating a hash value for each heartbeat response message received, each hash value based on identification information in the respective heartbeat response message, the identification information identifying the network device that sent the respective heartbeat response message; and
determining, for each of the plurality of heartbeat response messages and based at least in part on the corresponding hash value generated for the heartbeat response message, an index value, each index value associated with the network device that sent the respective heartbeat response message;
updating the health check data structure at the heartbeat response message fields indicated by the index values to indicate that heartbeat response messages were received from the network devices; and
processing, in a user space of the first network device, information received from at least one of the heartbeat response message fields of the health check data structure to obtain health status associated with one or more of the plurality of network devices.
1 Assignment
0 Petitions
Accused Products
Abstract
In an example of this disclosure, a method may include receiving, by a first network device, a plurality of heartbeat response messages from one or more network devices of a plurality of network devices. Each heartbeat response message of the plurality of heartbeat response messages may respectively correspond to one network device of the plurality of network devices. The method may include processing, by the first network device, the plurality of heartbeat response messages in a kernel space of the first network device. The method may include updating, by the first network device in the kernel space, one or more values corresponding to a data structure based on processing the plurality of heartbeat response messages in the kernel space. The method may include processing, by the first network device, the one or more values in a user space of the first network device.
235 Citations
23 Claims
-
1. In a network having a plurality of network devices, including a first network device, wherein the first network device includes a memory having a health check data structure, the health check data structure including a heartbeat response message field for each respective network device of the plurality of network devices, a method comprising:
-
receiving, by the first network device, heartbeat response messages from two or more of the plurality of network devices, wherein each heartbeat response message respectively corresponds to one network device of the plurality of network devices; processing the received heartbeat response messages in a kernel space of the first network device, wherein processing includes; generating a hash value for each heartbeat response message received, each hash value based on identification information in the respective heartbeat response message, the identification information identifying the network device that sent the respective heartbeat response message; and determining, for each of the plurality of heartbeat response messages and based at least in part on the corresponding hash value generated for the heartbeat response message, an index value, each index value associated with the network device that sent the respective heartbeat response message; updating the health check data structure at the heartbeat response message fields indicated by the index values to indicate that heartbeat response messages were received from the network devices; and processing, in a user space of the first network device, information received from at least one of the heartbeat response message fields of the health check data structure to obtain health status associated with one or more of the plurality of network devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method, comprising:
-
receiving, by a first network device, a plurality of heartbeat response messages from one or more network devices of a plurality of network devices, wherein each heartbeat response message of the plurality of heartbeat response messages respectively corresponds to one network device of the plurality of network devices; processing, by the first network device, the plurality of heartbeat response messages in a kernel space of the first network device; updating, by the first network device in the kernel space, one or more values corresponding to a data structure based on processing the plurality of heartbeat response messages in the kernel space, wherein each value of the one or more values respectively corresponds to one network device of the plurality of network devices, and wherein each value of the one or more values is indicative of whether a heartbeat response message was received by the first network device from the respective one network device respectively corresponding to each value of the one or more values; and processing, by the first network device, the one or more values in a user space of the first network device, wherein processing the plurality of heartbeat response messages in the kernel space includes generating, using a hashing function, a hash value for each heartbeat response message of the plurality of heartbeat response messages, the hash value based on identification information in the respective heartbeat response message that identifies the network device that sent the respective heartbeat response message, wherein each generated hash value respectively corresponds to one or more radix tree nodes, wherein each radix tree node of the one or more radix tree nodes respectively corresponds to one network device of the plurality of network devices and includes a value that identifies a bit position in the data structure. - View Dependent Claims (15)
-
-
16. A network device comprising:
-
one or more programmable processors; and a memory coupled to the one or more processors, the memory having instructions stored thereon that, when executed by the one or more programmable processors, cause the one or more programmable processors to; process, in kernel space, heartbeat response messages received from a plurality of network devices, wherein each heartbeat response message of the plurality of heartbeat response messages respectively corresponds to one network device of the plurality of network devices, wherein processing includes; generating a hash value for each heartbeat response message received, each hash value based on identification information in the respective heartbeat response message, the identification information identifying the network device that sent the respective heartbeat response message; and determine, for each of the plurality of heartbeat response messages and based at least in part on the corresponding hash value generated for the heartbeat response message, an index value, each index value associated with the network device that sent the respective heartbeat response message; update, in the kernel space, a health check data structure at heartbeat response message fields indicated by the retrieved index values, the update to indicate that heartbeat response messages were received from the network devices; and process information received from at least one of the heartbeat response message fields of the health check data structure in a user space to obtain health status associated with one or more of the plurality of network devices. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A non-transitory computer-readable storage medium encoded with instructions that, when executed, cause at least one processor of a networking device to:
-
process, in kernel space, heartbeat response messages received from a plurality of network devices, wherein each heartbeat response message of the plurality of heartbeat response messages respectively corresponds to one network device of the plurality of network devices, wherein processing includes; generating a hash value for each heartbeat response message received, each hash value based on identification information in the respective heartbeat response message, the identification information identifying the network device that sent the respective heartbeat response message; and determining, for each of the plurality of heartbeat response messages and based at least in part on the corresponding hash value generated for the heartbeat response message, an index value, each index value associated with the network device that sent the respective heartbeat response message; update, in the kernel space, a health check data structure at heartbeat response message fields indicated by the retrieved index values, the update to indicate that heartbeat response messages were received, from the plurality of network devices; and process information received from at least one of the heartbeat response message fields of the health check data structure in a user space to obtain health status associated with one or more of the plurality of network devices. - View Dependent Claims (22, 23)
-
Specification