Class GtpV1Packet.GtpV1Header

java.lang.Object
org.pcap4j.packet.AbstractPacket.AbstractHeader
org.pcap4j.packet.GtpV1Packet.GtpV1Header
All Implemented Interfaces:
Serializable, Packet.Header
Enclosing class:
GtpV1Packet

public static final class GtpV1Packet.GtpV1Header extends AbstractPacket.AbstractHeader
GTPv1 Header
    8     7     6     5     4     3     2     1
 +-----+-----+-----+-----+-----+-----+-----+-----+
 |    Version      | PT  | (*) |  E  |  S  | PN  |
 +-----+-----+-----+-----+-----+-----+-----+-----+
 |                 Message Type                  |
 +-----+-----+-----+-----+-----+-----+-----+-----+
 |              Length (1st Octet)               |
 +-----+-----+-----+-----+-----+-----+-----+-----+
 |              Length (2nd Octet)               |
 +-----+-----+-----+-----+-----+-----+-----+-----+
 |    Tunnel Endpoint Identifier (1st Octet)     |
 +-----+-----+-----+-----+-----+-----+-----+-----+
 |    Tunnel Endpoint Identifier (2nd Octet)     |
 +-----+-----+-----+-----+-----+-----+-----+-----+
 |    Tunnel Endpoint Identifier (3rd Octet)     |
 +-----+-----+-----+-----+-----+-----+-----+-----+
 |    Tunnel Endpoint Identifier (4th Octet)     |
 +-----+-----+-----+-----+-----+-----+-----+-----+
 |          Sequence Number (1st Octet)          |
 +-----+-----+-----+-----+-----+-----+-----+-----+
 |          Sequence Number (2nd Octet)          |
 +-----+-----+-----+-----+-----+-----+-----+-----+
 |                 N-PDU Number                  |
 +-----+-----+-----+-----+-----+-----+-----+-----+
 |          Next Extension Header Type           |
 +-----+-----+-----+-----+-----+-----+-----+-----+
 
Since:
pcap4j 1.6.6
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • getVersion

      public GtpVersion getVersion()
      Returns:
      version
    • getProtocolType

      public GtpV1Packet.ProtocolType getProtocolType()
      Returns:
      protocolType.
    • getReserved

      public boolean getReserved()
      Returns:
      true if the reserved field is set to 1; false otherwise.
    • isExtensionHeaderFieldPresent

      public boolean isExtensionHeaderFieldPresent()
      Returns:
      true if the extension header flag is set to 1; false otherwise.
    • isSequenceNumberFieldPresent

      public boolean isSequenceNumberFieldPresent()
      Returns:
      true if the sequence number flag is set to 1; false otherwise.
    • isNPduNumberFieldPresent

      public boolean isNPduNumberFieldPresent()
      Returns:
      true if the N-PDU number flag is set to 1; false otherwise.
    • getMessageType

      public GtpV1MessageType getMessageType()
      Returns:
      messageType
    • getLength

      public short getLength()
      Returns:
      length
    • getLengthAsInt

      public int getLengthAsInt()
      Returns:
      length
    • getTeid

      public int getTeid()
      Returns:
      teid
    • getTeidAsLong

      public long getTeidAsLong()
      Returns:
      teid
    • getSequenceNumber

      public Short getSequenceNumber()
      Returns:
      sequenceNumber. May be null.
    • getSequenceNumberAsInt

      public Integer getSequenceNumberAsInt()
      Returns:
      sequenceNumber. May be null.
    • getNPduNumber

      public Byte getNPduNumber()
      Returns:
      nPduNumber. May be null.
    • getNPduNumberAsInt

      public Integer getNPduNumberAsInt()
      Returns:
      nPduNumber. May be null.
    • getNextExtensionHeaderType

      public GtpV1ExtensionHeaderType getNextExtensionHeaderType()
      Returns:
      nextExtensionHeaderType. May be null.
    • getRawFields

      protected List<byte[]> getRawFields()
      Description copied from class: AbstractPacket.AbstractHeader
      Returns a list of byte arrays which represents this header's fields. This method is called by calcLength() and buildRawData().
      Specified by:
      getRawFields in class AbstractPacket.AbstractHeader
      Returns:
      a list of byte arrays which represents this header's fields
    • calcLength

      protected int calcLength()
      Description copied from class: AbstractPacket.AbstractHeader
      This method calculates the value length() will return by adding up the lengths of byte arrays in the list getRawFields() returns.
      Overrides:
      calcLength in class AbstractPacket.AbstractHeader
      Returns:
      a calculated length
    • buildString

      protected String buildString()
      Description copied from class: AbstractPacket.AbstractHeader
      This method builds the value toString() will return.
      Overrides:
      buildString in class AbstractPacket.AbstractHeader
      Returns:
      a string representation of this object
    • calcHashCode

      protected int calcHashCode()
      Description copied from class: AbstractPacket.AbstractHeader
      This method builds the value hashCode() will return using the byte array getRawData() returns. This method may be better to be overridden for performance reason.
      Overrides:
      calcHashCode in class AbstractPacket.AbstractHeader
      Returns:
      a calculated hash code value for the object
    • equals

      public boolean equals(Object obj)
      Description copied from class: AbstractPacket.AbstractHeader
      Indicates whether some other object is "equal to" this one using return values of getRawData(). This method should be overridden so that it does more strict comparisons more efficiently.
      Overrides:
      equals in class AbstractPacket.AbstractHeader