Constant Enumerations¶
This module contains all constant enumerations of pcapkit, which are
automatically generated from the pcapkit.vendor module.
Unrecognised Values¶
Nearly every registry below departs from enum in one deliberate way, and it
is the behaviour to know about before using any of them: looking one up by a value
it does not define does not raise. Its _missing_ override returns a
member-like object for a value inside the registry’s valid range, named for the
unassigned or reserved band it falls in. Only a value outside that range, or of the
wrong type, raises ValueError.
In almost every registry that object is not installed: the registry does not grow, and a second lookup of the same value returns an equal but distinct object. A handful behave otherwise, and Minting an Unrecognised Value gives the full split:
CGATypeinstalls a permanent member, so__members__and iteration grow.Flagsand the four Mobility Header flag registries, such asBindingACKFlag, hand back toaenum’s flag base, which caches the composed object in the value lookup table only: a second lookup returns the same object, while__members__and iteration are unchanged.Transport,ExtensionHeader,TLSKeyLabeland the memberlessAppTypebase raiseValueErrorfor any unknown value.
That is what makes the enumerations usable against live capture data, where a
protocol number assigned after this release was generated is a routine
occurrence rather than an error. It also means an enumeration member is not a
closed set: an unassigned value resolves to a member that is, apart from
CGAType, absent from iteration and __members__, and whether a repeat
lookup returns the same object varies by registry, so compare such members by
value, not identity.
The common form of the override is generated – see pcapkit.vendor.default,
whose template emits it – while the valid range and the names of the unassigned
bands are per-registry, taken from that registry’s own IANA data. The individual
overrides are therefore not documented per class.
See also
Registry Management covers the other half of extending a registry: once a code exists, registering a parser class, schema or engine against it.
Protocol Numbers¶
Link Layer¶
Internet Layer¶
ESPConstant EnumerationsHIPConstant Enumerations- HIP Certificate Types
- Cipher IDs
- DI-Types
- ECDSA Curve Label
- ECDSA_LOW Curve Label
- EdDSA Curve Label
- ESP Transform Suite IDs
- Group IDs
- HI Algorithm
- HIT Suite ID
- HIP NAT Traversal Modes
- Notify Message Types
- HIP Packet Types
- HIP Parameter Types
- Registration Failure Types
- Registration Types
- Suite IDs
- HIP Transport Modes
IPv4Constant EnumerationsIPv6Constant EnumerationsIPXConstant EnumerationsMHConstant Enumerations- Access Technology Type Option Type Values
- Pseudo Home Address Acknowledgement Status Codes
- Access Network Information (ANI) Sub-Option Type Values
- Subtype Field of the MN-HA and MN-AAA Authentication Mobility Options
- Binding Acknowledgment Flags
- Binding Revocation Type
- Binding Update Flags
- IPv4 DHCP Support Mode Flags
- Status Codes (DNS Update Mobility Option)
- DSMIP6-TLS Packet Types Registry
- Dual Stack MIPv6 (DSMIPv6) IPv4 Home Address Option Status Codes
- Enumerating Algorithms
- Flow Binding Acknowledgement Status Codes
- Flow Binding Action Values
- Flow Binding Indication Triggers
- Flow Binding Type
- Flow Identification Mobility Option Status Codes
- Flow Identification Sub-Options
- Handoff Indicator Option Type Values
- Handover Acknowledge Flags
- Handover Acknowledge Status Codes
- Handover Initiate Flags
- Handover Initiate Status Codes
- IPv4 Home Address Reply Status Codes
- LMA-Controlled MAG Parameters Sub-Option Type Values
- Mobile Node Group Identifier Type Registry
- Mobile Node Identifier Option Subtypes
- Operator-Identifier Type Registry
- Mobility Options
- Mobility Header Types - for the MH Type field in the Mobility Header
- Quality-of-Service Attribute Registry
- Binding Revocation Acknowledgement Status Codes
- Revocation Trigger Values
- Status Codes
- Traffic Selector Format
- Update Notification Acknowledgement Status Registry
- Update Notification Reasons Registry
- Link-Layer Address (LLA) Option Code
- CGA Extension Type Tags
- CGA Extension Type Values
- CGA SEC
- Binding Error Status Code