US20030195973A1

Methods, systems, and computer program products for processing a packet with layered headers using a data structure that positionally relates the layered headers

Claim Score by NHIP

Read claim 10, the broadest

Abstract

A first header of a packet is processed to obtain a first protocol. The first protocol is used as a key to read a record from a data structure in which the first protocol is associated with an offset in a second header of the packet. The second header of the packet is processed based on the offset in the second header to obtain a second protocol. By positionally relating the position of the protocol field in the second header of the packet with an offset stored in a data structure, if packet sizes and/or layouts should change, then the offset information in the data structure may be updated without the need to redesign and/or reconfigure hardware and/or software in a packet processor.

US20030195973A1, drawing sheet 1
Sheet 1 of 8

Term

Term ended

Projected expiry passed 11 April 2022, 4.5 years ago.

  1. Priority and filed
  2. Published
  3. Projected expiry
  4. Today

48 claims: 8 independent, 40 dependent

  1. 1
    A method of processing a packet, comprising:processing a first header of the packet to obtain a first protocol;reading a record from a data structure using the first protocol as a key, the record associating the first protocol with an offset in a second header of the packet;and processing a second header of the packet based on the offset in the second header to obtain a second protocol.
  2. 10
    Broadest claimClaim Score 90, very broad(NHIP)A method of relating packet headers in a data structure, comprising:associating a protocol from a first header of a packet with an offset in a second header of a packet.
  3. 16
    A system for processing a packet, comprising:means for processing a first header of the packet to obtain a first protocol;means for reading a record from a data structure using the first protocol as a key, the record associating the first protocol with an offset in a second header of the packet;and means for processing a second header of the packet based on the offset in the second header to obtain a second protocol.
  4. 25
    A computer program product for processing a packet, comprising:a computer readable program medium having computer readable program code embodied therein, the computer readable program code comprising: computer readable program code configured to process a first header of the packet to obtain a first protocol;computer readable program code configured to read a record from a data structure using the first protocol as a key, the record associating the first protocol with an offset in a second header of the packet;and computer readable program code configured to process a second header of the packet based on the offset in the second header to obtain a second protocol.
  5. 34
    A computer program product, comprising:a computer readable program medium having a computer readable data structure embodied therein, the computer readable data structure comprising: a table that associates a protocol from a first header of a packet with an offset in a second header of a packet.
  6. 40
    A method of processing an Internet Protocol Security (IPSec) packet, comprising:processing a first header of the packet to obtain a first IPSec protocol;reading a record from a data structure using the first protocol as a key, the record associating the first IPSec protocol with an offset in a second header of the packet and an offset to a payload of the packet;processing a second header of the packet based on the offset in the second header to obtain a second IPSec protocol;and processing the packet based on the offset to the payload of the packet to obtain at least one of a source and a destination port address.
  7. 43
    A Internet Protocol Security (IPSec) packet processing system, comprising:means for processing a first header of the packet to obtain a first IPSec protocol;means for reading a record from a data structure using the first protocol as a key, the record associating the first IPSec protocol with an offset in a second header of the packet and an offset to a payload of the packet;means for processing a second header of the packet based on the offset in the second header to obtain a second IPSec protocol;and means for processing the packet based on the offset to the payload of the packet to obtain at least one of a source and a destination port address.
  8. 46
    A computer program product, comprising:a computer readable program medium having computer readable program code embodied therein, the computer readable program code comprising: computer readable program code configured to process a first header of the packet to obtain a first IPSec protocol;computer readable program code configured to read a record from a data structure using the first protocol as a key, the record associating the first IPSec protocol with an offset in a second header of the packet and an offset to a payload of the packet;computer readable program code configured to process a second header of the packet based on the offset in the second header to obtain a second IPSec protocol;and computer readable program code configured to process the packet based on the offset to the payload of the packet to obtain at least one of a source and a destination port address.