Processing packet header with hardware assistance
First Claim
Patent Images
1. A method comprising:
- receiving, by a packet pre-processor, a data packet from a host device;
identifying, by the packet pre-processor, a header field of the data packet and a sub-header field of the data packet;
matching, by the packet pre-processor, the header field of the data packet to a predetermined header field identifier to determine a network service to be provided by one of a plurality of servers, the predetermined header field identifier being stored in the packet pre-processor;
matching, by the packet pre-processor, the sub-header field of the data packet to a predetermined sub-header field identifier to determine a service policy based on which the network service is to be provided, the predetermined sub-header field identifier being stored in the packet pre-processor;
generating, by the packet pre-processor, a header field block for the data packet based on the network service and the service policy; and
sending, by the packet pre-processor, the data packet to a processor module, wherein the data packet is processed based on the header field block.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for load balancing are disclosed. An example method for load balancing commences with receiving a data packet from a host device. The method further includes identifying a header field of the data packet. After identifying the header field of the data packet, the method proceeds with matching the data packet to a network service based on the header field. Thereafter, the method generates a header field block for the data packet based on the network service. The method further includes sending the data packet to a processor module. The data packet is processed based on the header field block.
137 Citations
20 Claims
-
1. A method comprising:
-
receiving, by a packet pre-processor, a data packet from a host device; identifying, by the packet pre-processor, a header field of the data packet and a sub-header field of the data packet; matching, by the packet pre-processor, the header field of the data packet to a predetermined header field identifier to determine a network service to be provided by one of a plurality of servers, the predetermined header field identifier being stored in the packet pre-processor; matching, by the packet pre-processor, the sub-header field of the data packet to a predetermined sub-header field identifier to determine a service policy based on which the network service is to be provided, the predetermined sub-header field identifier being stored in the packet pre-processor; generating, by the packet pre-processor, a header field block for the data packet based on the network service and the service policy; and sending, by the packet pre-processor, the data packet to a processor module, wherein the data packet is processed based on the header field block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
-
a packet pre-processor configured to; receive a data packet from a host device; identify a header field of the data packet and a sub-header field of the data packet; match the header field of the data packet to a predetermined header field identifier to determine a network service to be provided by one of a plurality of servers, the predetermined header field identifier being stored in the packet pre-processor; match the sub-header field of the data packet to a predetermined sub-header field identifier to determine a service policy based on which the network service is to be provided, the predetermined sub-header field identifier being stored in the packet pre-processor; generate a header field block for the data packet based on the network service and the service policy; and send the data packet to a processor module; and the processor module configured to process the data packet based on the header field. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system comprising:
-
a packet pre-processor configured to; receive a data packet from a host device; identify a header field of the data packet and a sub-header field of the data packet; match the header field of the data packet to a predetermined header field identifier to determine a network service to be provided by one of a plurality of servers, the predetermined header field identifier being stored in the packet pre-processor; match the sub-header field of the data packet to a predetermined sub-header field identifier to determine a service policy based on which the network service is to be provided, the predetermined sub-header field identifier being stored in the packet pre-processor; generate a header field block for the data packet based on the network service and the service policy, wherein the generating the header field block for the data packet based on the network service further includes generating a header field location indicating a starting location of the header field corresponding to the header field identifier in the data packet header, and a header field size indicating a size or length of a value of the header field corresponding to the header field identifier in the data packet header; and send the data packet to a processor module; and the processor module configured to process the data packet based on the header field block, wherein the processing of the data packet includes identifying a network service for processing the data packet based on the generated header field block.
-
Specification