HIP - Host Identity Protocol#

pcapkit.protocols.internet.hip contains HIP only, which implements extractor for Host Identity Protocol (HIP) [*], whose structure is described as below:

Octets

Bits

Name

Description

0

0

hip.next

Next Header

1

8

hip.length

Header Length

2

16

Reserved (\x00)

2

17

hip.type

Packet Type

3

24

hip.version

Version

3

28

Reserved

3

31

Reserved (\x01)

4

32

hip.chksum

Checksum

6

48

hip.control

Controls

8

64

hip.shit

Sender’s Host Identity Tag

24

192

hip.rhit

Receiver’s Host Identity Tag

40

320

hip.parameters

HIP Parameters

class pcapkit.protocols.internet.hip.HIP(file=None, length=None, **kwargs)[source]#

Bases: Internet[HIP, HIP]

This class implements Host Identity Protocol.

This class currently supports parsing of the following HIP parameters, which are directly mapped to the pcapkit.const.hip.parameter.Parameter enumeration:

Parameter Code

Parameter Parser

ESP_INFO

_read_param_esp_info()

R1_COUNTER

_read_param_r1_counter()

LOCATOR_SET

_read_param_locator_set()

PUZZLE

_read_param_puzzle()

SOLUTION

_read_param_solution()

SEQ

_read_param_seq()

ACK

_read_param_ack()

DH_GROUP_LIST

_read_param_dh_group_list()

DIFFIE_HELLMAN

_read_param_diffie_hellman()

HIP_TRANSFORM

_read_param_hip_transform()

HIP_CIPHER

_read_param_hip_cipher()

NAT_TRAVERSAL_MODE

_read_param_nat_traversal_mode()

TRANSACTION_PACING

_read_param_transaction_pacing()

ENCRYPTED

_read_param_encrypted()

HOST_ID

_read_param_host_id()

HIT_SUITE_LIST

_read_param_hit_suite_list()

CERT

_read_param_cert()

NOTIFICATION

_read_param_notification()

ECHO_REQUEST_SIGNED

_read_param_echo_request_signed()

REG_INFO

_read_param_reg_info()

REG_REQUEST

_read_param_reg_request()

REG_RESPONSE

_read_param_reg_response()

REG_FAILED

_read_param_reg_failed()

REG_FROM

_read_param_reg_from()

ECHO_RESPONSE_SIGNED

_read_param_echo_response_signed()

TRANSPORT_FORMAT_LIST

_read_param_transport_format_list()

ESP_TRANSFORM

_read_param_esp_transform()

SEQ_DATA

_read_param_seq_data()

ACK_DATA

_read_param_ack_data()

PAYLOAD_MIC

_read_param_payload_mic()

TRANSACTION_ID

_read_param_transaction_id()

OVERLAY_ID

_read_param_overlay_id()

ROUTE_DST

_read_param_route_dst()

HIP_TRANSPORT_MODE

_read_param_hip_transport_mode()

HIP_MAC

_read_param_hip_mac()

HIP_MAC_2

_read_param_hip_mac_2()

HIP_SIGNATURE_2

_read_param_hip_signature_2()

HIP_SIGNATURE

_read_param_hip_signature()

ECHO_REQUEST_UNSIGNED

_read_param_echo_request_unsigned()

ECHO_RESPONSE_UNSIGNED

_read_param_echo_response_unsigned()

RELAY_FROM

_read_param_relay_from()

RELAY_TO

_read_param_relay_to()

OVERLAY_TTL

_read_param_overlay_ttl()

ROUTE_VIA

_read_param_route_via()

FROM

_read_param_from()

RVS_HMAC

_read_param_rvs_hmac()

VIA_RVS

_read_param_via_rvs()

RELAY_HMAC

_read_param_relay_hmac()

property name: Literal['Host Identity Protocol']#

Name of current protocol.

property alias: str#

Acronym of corresponding protocol.

property length: int#

Header length of current protocol.

property payload: ProtocolBase | NoReturn#

Payload of current instance.

Raises:

UnsupportedCall – if the protocol is used as an IPv6 extension header

Return type:

pcapkit.protocols.protocol.Protocol

property protocol: str | None | NoReturn#

Name of next layer protocol (if any).

Raises:

UnsupportedCall – if the protocol is used as an IPv6 extension header

property protochain: ProtoChain | NoReturn#

Protocol chain of current instance.

Raises:

UnsupportedCall – if the protocol is used as an IPv6 extension header

classmethod register_parameter(code, meth)[source]#

Register a parameter parser.

Parameters:
Return type:

None

read(length=None, *, extension=False, **kwargs)[source]#

Read Host Identity Protocol.

Structure of HIP header [RFC 5201][RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Header   | Header Length |0| Packet Type |Version| RES.|1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Checksum             |           Controls            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                Sender's Host Identity Tag (HIT)               |
|                                                               |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Receiver's Host Identity Tag (HIT)              |
|                                                               |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
/                        HIP Parameters                         /
/                                                               /
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
  • length (Optional[int]) – Length of packet data.

  • extension (bool) – If the packet is used as an IPv6 extension header.

  • **kwargs (Any) – Arbitrary keyword arguments.

Return type:

HIP

Returns:

Parsed packet data.

Raises:

ProtocolError – If the packet is malformed.

make(next=TransType.UDP, next_default=None, next_namespace=None, next_reversed=False, packet=Packet.HIP_DATA, packet_default=None, packet_namespace=None, packet_reversed=False, version=2, checksum=b'\\x00\\x00', controls_anonymous=False, shit=0, rhit=0, parameters=None, payload=b'', **kwargs)[source]#

Make (construct) packet data.

Parameters:
Return type:

HIP

Returns:

Constructed packet data.

classmethod _make_data(data)[source]#

Create key-value pairs from data for protocol construction.

Parameters:

data (HIP) – protocol data

Return type:

dict[str, Any]

Returns:

Key-value pairs for protocol construction.

_read_hip_param(length, *, version)[source]#

Read HIP parameters.

Parameters:
  • length (int) – length of parameters

  • version (int) – HIP version

Return type:

OrderedMultiDict[Parameter, Parameter]

Returns:

Extracted HIP parameters.

Raises:

ProtocolError – if packet length threshold check failed

_read_param_unassigned(schema, *, version, options)[source]#

Read HIP unassigned parameters.

Structure of HIP unassigned parameters [RFC 5201][RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type            |C|             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
/                          Contents                             /
/                                               +-+-+-+-+-+-+-+-+
|                                               |    Padding    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

UnassignedParameter

Returns:

Parsed parameter data.

_read_param_esp_info(schema, *, version, options)[source]#

Read HIP ESP_INFO parameter.

Structure of HIP ESP_INFO parameter [RFC 7402]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Reserved            |         KEYMAT Index          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            OLD SPI                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            NEW SPI                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

ESPInfoParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 12.

_read_param_r1_counter(schema, *, version, options)[source]#

Read HIP R1_COUNTER parameter.

Structure of HIP R1_COUNTER parameter [RFC 5201][RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Reserved, 4 bytes                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                R1 generation counter, 8 bytes                 |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

R1CounterParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 12 or the parameter is NOT used in HIPv1.

_read_param_locator_set(schema, *, version, options)[source]#

Read HIP LOCATOR_SET parameter.

Structure of HIP LOCATOR_SET parameter [RFC 8046]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |            Length             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Traffic Type   | Locator Type | Locator Length | Reserved   |P|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Locator Lifetime                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            Locator                            |
|                                                               |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.                                                               .
.                                                               .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Traffic Type   | Locator Type | Locator Length | Reserved   |P|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Locator Lifetime                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            Locator                            |
|                                                               |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

LocatorSetParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If locator data is malformed.

_read_param_puzzle(schema, *, version, options)[source]#

Read HIP PUZZLE parameter.

Structure of HIP PUZZLE parameter [RFC 5201][RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  #K, 1 byte   |    Lifetime   |        Opaque, 2 bytes        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      Random #I, RHASH_len / 8 bytes           |
/                                                               /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

PuzzleParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – The parameter is ONLY supported in HIPv1.

_read_param_solution(schema, *, version, options)[source]#

Read HIP SOLUTION parameter.

Structure of HIP SOLUTION parameter [RFC 5201][RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  #K, 1 byte   |    Lifetime   |        Opaque, 2 bytes        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      Random #I, n bytes                       |
/                                                               /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Puzzle solution #J, RHASH_len / 8 bytes            |
/                                                               /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

SolutionParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – The parameter is ONLY supported in HIPv1.

_read_param_seq(schema, *, version, options)[source]#

Read HIP SEQ parameter.

Structure of HIP SEQ parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            Update ID                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

SEQParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 4.

_read_param_ack(schema, *, version, options)[source]#

Read HIP ACK parameter.

Structure of HIP ACK parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       peer Update ID 1                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/                       peer Update ID n                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

ACKParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 4 modulo.

_read_param_dh_group_list(schema, *, version, options)[source]#

Read HIP DH_GROUP_LIST parameter.

Structure of HIP DH_GROUP_LIST parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DH GROUP ID #1| DH GROUP ID #2| DH GROUP ID #3| DH GROUP ID #4|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DH GROUP ID #n|                Padding                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

DHGroupListParameter

Returns:

Parsed parameter data.

_read_param_diffie_hellman(schema, *, version, options)[source]#

Read HIP DIFFIE_HELLMAN parameter.

Structure of HIP DIFFIE_HELLMAN parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Group ID    |      Public Value Length      | Public Value  /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/                               |            Padding            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

DiffieHellmanParameter

Returns:

Parsed parameter data.

_read_param_hip_transform(schema, *, version, options)[source]#

Read HIP HIP_TRANSFORM parameter.

Structure of HIP HIP_TRANSFORM parameter [RFC 5201]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Suite ID #1        |          Suite ID #2          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Suite ID #n        |             Padding           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

HIPTransformParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – The parameter is ONLY supported in HIPv1.

_read_param_hip_cipher(schema, *, version, options)[source]#

Read HIP HIP_CIPHER parameter.

Structure of HIP HIP_CIPHER parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Cipher ID #1         |          Cipher ID #2         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Cipher ID #n         |             Padding           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

HIPCipherParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT a 2 modulo.

_read_param_nat_traversal_mode(schema, *, version, options)[source]#

Read HIP NAT_TRAVERSAL_MODE parameter.

Structure of HIP NAT_TRAVERSAL_MODE parameter [RFC 5770]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Reserved            |            Mode ID #1         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Mode ID #2          |            Mode ID #3         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Mode ID #n          |             Padding           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

NATTraversalModeParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT a 2 modulo.

_read_param_transaction_pacing(schema, *, version, options)[source]#

Read HIP TRANSACTION_PACING parameter.

Structure of HIP TRANSACTION_PACING parameter [RFC 5770]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            Min Ta                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

TransactionPacingParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 4.

_read_param_encrypted(schema, *, version, options)[source]#

Read HIP ENCRYPTED parameter.

Structure of HIP ENCRYPTED parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Reserved                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              IV                               /
/                                                               /
/                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               /
/                        Encrypted data                         /
/                                                               /
/                               +-------------------------------+
/                               |            Padding            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

EncryptedParameter

Returns:

Parsed parameter data.

_read_param_host_id(schema, *, version, options)[source]#

Read HIP HOST_ID parameter.

Structure of HIP HOST_ID parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          HI Length            |DI-Type|      DI Length        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Algorithm            |         Host Identity         /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/                               |       Domain Identifier       /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/                                               |    Padding    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

HostIDParameter

Returns:

Parsed parameter data.

_read_param_hit_suite_list(schema, *, version, options)[source]#

Read HIP HIT_SUITE_LIST parameter.

Structure of HIP HIT_SUITE_LIST parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     ID #1     |     ID #2     |     ID #3     |     ID #4     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     ID #n     |                Padding                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

HITSuiteListParameter

Returns:

Parsed parameter data.

_read_param_cert(schema, *, version, options)[source]#

Read HIP CERT parameter.

Structure of HIP CERT parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  CERT group   |  CERT count   |    CERT ID    |   CERT type   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Certificate                          /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/                               |   Padding (variable length)   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

CertParameter

Returns:

Parsed parameter data.

_read_param_notification(schema, *, version, options)[source]#

Read HIP NOTIFICATION parameter.

Structure of HIP NOTIFICATION parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Reserved             |      Notify Message Type      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               /
/                   Notification Data                           /
/                                               +---------------+
/                                               |     Padding   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

NotificationParameter

Returns:

Parsed parameter data.

_read_param_echo_request_signed(schema, *, version, options)[source]#

Read HIP ECHO_REQUEST_SIGNED parameter.

Structure of HIP ECHO_REQUEST_SIGNED parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Opaque data (variable length)                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

EchoRequestSignedParameter

Returns:

Parsed parameter data.

_read_param_reg_info(schema, *, version, options)[source]#

Read HIP REG_INFO parameter.

Structure of HIP REG_INFO parameter [RFC 8003]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Min Lifetime  | Max Lifetime  |  Reg Type #1  |  Reg Type #2  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      ...      |     ...       |  Reg Type #n  |               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    Padding    +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

RegInfoParameter

Returns:

Parsed parameter data.

_read_param_reg_request(schema, *, version, options)[source]#

Read HIP REG_REQUEST parameter.

Structure of HIP REG_REQUEST parameter [RFC 8003]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Lifetime    |  Reg Type #1  |  Reg Type #2  |  Reg Type #3  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      ...      |     ...       |  Reg Type #n  |               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    Padding    +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

RegRequestParameter

Returns:

Parsed parameter data.

_read_param_reg_response(schema, *, version, options)[source]#

Read HIP REG_RESPONSE parameter.

Structure of HIP REG_RESPONSE parameter [RFC 8003]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Lifetime    |  Reg Type #1  |  Reg Type #2  |  Reg Type #3  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      ...      |     ...       |  Reg Type #n  |               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    Padding    +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

RegResponseParameter

Returns:

Parsed parameter data.

_read_param_reg_failed(schema, *, version, options)[source]#

Read HIP REG_FAILED parameter.

Structure of HIP REG_FAILED parameter [RFC 8003]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Lifetime    |  Reg Type #1  |  Reg Type #2  |  Reg Type #3  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      ...      |     ...       |  Reg Type #n  |               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    Padding    +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

RegFailedParameter

Returns:

Parsed parameter data.

_read_param_reg_from(schema, *, version, options)[source]#

Read HIP REG_FROM parameter.

Structure of HIP REG_FROM parameter [RFC 5770]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Port              |    Protocol   |     Reserved  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                            Address                            |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

RegFromParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 20.

_read_param_echo_response_signed(schema, *, version, options)[source]#

Read HIP ECHO_RESPONSE_SIGNED parameter.

Structure of HIP ECHO_RESPONSE_SIGNED parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Opaque data (variable length)                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

EchoResponseSignedParameter

Returns:

Parsed parameter data.

_read_param_transport_format_list(schema, *, version, options)[source]#

Read HIP TRANSPORT_FORMAT_LIST parameter.

Structure of HIP TRANSPORT_FORMAT_LIST parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          TF type #1           |           TF type #2          /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/          TF type #n           |             Padding           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

TransportFormatListParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 2 modulo.

_read_param_esp_transform(schema, *, version, options)[source]#

Read HIP ESP_TRANSFORM parameter.

Structure of HIP ESP_TRANSFORM parameter [RFC 7402]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Reserved             |           Suite ID #1         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Suite ID #2          |           Suite ID #3         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Suite ID #n          |             Padding           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

ESPTransformParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 2 modulo.

_read_param_seq_data(schema, *, version, options)[source]#

Read HIP SEQ_DATA parameter.

Structure of HIP SEQ_DATA parameter [RFC 6078]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Sequence number                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

SeqDataParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 4.

_read_param_ack_data(schema, *, version, options)[source]#

Read HIP ACK_DATA parameter.

Structure of HIP ACK_DATA parameter [RFC 6078]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Acked Sequence number                     /
/                                                               /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

AckDataParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 4 modulo.

_read_param_payload_mic(schema, *, version, options)[source]#

Read HIP PAYLOAD_MIC parameter.

Structure of HIP PAYLOAD_MIC parameter [RFC 6078]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Next Header  |                   Reserved                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Payload Data                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
/                         MIC Value                             /
/                                               +-+-+-+-+-+-+-+-+
|                                               |    Padding    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

PayloadMICParameter

Returns:

Parsed parameter data.

_read_param_transaction_id(schema, *, version, options)[source]#

Read HIP TRANSACTION_ID parameter.

Structure of HIP TRANSACTION_ID parameter [RFC 6078]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Identifier                          /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/                                               |    Padding    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

TransactionIDParameter

Returns:

Parsed parameter data.

_read_param_overlay_id(schema, *, version, options)[source]#

Read HIP OVERLAY_ID parameter.

Structure of HIP OVERLAY_ID parameter [RFC 6079]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Identifier                          /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/                                               |    Padding    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

OverlayIDParameter

Returns:

Parsed parameter data.

_read_param_route_dst(schema, *, version, options)[source]#

Read HIP ROUTE_DST parameter.

Structure of HIP ROUTE_DST parameter [RFC 6028]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Flags             |            Reserved           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                            HIT #1                             |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.                               .                               .
.                               .                               .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                            HIT #n                             |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

RouteDstParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If the parameter is malformed.

_read_param_hip_transport_mode(schema, *, version, options)[source]#

Read HIP HIP_TRANSPORT_MODE parameter.

Structure of HIP HIP_TRANSPORT_MODE parameter [RFC 6261]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Port              |           Mode ID #1          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Mode ID #2           |           Mode ID #3          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Mode ID #n           |             Padding           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

HIPTransportModeParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 2 modulo.

_read_param_hip_mac(schema, *, version, options)[source]#

Read HIP HIP_MAC parameter.

Structure of HIP HIP_MAC parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                             HMAC                              |
/                                                               /
/                               +-------------------------------+
|                               |            Padding            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

HIPMACParameter

Returns:

Parsed parameter data.

_read_param_hip_mac_2(schema, *, version, options)[source]#

Read HIP HIP_MAC_2 parameter.

Structure of HIP HIP_MAC_2 parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                             HMAC                              |
/                                                               /
/                               +-------------------------------+
|                               |            Padding            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

HIPMAC2Parameter

Returns:

Parsed parameter data.

_read_param_hip_signature_2(schema, *, version, options)[source]#

Read HIP HIP_SIGNATURE_2 parameter.

Structure of HIP HIP_SIGNATURE_2 parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    SIG alg                    |            Signature          /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/                               |             Padding           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

HIPSignature2Parameter

Returns:

Parsed parameter data.

_read_param_hip_signature(schema, *, version, options)[source]#

Read HIP HIP_SIGNATURE parameter.

Structure of HIP HIP_SIGNATURE parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    SIG alg                    |            Signature          /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/                               |             Padding           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

HIPSignatureParameter

Returns:

Parsed parameter data.

_read_param_echo_request_unsigned(schema, *, version, options)[source]#

Read HIP ECHO_REQUEST_UNSIGNED parameter.

Structure of HIP ECHO_REQUEST_UNSIGNED parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Opaque data (variable length)                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

EchoRequestUnsignedParameter

Returns:

Parsed parameter data.

_read_param_echo_response_unsigned(schema, *, version, options)[source]#

Read HIP ECHO_RESPONSE_UNSIGNED parameter.

Structure of HIP ECHO_RESPONSE_UNSIGNED parameter [RFC 7401]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Opaque data (variable length)                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

EchoResponseUnsignedParameter

Returns:

Parsed parameter data.

_read_param_relay_from(schema, *, version, options)[source]#

Read HIP RELAY_FROM parameter.

Structure of HIP RELAY_FROM parameter [RFC 5770]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Port              |    Protocol   |     Reserved  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                            Address                            |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

RelayFromParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 20.

_read_param_relay_to(schema, *, version, options)[source]#

Read HIP RELAY_TO parameter.

Structure of HIP RELAY_TO parameter [RFC 5770]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Port              |    Protocol   |     Reserved  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                            Address                            |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

RelayToParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 20.

_read_param_overlay_ttl(schema, *, version, options)[source]#

Read HIP OVERLAY_TTL parameter.

Structure of HIP OVERLAY_TTL parameter [RFC 6078]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             TTL               |            Reserved           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

OverlayTTLParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 4.

_read_param_route_via(schema, *, version, options)[source]#

Read HIP ROUTE_VIA parameter.

Structure of HIP ROUTE_VIA parameter [RFC 6028]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Flags             |            Reserved           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                            HIT #1                             |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.                               .                               .
.                               .                               .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                            HIT #n                             |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

RouteViaParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If the parameter is malformed.

_read_param_from(schema, *, version, options)[source]#

Read HIP FROM parameter.

Structure of HIP FROM parameter [RFC 8004]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                             Address                           |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

FromParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 16.

_read_param_rvs_hmac(schema, *, version, options)[source]#

Read HIP RVS_HMAC parameter.

Structure of HIP RVS_HMAC parameter [RFC 8004]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                             HMAC                              |
/                                                               /
/                               +-------------------------------+
|                               |            Padding            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

RVSHMACParameter

Returns:

Parsed parameter data.

_read_param_via_rvs(schema, *, version, options)[source]#

Read HIP VIA_RVS parameter.

Structure of HIP VIA_RVS parameter [RFC 6028]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                            Address                            |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.                               .                               .
.                               .                               .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                            Address                            |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

ViaRVSParameter

Returns:

Parsed parameter data.

Raises:

ProtocolError – If schema.len is NOT 16 modulo.

_read_param_relay_hmac(schema, version, options)[source]#

Read HIP RELAY_HMAC parameter.

Structure of HIP RELAY_HMAC parameter [RFC 5770]:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                             HMAC                              |
/                                                               /
/                               +-------------------------------+
|                               |            Padding            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameters:
Return type:

RelayHMACParameter

Returns:

Parsed parameter data.

_make_hip_param(parameters, *, version)[source]#

Make HIP parameter.

Parameters:
Return type:

tuple[list[Parameter | bytes], int]

Returns:

HIP parameters and total length.

_make_param_unassigned(code, param=None, *, version, contents=b'', **kwargs)[source]#

Make HIP unassigned parameter.

Parameters:
Return type:

UnassignedParameter

Returns:

HIP parameter schema.

_make_param_esp_info(code, param=None, *, version, index=0, old_spi=0, new_spi=0, **kwargs)[source]#

Make HIP ESP_INFO parameter.

Parameters:
  • code (Parameter) – parameter code

  • param (Optional[ESPInfoParameter]) – parameter data

  • version (int) – HIP protocol version

  • index (int) – KEYMAT index

  • old_spi (int) – old SPI

  • new_spi (int) – new SPI

  • **kwargs (Any) – arbitrary keyword arguments

Return type:

ESPInfoParameter

Returns:

HIP parameter schema.

_make_param_r1_counter(code, param=None, *, version, counter=0, **kwargs)[source]#

Make HIP R1_COUNTER parameter.

Parameters:
Return type:

R1CounterParameter

Returns:

HIP parameter schema.

_make_param_locator_set(code, param=None, *, version, locator_set=None, **kwargs)[source]#

Make HIP LOCATOR_SET parameter.

Parameters:
Return type:

LocatorSetParameter

Returns:

HIP parameter schema.

_make_param_puzzle(code, param=None, *, version, index=0, lifetime=0, opaque=b'', random=0, **kwargs)[source]#

Make HIP PUZZLE parameter.

Parameters:
  • code (Parameter) – parameter code

  • param (Optional[PuzzleParameter]) – parameter data

  • version (int) – HIP protocol version

  • index (int) – #K index

  • lifetime (timedelta | int) – lifetime

  • opaque (bytes) – opaque data

  • random (int) – random #I value

  • **kwargs (Any) – arbitrary keyword arguments

Return type:

PuzzleParameter

Returns:

HIP parameter schema.

_make_param_solution(code, param=None, *, version, index=0, lifetime=0, opaque=b'', random=0, solution=0, **kwargs)[source]#

Make HIP SOLUTION parameter.

Parameters:
Return type:

SolutionParameter

Returns:

HIP parameter schema.

_make_param_seq(code, param=None, *, version, update_id=0, **kwargs)[source]#

Make HIP SEQ parameter.

Parameters:
Return type:

SEQParameter

Returns:

HIP parameter schema.

_make_param_ack(code, param=None, *, version, update_id=None, **kwargs)[source]#

Make HIP ACK parameter.

Parameters:
Return type:

ACKParameter

Returns:

HIP parameter schema.

_make_param_dh_group_list(code, param=None, *, version, groups=None, group_default=None, group_namespace=None, group_reversed=False, **kwargs)[source]#

Make HIP DH_GROUP_LIST parameter.

Parameters:
Return type:

DHGroupListParameter

Returns:

HIP parameter schema.

_make_param_diffie_hellman(code, param=None, *, version, group=Group.NIST_P_256, group_default=None, group_namespace=None, group_reversed=False, pub_val=0, **kwargs)[source]#

Make HIP DIFFIE_HELLMAN parameter.

Parameters:
Return type:

DiffieHellmanParameter

Returns:

HIP parameter schema.

_make_param_hip_transform(code, param=None, *, version, suites=None, suite_default=None, suite_namespace=None, suite_reversed=False, **kwargs)[source]#

Make HIP HIP_TRANSFORM parameter.

Parameters:
Return type:

HIPTransformParameter

Returns:

HIP parameter schema.

_make_param_hip_cipher(code, param=None, *, version, ciphers=None, cipher_default=None, cipher_namespace=None, cipher_reversed=False, **kwargs)[source]#

Make HIP HIP_CIPHER parameter.

Parameters:
Return type:

HIPCipherParameter

Returns:

HIP parameter schema.

_make_param_nat_traversal_mode(code, param=None, *, version, modes=None, mode_default=None, mode_namespace=None, mode_reversed=False, **kwargs)[source]#

Make HIP NAT_TRAVERSAL_MODE parameter.

Parameters:
Return type:

NATTraversalModeParameter

Returns:

HIP parameter schema.

_make_param_transaction_pacing(code, param=None, *, version, min_ta=0, **kwargs)[source]#

Make HIP TRANSACTION_PACING parameter.

Parameters:
Return type:

TransactionPacingParameter

Returns:

HIP parameter schema.

_make_param_encrypted(code, param=None, *, version, cipher=Cipher.NULL_ENCRYPT, cipher_default=None, cipher_namespace=None, cipher_reversed=False, iv=None, data=b'', **kwargs)[source]#

Make HIP ENCRYPTED parameter.

Parameters:
Return type:

EncryptedParameter

Returns:

HIP parameter schema.

_make_param_host_id(code, param=None, *, version, hi=None, hi_curve=None, hi_pub_key=b'', hi_algorithm=HIAlgorithm.NULL_ENCRYPT, hi_algorithm_default=None, hi_algorithm_namespace=None, hi_algorithm_reversed=False, di=b'', di_type=DITypes.none_included, di_type_default=None, di_type_namespace=None, di_type_reversed=False, **kwargs)[source]#

Make HIP HOST_ID parameter.

Parameters:
Return type:

HostIDParameter

Returns:

HIP parameter schema.

_make_param_hit_suite_list(code, param=None, *, version, suites=None, suite_default=None, suite_namespace=None, suite_reversed=False, **kwargs)[source]#

Make HIP HIT_SUITE_LIST parameter.

Parameters:
Return type:

HITSuiteListParameter

Returns:

HIP parameter schema.

_make_param_cert(code, param=None, *, version, cert_group=Group.NIST_P_256, cert_group_default=None, cert_group_namespace=None, cert_group_reversed=False, cert_count=0, cert_id=0, cert_type=Certificate.X_509_v3, cert_type_default=None, cert_type_namespace=None, cert_type_reversed=False, cert=b'', **kwargs)[source]#

Make HIP CERT parameter.

Parameters:
Return type:

CertParameter

Returns:

HIP parameter schema.

_make_param_notification(code, param=None, *, version, msg_type=NotifyMessage.I2_ACKNOWLEDGEMENT, msg_type_default=None, msg_type_namespace=None, msg_type_reversed=False, msg=b'', **kwargs)[source]#

Make HIP NOTIFICATION parameter.

Parameters:
Return type:

NotificationParameter

Returns:

HIP parameter schema.

_make_param_echo_request_signed(code, param=None, *, version, opaque=b'', **kwargs)[source]#

Make HIP ECHO_REQUEST_SIGNED parameter.

Parameters:
Return type:

EchoRequestSignedParameter

Returns:

HIP parameter schema.

_make_param_reg_info(code, param=None, *, version, min_lifetime=0, max_lifetime=15, reg_info=None, reg_info_default=None, reg_info_namespace=None, reg_info_reversed=False, **kwargs)[source]#

Make HIP REG_INFO parameter.

Parameters:
Return type:

RegInfoParameter

Returns:

HIP parameter schema.

_make_param_reg_request(code, param=None, *, version, lifetime=0, reg_request=None, reg_request_default=None, reg_request_namespace=None, reg_request_reversed=False, **kwargs)[source]#

Make HIP REG_REQUEST parameter.

Parameters:
Return type:

RegRequestParameter

Returns:

HIP parameter schema.

_make_param_reg_response(code, param=None, *, version, lifetime=0, reg_response=None, reg_response_default=None, reg_response_namespace=None, reg_response_reversed=False, **kwargs)[source]#

Make HIP REG_RESPONSE parameter.

Parameters:
Return type:

RegResponseParameter

Returns:

HIP parameter schema.

_make_param_reg_failed(code, param=None, *, version, lifetime=0, reg_failed=None, reg_failed_default=None, reg_failed_namespace=None, reg_failed_reversed=False, **kwargs)[source]#

Make HIP REG_FAILED parameter.

Parameters:
Return type:

RegFailedParameter

Returns:

HIP parameter schema.

_make_param_reg_from(code, param=None, *, version, port=0, protocol=TransType.UDP, protocol_default=None, protocol_namespace=None, protocol_reversed=False, address='::', **kwargs)[source]#

Make HIP REG_FROM parameter.

Parameters:
Return type:

RegFromParameter

Returns:

HIP parameter schema.

_make_param_echo_response_signed(code, param=None, *, version, opaque=b'', **kwargs)[source]#

Make HIP ECHO_RESPONSE_SIGNED parameter.

Parameters:
Return type:

EchoResponseSignedParameter

Returns:

HIP parameter schema.

_make_param_transport_format_list(code, param=None, *, version, formats=None, format_default=None, format_namespace=None, format_reversed=False, **kwargs)[source]#

Make HIP TRANSPORT_FORMAT_LIST parameter.

Parameters:
Return type:

TransportFormatListParameter

Returns:

HIP parameter schema.

_make_param_esp_transform(code, param=None, *, version, suites=None, suite_default=None, suite_namespace=None, suite_reversed=False, **kwargs)[source]#

Make HIP ESP_TRANSFORM parameter.

Parameters:
Return type:

ESPTransformParameter

Returns:

HIP parameter schema.

_make_param_seq_data(code, param=None, *, version, seq=0, **kwargs)[source]#

Make HIP SEQ_DATA parameter.

Parameters:
Return type:

SeqDataParameter

Returns:

HIP parameter schema.

_make_param_ack_data(code, param=None, *, version, ack=None, **kwargs)[source]#

Make HIP ACK_DATA parameter.

Parameters:
Return type:

AckDataParameter

Returns:

HIP parameter schema.

_make_param_payload_mic(code, param=None, *, version, next=TransType.UDP, next_default=None, next_namespace=None, next_reversed=False, payload=b'', mic=b'', **kwargs)[source]#

Make HIP PAYLOAD_MIC parameter.

Parameters:
Return type:

PayloadMICParameter

Returns:

HIP parameter schema.

_make_param_transaction_id(code, param=None, *, version, id=0, **kwargs)[source]#

Make HIP TRANSACTION_ID parameter.

Parameters:
Return type:

TransactionIDParameter

Returns:

HIP parameter schema.

_make_param_overlay_id(code, param=None, *, version, id=0, **kwargs)[source]#

Make HIP OVERLAY_ID parameter.

Parameters:
Return type:

OverlayIDParameter

Returns:

HIP parameter schema.

_make_param_route_dst(code, param=None, *, version, symmetric=False, must_follow=False, hit=None, **kwargs)[source]#

Make HIP ROUTE_DST parameter.

Parameters:
Return type:

RouteDstParameter

Returns:

HIP parameter schema.

_make_param_hip_transport_mode(code, param=None, *, version, port=0, modes=None, mode_default=None, mode_namespace=None, mode_reversed=False, **kwargs)[source]#

Make HIP HIP_TRANSPORT_MODE parameter.

Parameters:
Return type:

HIPTransportModeParameter

Returns:

HIP parameter schema.

_make_param_hip_mac(code, param=None, *, version, hmac=b'', **kwargs)[source]#

Make HIP HIP_MAC parameter.

Parameters:
Return type:

HIPMACParameter

Returns:

HIP parameter schema.

_make_param_hip_mac_2(code, param=None, *, version, hmac=b'', **kwargs)[source]#

Make HIP HIP_MAC_2 parameter.

Parameters:
Return type:

HIPMAC2Parameter

Returns:

HIP parameter schema.

_make_param_hip_signature_2(code, param=None, *, version, algorithm=HIAlgorithm.NULL_ENCRYPT, algorithm_default=None, algorithm_namespace=None, algorithm_reversed=False, signature=b'', **kwargs)[source]#

Make HIP HIP_SIGNATURE_2 parameter.

Parameters:
Return type:

HIPSignature2Parameter

Returns:

HIP parameter schema.

_make_param_hip_signature(code, param=None, *, version, algorithm=HIAlgorithm.NULL_ENCRYPT, algorithm_default=None, algorithm_namespace=None, algorithm_reversed=False, signature=b'', **kwargs)[source]#

Make HIP HIP_SIGNATURE parameter.

Parameters:
Return type:

HIPSignatureParameter

Returns:

HIP parameter schema.

_make_param_echo_request_unsigned(code, param=None, *, version, opaque=b'', **kwargs)[source]#

Make HIP ECHO_REQUEST_UNSIGNED parameter.

Parameters:
Return type:

EchoRequestUnsignedParameter

Returns:

HIP parameter schema.

_make_param_echo_response_unsigned(code, param=None, *, version, opaque=b'', **kwargs)[source]#

Make HIP ECHO_RESPONSE_UNSIGNED parameter.

Parameters:
Return type:

EchoRequestUnsignedParameter

Returns:

HIP parameter schema.

_make_param_relay_from(code, param=None, *, version, port=0, protocol=TransType.UDP, protocol_default=None, protocol_namespace=None, protocol_reversed=False, address='::', **kwargs)[source]#

Make HIP RELAY_FROM parameter.

Parameters:
Return type:

RelayFromParameter

Returns:

HIP parameter schema.

_make_param_relay_to(code, param=None, *, version, port=0, protocol=TransType.UDP, protocol_default=None, protocol_namespace=None, protocol_reversed=False, address='::', **kwargs)[source]#

Make HIP RELAY_TO parameter.

Parameters:
Return type:

RelayToParameter

Returns:

HIP parameter schema.

_make_param_overlay_ttl(code, param=None, *, version, ttl=0, **kwargs)[source]#

Make HIP OVERLAY_TTL parameter.

Parameters:
Return type:

OverlayTTLParameter

Returns:

HIP parameter schema.

_make_param_route_via(code, param=None, *, version, symmetric=False, must_follow=False, hit=None, **kwargs)[source]#

Make HIP ROUTE_VIA parameter.

Parameters:
Return type:

RouteViaParameter

Returns:

HIP parameter schema.

_make_param_from(code, param=None, *, version, address='::', **kwargs)[source]#

Make HIP FROM parameter.

Parameters:
Return type:

FromParameter

Returns:

HIP parameter schema.

_make_param_rvs_hmac(code, param=None, *, version, hmac=b'', **kwargs)[source]#

Make HIP RVS_HMAC parameter.

Parameters:
Return type:

RVSHMACParameter

Returns:

HIP parameter schema.

_make_param_via_rvs(code, param=None, *, version, address=None, **kwargs)[source]#

Make HIP VIA_RVS parameter.

Parameters:
Return type:

ViaRVSParameter

Returns:

HIP parameter schema.

_make_param_relay_hmac(code, param=None, *, version, hmac=b'', **kwargs)[source]#

Make HIP RELAY_HMAC parameter.

Parameters:
Return type:

RelayHMACParameter

Returns:

HIP parameter schema.

__post_init__(file=None, length=None, *, extension=False, **kwargs)[source]#

Post initialisation hook.

Parameters:
  • file (Union[IO[bytes], bytes, None]) – Source packet stream.

  • length (Optional[int]) – Length of packet data.

  • extension (bool) – If the protocol is used as an IPv6 extension header.

  • **kwargs (Any) – Arbitrary keyword arguments.

Return type:

None

See also

For construction argument, please refer to self.make.

classmethod __index__()[source]#

Numeral registry index of the protocol.

Return type:

TransType

Returns:

Numeral registry index of the protocol in IANA.

Type Stubs#

class pcapkit.protocols.internet.hip.Locator[source]#

Bases: TypedDict

Locator dictionary type.

traffic: int#

Traffic type.

type: int#

Locator type.

preferred: bool#

Preferred flag.

lifetime: timedelta | int#

Lifetime.

ip: IPv6Address | bytes | int | str#

IP address.

spi: int#

SPI.

Header Schemas#

class pcapkit.protocols.schema.internet.hip.HIP(dict_=None, **kwargs)[source]#

Bases: Schema

Header schema for HIP packet.

next: Enum_TransType = <EnumField next>#

Next header.

len: int = <UInt8Field len>#

Header length.

pkt: PacketType = <BitField pkt>#

Packet type.

ver: VersionType = <BitField ver>#

HIP version.

checksum: bytes = <BytesField checksum>#

Checksum.

control: ControlsType = <BitField control>#

HIP controls.

shit: int = <NumberField shit>#

Sender’s host identity tag.

rhit: int = <NumberField rhit>#

Receiver’s host identity tag.

param: list[Parameter] = <OptionField param>#

HIP parameters.

payload: bytes = <PayloadField payload>#

Payload.

class pcapkit.protocols.schema.internet.hip.Parameter(dict_=None, **kwargs)[source]#

Bases: EnumSchema[Parameter]

Base schema for HIP parameters.

type: Enum_Parameter = <EnumField type>#

Parameter type.

len: int = <UInt16Field len>#

Parameter length.

class pcapkit.protocols.schema.internet.hip.UnassignedParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP unsigned parameters.

value: bytes = <BytesField value>#

Parameter value.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.ESPInfoParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP ESP_INFO parameters.

reserved: bytes = <PaddingField reserved>#

Reserved.

index: int = <UInt16Field index>#

Key management index.

old_spi: int = <UInt32Field old_spi>#

Old SPI.

new_spi: int = <UInt32Field new_spi>#

New SPI.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.R1CounterParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP R1_COUNTER parameters.

reserved: bytes = <PaddingField reserved>#

Reserved.

counter: int = <UInt32Field counter>#

R1 counter.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.LocatorSetParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP LOCATOR_SET parameters.

locators: list[Locator] = <ListField locators>#

List of locators.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.Locator(dict_=None, **kwargs)[source]#

Bases: Schema

Header schema for HIP locators.

traffic: int = <UInt8Field traffic>#

Traffic type.

type: int = <UInt8Field type>#

Locator type.

len: int = <UInt8Field len>#

Locator length.

flags: LocatorFlags = <BitField flags>#

Reserved and flags.

value: IPv6Address | LocatorData = <SwitchField value>#

Locator value.

class pcapkit.protocols.schema.internet.hip.LocatorData(dict_=None, **kwargs)[source]#

Bases: Schema

Header schema for HIP locator data.

spi: int = <UInt32Field spi>#

SPI.

ip: IPv6Address = <IPv6AddressField ip>#

Locator.

class pcapkit.protocols.schema.internet.hip.PuzzleParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP PUZZLE parameters.

index: int = <UInt8Field index>#

Numeric index.

lifetime: int = <UInt8Field lifetime>#

Lifetime.

opaque: bytes = <BytesField opaque>#

Opaque data.

random: int = <NumberField random>#

Random data.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.SolutionParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP SOLUTION parameters.

index: int = <UInt8Field index>#

Numeric index.

lifetime: int = <UInt8Field lifetime>#

Lifetime.

opaque: bytes = <BytesField opaque>#

Opaque data.

random: int = <NumberField random>#

Random data.

solution: int = <NumberField solution>#

Solution.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.SEQParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP SEQ parameters.

update_id: int = <UInt32Field update_id>#

Update ID.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.ACKParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP ACK parameters.

update_id: list[int] = <ListField update_id>#

Update ID.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.DHGroupListParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP DH_GROUP_LIST parameters.

groups: list[Enum_Group] = <ListField groups>#

List of DH groups.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.DiffieHellmanParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP DIFFIE_HELLMAN parameters.

group: Enum_Group = <EnumField group>#

Diffie-Hellman group.

pub_len: int = <UInt16Field pub_len>#

Public value length.

pub_val: int = <NumberField pub_val>#

Diffie-Hellman value.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.HIPTransformParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP TRANSFORM parameters.

suites: list[Enum_Suite] = <ListField suites>#

Suite IDs.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.HIPCipherParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP CIPHER parameters.

ciphers: list[Enum_Cipher] = <ListField ciphers>#

Cipher IDs.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.NATTraversalModeParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP NAT_TRAVERSAL_MODE parameters.

reserved: bytes = <PaddingField reserved>#

Reserved.

modes: list[Enum_NATTraversal] = <ListField modes>#

NAT traversal modes.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.TransactionPacingParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP TRANSACTION_PACING parameters.

min_ta: int = <UInt32Field min_ta>#

Transaction pacing.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.EncryptedParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP ENCRYPTED parameters.

reserved: bytes = <PaddingField reserved>#

Reserved.

iv: bytes = <ConditionalField iv>#

Initialization vector.

data: bytes = <BytesField data>#

Data.

padding: bytes = <PaddingField padding>#

Padding.

classmethod pre_unpack(packet)[source]#

Prepare packet data for unpacking process.

Parameters:

packet (dict[str, Any]) – packet data

Return type:

None

post_process(packet)[source]#

Revise schema data after unpacking process.

Parameters:

packet (dict[str, Any]) – Unpacked data.

Return type:

Schema

Returns:

Revised schema.

cipher: Enum_Cipher#

Cipher ID.

class pcapkit.protocols.schema.internet.hip.HostIDParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP HOST_ID parameters.

hi_len: int = <UInt16Field hi_len>#

Host ID length.

di_data: DIData = <BitField di_data>#

Domain ID type and length.

algorithm: Enum_HIAlgorithm = <EnumField algorithm>#

Algorithm type.

hi: bytes | HostIdentity = <SwitchField hi>#

Host ID.

di: bytes = <BytesField di>#

Domain ID.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.HostIdentity(dict_=None, **kwargs)[source]#

Bases: EnumSchema[HIAlgorithm]

Host identity schema.

class pcapkit.protocols.schema.internet.hip.ECDSACurveHostIdentity(dict_=None, **kwargs)[source]#

Bases: HostIdentity

Host identity schema with ECDSA curve.

curve: Enum_ECDSACurve = <EnumField curve>#

Algorithm curve type.

pub_key: bytes = <BytesField pub_key>#

Public key.

class pcapkit.protocols.schema.internet.hip.ECDSALowCurveHostIdentity(dict_=None, **kwargs)[source]#

Bases: HostIdentity

Host identity schema with ECDSA_LOW curve.

curve: Enum_ECDSALowCurve = <EnumField curve>#

Algorithm curve type.

pub_key: bytes = <BytesField pub_key>#

Public key.

class pcapkit.protocols.schema.internet.hip.EdDSACurveHostIdentity(dict_=None, **kwargs)[source]#

Bases: HostIdentity

Host identity schema with EdDSA curve.

curve: Enum_EdDSACurve = <EnumField curve>#

Algorithm curve type.

pub_key: bytes = <BytesField pub_key>#

Public key.

class pcapkit.protocols.schema.internet.hip.HITSuiteListParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP HIT_SUITE_LIST parameters.

suites: list[Enum_HITSuite] = <ListField suites>#

HIT suite IDs.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.CertParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP CERT parameters.

cert_group: Enum_Group = <EnumField cert_group>#

Certificate group.

cert_count: int = <UInt8Field cert_count>#

Certificate count.

cert_id: int = <UInt8Field cert_id>#

Certificate ID.

cert_type: Enum_Certificate = <EnumField cert_type>#

Certificate type.

cert: bytes = <BytesField cert>#

Certificate data.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.NotificationParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP NOTIFICATION parameters.

reserved: bytes = <PaddingField reserved>#

Reserved.

msg_type: Enum_NotifyMessage = <EnumField msg_type>#

Notify message type.

msg: bytes = <BytesField msg>#

Notification data.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.EchoRequestSignedParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP ECHO_REQUEST_SIGNED parameters.

opaque: bytes = <BytesField opaque>#

Opaque data.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.RegInfoParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP REG_INFO parameters.

min_lifetime: int = <UInt8Field min_lifetime>#

Minimum lifetime.

max_lifetime: int = <UInt8Field max_lifetime>#

Maximum lifetime.

reg_info: list[Enum_Registration] = <ListField reg_info>#

Registration types.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.RegRequestParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP REG_REQUEST parameters.

lifetime: int = <UInt8Field lifetime>#

Lifetime.

reg_request: list[Enum_Registration] = <ListField reg_request>#

Registration types.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.RegResponseParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP REG_RESPONSE parameters.

lifetime: int = <UInt8Field lifetime>#

Lifetime.

reg_response: list[Enum_Registration] = <ListField reg_response>#

Registration types.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.RegFailedParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP REG_FAILED parameters.

lifetime: int = <UInt8Field lifetime>#

Lifetime.

reg_failed: list[Enum_RegistrationFailure] = <ListField reg_failed>#

Registration types.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.RegFromParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP REG_FROM parameters.

port: int = <UInt16Field port>#

Port.

protocol: Enum_TransType = <EnumField protocol>#

Protocol.

reserved: bytes = <PaddingField reserved>#

Reserved.

address: IPv6Address = <IPv6AddressField address>#

Address.

class pcapkit.protocols.schema.internet.hip.EchoResponseSignedParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP ECHO_RESPONSE_SIGNED parameters.

opaque: bytes = <BytesField opaque>#

Opaque data.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.TransportFormatListParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP TRANSPORT_FORMAT_LIST parameters.

formats: list[Enum_Parameter] = <ListField formats>#

Transport formats.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.ESPTransformParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP ESP_TRANSFORM parameters.

reserved: bytes = <PaddingField reserved>#

Reserved.

suites: list[Enum_ESPTransformSuite] = <ListField suites>#

Suite IDs.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.SeqDataParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP SEQ_DATA parameters.

seq: int = <UInt32Field seq>#

Sequence number.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.AckDataParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP ACK_DATA parameters.

ack: list[int] = <ListField ack>#

Acked sequence number.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.PayloadMICParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP PAYLOAD_MIC parameters.

next: Enum_TransType = <EnumField next>#

Next header.

reserved: bytes = <PaddingField reserved>#

Reversed.

payload: bytes = <BytesField payload>#

Payload data.

mic: bytes = <BytesField mic>#

MIC value.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.TransactionIDParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP TRANSACTION_ID parameters.

id: int = <NumberField id>#

Transaction ID.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.OverlayIDParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP OVERLAY_ID parameters.

id: int = <NumberField id>#

Overlay ID.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.RouteDstParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP ROUTE_DST parameters.

flags: RouteFlags = <BitField flags>#

Flags.

reserved: bytes = <PaddingField reserved>#

Reserved.

hit: list[IPv6Address] = <ListField hit>#

HIT addresses.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.HIPTransportModeParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP HIP_TRANSPORT_MODE parameters.

port: int = <UInt16Field port>#

Port.

mode: list[Enum_Transport] = <ListField mode>#

Mode IDs.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.HIPMACParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP HIP_MAC parameters.

hmac: bytes = <BytesField hmac>#

HMAC value.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.HIPMAC2Parameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP HIP_MAC_2 parameters.

hmac: bytes = <BytesField hmac>#

HMAC value.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.HIPSignature2Parameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP HIP_SIGNATURE_2 parameters.

algorithm: Enum_HIAlgorithm = <EnumField algorithm>#

Signature algorithm.

signature: bytes = <BytesField signature>#

Signature value.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.HIPSignatureParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP HIP_SIGNATURE parameters.

algorithm: Enum_HIAlgorithm = <EnumField algorithm>#

Signature algorithm.

signature: bytes = <BytesField signature>#

Signature value.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.EchoRequestUnsignedParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP ECHO_REQUEST_UNSIGNED parameters.

opaque: bytes = <BytesField opaque>#

Opaque data.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.EchoResponseUnsignedParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP ECHO_RESPONSE_UNSIGNED parameters.

opaque: bytes = <BytesField opaque>#

Opaque data.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.RelayFromParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP RELAY_FROM parameters.

port: int = <UInt16Field port>#

Port.

protocol: Enum_TransType = <EnumField protocol>#

Protocol.

reserved: bytes = <PaddingField reserved>#

Reserved.

address: IPv6Address = <IPv6AddressField address>#

Address.

class pcapkit.protocols.schema.internet.hip.RelayToParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP RELAY_TO parameters.

port: int = <UInt16Field port>#

Port.

protocol: Enum_TransType = <EnumField protocol>#

Protocol.

reserved: bytes = <PaddingField reserved>#

Reserved.

address: IPv6Address = <IPv6AddressField address>#

Address.

class pcapkit.protocols.schema.internet.hip.OverlayTTLParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP OVERLAY_TTL parameters.

ttl: int = <UInt16Field ttl>#

TTL value.

reserved: bytes = <PaddingField reserved>#

Reserved.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.RouteViaParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP ROUTE_VIA parameters.

flags: RouteFlags = <BitField flags>#

Flags.

reserved: bytes = <PaddingField reserved>#

Reserved.

hit: list[IPv6Address] = <ListField hit>#

HIT addresses.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.FromParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP FROM parameters.

address: IPv6Address = <IPv6AddressField address>#

Address.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.RVSHMACParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP RVS_HMAC parameters.

hmac: bytes = <BytesField hmac>#

HMAC value.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.ViaRVSParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP VIA_RVS parameters.

address: list[IPv6Address] = <ListField address>#

Address.

padding: bytes = <PaddingField padding>#

Padding.

class pcapkit.protocols.schema.internet.hip.RelayHMACParameter(dict_=None, **kwargs)[source]#

Bases: Parameter

Header schema for HIP RELAY_HMAC parameters.

hmac: bytes = <BytesField hmac>#

HMAC value.

padding: bytes = <PaddingField padding>#

Padding.

Type Stubs#

class pcapkit.protocols.schema.internet.hip.PacketType[source]#

Bases: TypedDict

Packet type.

bit_0: Literal[0]#

Reversed bit.

type: int#

Packet type.

class pcapkit.protocols.schema.internet.hip.VersionType[source]#

Bases: TypedDict

Version type.

version: int#

Version.

bit_1: Literal[1]#

Reversed bit.

class pcapkit.protocols.schema.internet.hip.ControlsType[source]#

Bases: TypedDict

Controls type.

anonymous: bool#

Anonymous.

class pcapkit.protocols.schema.internet.hip.LocatorFlags[source]#

Bases: TypedDict

Locator flags.

preferred: bool#

Preferred flag.

class pcapkit.protocols.schema.internet.hip.DIData[source]#

Bases: TypedDict

DI type data.

type: DITypes#

DI type.

len: int#

DI length.

class pcapkit.protocols.schema.internet.hip.RouteFlags[source]#

Bases: TypedDict

Route destination flags.

symmetric: int#

Symmetric flag.

must_follow: int#

Must-follow flag.

Auxiliary Functions#

pcapkit.protocols.schema.internet.hip.locator_value_selector(pkt)[source]#

Selector function for Locator.value field.

Parameters:

pkt (dict[str, Any]) – Packet data.

Return type:

FieldBase

Returns:

pcapkit.protocols.schema.internet.hip.host_id_hi_selector(pkt)[source]#

Selector function for HostIDParameter.hi field.

Parameters:

pkt (dict[str, Any]) – Packet data.

Return type:

FieldBase

Returns:

Data Models#

class pcapkit.protocols.data.internet.hip.HIP(*args: VT, **kwargs: VT)[source]#

Bases: Protocol

Data model for HIP header.

next: TransType#

Next header.

length: int#

Header length.

type: Packet#

Packet type.

version: int#

Version.

chksum: bytes#

Checksum.

control: Control#

Control

shit: int#

Sender’s host identity tag.

rhit: int#

Receiver’s host identity tag.

parameters: OrderedMultiDict[Enum_Parameter, Parameter]#

HIP parameters.

class pcapkit.protocols.data.internet.hip.Control(*args: VT, **kwargs: VT)[source]#

Bases: Data

Data model for HIP controls.

anonymous: bool#

Anonymous flag.

class pcapkit.protocols.data.internet.hip.Parameter(dict_=None, **kwargs)[source]#

Bases: Data

Data model for HIP parameter data.

type: Enum_Parameter#

Parameter type.

critical: bool#

Critical flag.

length: int#

Content length.

class pcapkit.protocols.data.internet.hip.UnassignedParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for unassigned parameter.

contents: bytes#

Content.

class pcapkit.protocols.data.internet.hip.ESPInfoParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP ESP_INFO parameter.

index: int#

KEYMAT index.

old_spi: int#

Old SDI.

new_spi: int#

New SDI.

class pcapkit.protocols.data.internet.hip.R1CounterParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP R1_COUNTER parameter.

counter: int#

R1 counter.

class pcapkit.protocols.data.internet.hip.LocatorSetParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP LOCATOR_SET parameter.

locator_set: tuple[Locator, ...]#

Locator set.

class pcapkit.protocols.data.internet.hip.Locator(*args: VT, **kwargs: VT)[source]#

Bases: Data

Data model for HIP locator.

traffic: int#

Traffic.

type: int#

Locator type.

length: int#

Locator length.

preferred: bool#

Preferred flag.

lifetime: timedelta#

Locator lifetime.

locator: LocatorData | IPv6Address#

Locator data.

class pcapkit.protocols.data.internet.hip.LocatorData(*args: VT, **kwargs: VT)[source]#

Bases: Data

Data model for HIP locator data.

spi: int#

SPI.

ip: IPv6Address#

IP address.

class pcapkit.protocols.data.internet.hip.PuzzleParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP PUZZLE parameter.

index: int#

Numeric index.

lifetime: timedelta#

Lifetime.

opaque: bytes#

Puzzle data.

random: int#

Random number.

class pcapkit.protocols.data.internet.hip.SolutionParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP SOLUTION parameter.

index: int#

Numeric index.

lifetime: timedelta#

Lifetime.

opaque: bytes#

Solution data.

random: int#

Random number.

solution: int#

Puzzle solution.

class pcapkit.protocols.data.internet.hip.SEQParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP SEQ parameter.

id: int#

Unique ID.

class pcapkit.protocols.data.internet.hip.ACKParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP ACK parameter.

update_id: tuple[int, ...]#

Peer update IDs.

class pcapkit.protocols.data.internet.hip.DHGroupListParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP DH_GROUP_LIST parameter.

group_id: tuple[Group, ...]#

DH group list.

class pcapkit.protocols.data.internet.hip.DiffieHellmanParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP DIFFIE_HELLMAN parameter.

group_id: Group#

Group ID.

pub_len: int#

Public value length.

pub_val: int#

Public value.

class pcapkit.protocols.data.internet.hip.HIPTransformParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP HIP_TRANSFORM parameter.

suite_id: tuple[Suite, ...]#

Suite IDs.

class pcapkit.protocols.data.internet.hip.HIPCipherParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP HIP_CIPHER parameter.

cipher_id: tuple[Cipher, ...]#

Cipher IDs.

class pcapkit.protocols.data.internet.hip.NATTraversalModeParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP NAT_TRAVERSAL_MODE parameter.

mode_id: tuple[NATTraversal, ...]#

Mode IDs

class pcapkit.protocols.data.internet.hip.TransactionPacingParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP TRANSACTION_PACING parameter.

min_ta: int#

Min TA.

class pcapkit.protocols.data.internet.hip.EncryptedParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP ENCRYPTED parameter.

cipher: Cipher#

Cipher ID.

iv: Optional[bytes]#

Initialization vector.

data: bytes#

Encrypted data.

class pcapkit.protocols.data.internet.hip.HostIDParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP HOST_ID parameter.

hi_len: int#

Host identity length.

di_type: DITypes#

Domain identifier type.

di_len: int#

Domain identifier length.

algorithm: HIAlgorithm#

Algorithm type.

hi: HostIdentity | bytes#

Host identity.

di: bytes#

Domain identifier.

class pcapkit.protocols.data.internet.hip.HostIdentity(*args: VT, **kwargs: VT)[source]#

Bases: Data

Data model for host identity.

curve: ECDSACurve | ECDSALowCurve | EdDSACurve#

Curve type.

pubkey: bytes#

Public key.

class pcapkit.protocols.data.internet.hip.HITSuiteListParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP HIST_SUITE_LIST parameter.

suite_id: tuple[HITSuite, ...]#

Suite IDs.

class pcapkit.protocols.data.internet.hip.CertParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP CERT parameter.

cert_group: Group#

Certificate group.

cert_count: int#

Certificate count.

cert_id: int#

Certificate ID.

cert_type: Certificate#

Certificate type.

cert: bytes#

Certificate.

class pcapkit.protocols.data.internet.hip.NotificationParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP NOTIFICATION parameter.

msg_type: NotifyMessage#

Notify message type.

msg: bytes#

Notification data.

class pcapkit.protocols.data.internet.hip.EchoRequestSignedParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP ECHO_REQUEST_SIGNED parameter.

opaque: bytes#

Opaque data.

class pcapkit.protocols.data.internet.hip.RegInfoParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP REG_INFO parameter.

lifetime: Lifetime#

Registration lifetime.

reg_type: tuple[Registration, ...]#

Registration type.

class pcapkit.protocols.data.internet.hip.Lifetime(*args: VT, **kwargs: VT)[source]#

Bases: Data

Data model for registration lifetime.

min: timedelta#

Minimum lifetime.

max: timedelta#

Maximum lifetime.

class pcapkit.protocols.data.internet.hip.RegRequestParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP REG_REQUEST parameter.

lifetime: timedelta#

Registration lifetime.

reg_type: tuple[Registration, ...]#

Registration type.

class pcapkit.protocols.data.internet.hip.RegResponseParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP REG_RESPONSE parameter.

lifetime: timedelta#

Registration lifetime.

reg_type: tuple[Registration, ...]#

Registration type.

class pcapkit.protocols.data.internet.hip.RegFailedParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP REG_FAILED parameter.

lifetime: timedelta#

Registration lifetime.

reg_type: tuple[RegistrationFailure, ...]#

Registration failure type.

class pcapkit.protocols.data.internet.hip.RegFromParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP REG_FROM parameter.

port: int#

Port.

protocol: TransType#

Protocol.

address: IPv6Address#

Address.

class pcapkit.protocols.data.internet.hip.EchoResponseSignedParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP ECHO_RESPONSE_SIGNED parameter.

opaque: bytes#

Opaque data.

class pcapkit.protocols.data.internet.hip.TransportFormatListParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP TRANSPORT_FORMAT_LIST parameter.

tf_type: tuple[Enum_Parameter, ...]#

Transport format list.

class pcapkit.protocols.data.internet.hip.ESPTransformParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP ESP_TRANSFORM parameter.

suite_id: tuple[ESPTransformSuite, ...]#

ESP transform.

class pcapkit.protocols.data.internet.hip.SeqDataParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP SEQ_DATA parameter.

seq: int#

Sequence number.

class pcapkit.protocols.data.internet.hip.AckDataParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP ACK_DATA parameter.

ack: tuple[int, ...]#

Acknowledged sequence number.

class pcapkit.protocols.data.internet.hip.PayloadMICParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP PAYLOAD_MIC parameter.

next: TransType#

Next header

payload: bytes#

Payload data.

mic: bytes#

MIC value.

class pcapkit.protocols.data.internet.hip.TransactionIDParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP TRANSACTION_ID parameter.

id: int#

Identifier.

class pcapkit.protocols.data.internet.hip.OverlayIDParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data mode HIP OVERLAY_ID parameter.

id: int#

Identifier.

class pcapkit.protocols.data.internet.hip.RouteDstParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP ROUTE_DST parameter.

flags: Flags#

Flags.

hit: tuple[IPv6Address, ...]#

Destination address.

class pcapkit.protocols.data.internet.hip.Flags(*args: VT, **kwargs: VT)[source]#

Bases: Data

Data model for flags in HIP HIP_PARAMETER_FLAGS parameter.

symmetric: bool#

Symmetric flag.

must_follow: bool#

Must follow flag.

class pcapkit.protocols.data.internet.hip.HIPTransportModeParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP HIP_TRANSPORT_MODE parameter.

port: int#

Port.

mode_id: tuple[Transport, ...]#

Mode IDs.

class pcapkit.protocols.data.internet.hip.HIPMACParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP HIP_MAC parameter.

hmac: bytes#

HMAC value.

class pcapkit.protocols.data.internet.hip.HIPMAC2Parameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP HIP_MAC_2 parameter.

hmac: bytes#

HMAC value.

class pcapkit.protocols.data.internet.hip.HIPSignature2Parameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP HIP_SIGNATURE_2 parameter.

algorithm: HIAlgorithm#

Signature algorithm.

signature: bytes#

Signature value.

class pcapkit.protocols.data.internet.hip.HIPSignatureParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP HIP_SIGNATURE parameter.

algorithm: HIAlgorithm#

Signature algorithm.

signature: bytes#

Signature value.

class pcapkit.protocols.data.internet.hip.EchoRequestUnsignedParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP ECHO_REQUEST_UNSIGNED parameter.

opaque: bytes#

Opaque data.

class pcapkit.protocols.data.internet.hip.EchoResponseUnsignedParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP ECHO_RESPONSE_UNSIGNED parameter.

opaque: bytes#

Opaque data.

class pcapkit.protocols.data.internet.hip.RelayFromParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP RELAY_FROM parameter.

port: int#

Port.

protocol: TransType#

Protocol.

address: IPv6Address#

Address.

class pcapkit.protocols.data.internet.hip.RelayToParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP RELAY_TO parameter.

port: int#

Port.

protocol: TransType#

Protocol.

address: IPv6Address#

Address.

class pcapkit.protocols.data.internet.hip.OverlayTTLParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP OVERLAY_TTL parameter.

ttl: timedelta#

TTL value.

class pcapkit.protocols.data.internet.hip.RouteViaParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP ROUTE_VIA parameter.

flags: Flags#

Flags.

hit: tuple[IPv6Address, ...]#

HIT addresses.

class pcapkit.protocols.data.internet.hip.FromParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP FROM parameter.

address: IPv6Address#

HIT address.

class pcapkit.protocols.data.internet.hip.RVSHMACParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP RVS_HMAC parameter.

hmac: bytes#

HMAC value.

class pcapkit.protocols.data.internet.hip.ViaRVSParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP VIA_RVS parameter.

address: tuple[IPv6Address, ...]#

Addresses.

class pcapkit.protocols.data.internet.hip.RelayHMACParameter(*args: VT, **kwargs: VT)[source]#

Bases: Parameter

Data model for HIP RELAY_HMAC parameter.

hmac: bytes#

HMAC value.

Footnotes