Method and system for incrementally updating a checksum in a network data packet
AssigneeExtreme Networks, Inc.
InventorKha H. Nguyen
Life of this patent
Estimating the term…
Abstract
An improved technique for incrementally updating a checksum in a network data packet is disclosed. A partial one's complement sum is first computed by subtracting the checksum value of certain packet header fields from the original data packet checksum. One or more of the packet header fields are then modified. An incrementally updated checksum is then computed by adding a checksum value of the modified packet header fields to the previously calculated partial one's complement sum. The updated checksum then replaces the original data packet checksum in the network data packet.
Claims23
A method of incrementally updating a checksum in a network data packet header, the method comprising the steps of:
- calculating a partial one's complement sum by subtracting a reduced header part derived from the network data packet header from the checksum;
- modifying at least one field of the reduced header part of the network data packet header;
- and
- adding a value, comprising a checksum of the modified reduced header part, to the partial one's complement sum to create an incrementally updated checksum.
A method of incrementally updating a checksum in a network data packet header, the method comprising the steps of:
- receiving, at a packet processor, a data packet having a plurality of header fields comprising a source address, a destination address, and a plurality of protocol bits;
- calculating a partial one's complement sum by subtracting from the checksum at least one of the plurality of header fields;
- modifying the at least one of the plurality of header fields to create at least one modified header field;
- adding to the partial one's complement sum a checksum value of the at least one modified header fields to obtain an incrementally updated checksum;
- and
- transmitting the data packet having the at least one modified header field and incrementally updated checksum from the packet processor.
A method of incrementally updating a checksum in a network data packet header, the method comprising the steps of:
- receiving, at a network switch, a data packet having a plurality of header fields comprising a source address, a destination address, a plurality of protocol bits, a source port, and a destination port;
- calculating a partial one's complement sum by subtracting from the checksum at least one of the plurality of header fields;
- modifying the at least one of the plurality of header fields to create at least one modified header field;
- adding to the partial one's complement sum a checksum value of the at least one modified header field to obtain an incrementally updated checksum;
- and
- transmitting the data packet having the at least one modified header field and incrementally updated checksum from the network switch.
A system for incrementally updating a network data packet checksum, the system comprising:
- an input parser configured to identify one or more header fields that make up a reduced header part of an incoming data packet and to compute a partial one's complement sum from the reduced header part;
- a buffer memory for buffering the incoming data packet;
- and
- a circuit connected to the buffer memory for modifying the reduced header part, and computing an incrementally updated network data packet checksum from the modified reduced header part and the partial one's complement sum.
A system for incrementally updating a network data packet checksum, the system comprising:
- means for identifying one or more header fields that make up a reduced header part of the incoming data packet;
- means for buffering the incoming data packet;
- means for computing a partial one's complement sum from the reduced header part, and an incrementally updated network data packet checksum from the partial one's complement sum;
- and
- means for transmitting the data packet including the incrementally updated network data packet checksum to its next hop.
Dependencies are inferred from the claim text.