Source code for pcapkit.const.mh.status_code

# -*- coding: utf-8 -*-
# pylint: disable=line-too-long,consider-using-f-string
"""Status Codes
==================

.. module:: pcapkit.const.mh.status_code

This module contains the constant enumeration for **Status Codes**,
which is automatically generated from :class:`pcapkit.vendor.mh.status_code.StatusCode`.

"""

from aenum import IntEnum, extend_enum

__all__ = ['StatusCode']


[docs] class StatusCode(IntEnum): """[StatusCode] Status Codes""" #: Binding Update accepted/Proxy Binding Update accepted #: [:rfc:`6275`][:rfc:`5213`] Binding_Update_accepted_Proxy_Binding_Update_accepted = 0 #: Accepted but prefix discovery necessary [:rfc:`6275`] Accepted_but_prefix_discovery_necessary = 1 #: GRE_KEY_OPTION_NOT_REQUIRED [:rfc:`5845`] GRE_KEY_OPTION_NOT_REQUIRED = 2 #: GRE_TUNNELING_BUT_TLV_HEADER_NOT_SUPPORTED [:rfc:`5845`] GRE_TUNNELING_BUT_TLV_HEADER_NOT_SUPPORTED = 3 #: MCOA NOTCOMPLETE [:rfc:`5648`] MCOA_NOTCOMPLETE = 4 #: MCOA RETURNHOME WO/NDP [:rfc:`5648`] MCOA_RETURNHOME_WO_NDP = 5 #: PBU_ACCEPTED_TB_IGNORED_SETTINGSMISMATCH [:rfc:`6058`] PBU_ACCEPTED_TB_IGNORED_SETTINGSMISMATCH = 6 #: Reason unspecified [:rfc:`6275`] Reason_unspecified = 128 #: Administratively prohibited [:rfc:`6275`] Administratively_prohibited = 129 #: Insufficient resources [:rfc:`6275`] Insufficient_resources = 130 #: Home registration not supported [:rfc:`6275`] Home_registration_not_supported = 131 #: Not home subnet [:rfc:`6275`] Not_home_subnet = 132 #: Not home agent for this mobile node [:rfc:`6275`] Not_home_agent_for_this_mobile_node = 133 #: Duplicate Address Detection failed [:rfc:`6275`] Duplicate_Address_Detection_failed = 134 #: Sequence number out of window [:rfc:`6275`] Sequence_number_out_of_window = 135 #: Expired home nonce index [:rfc:`6275`] Expired_home_nonce_index = 136 #: Expired care-of nonce index [:rfc:`6275`] Expired_care_of_nonce_index = 137 #: Expired nonces [:rfc:`6275`] Expired_nonces = 138 #: Registration type change disallowed [:rfc:`6275`] Registration_type_change_disallowed = 139 #: Mobile Router Operation not permitted [:rfc:`3963`] Mobile_Router_Operation_not_permitted = 140 #: Invalid Prefix [:rfc:`3963`] Invalid_Prefix = 141 #: Not Authorized for Prefix [:rfc:`3963`] Not_Authorized_for_Prefix = 142 #: Forwarding Setup failed [:rfc:`3963`] Forwarding_Setup_failed = 143 #: MIPV6-ID-MISMATCH [:rfc:`4285`] MIPV6_ID_MISMATCH = 144 #: MIPV6-MESG-ID-REQD [:rfc:`4285`] MIPV6_MESG_ID_REQD = 145 #: MIPV6-AUTH-FAIL [:rfc:`4285`] MIPV6_AUTH_FAIL = 146 #: Permanent home keygen token unavailable [:rfc:`4866`] Permanent_home_keygen_token_unavailable = 147 #: CGA and signature verification failed [:rfc:`4866`] CGA_and_signature_verification_failed = 148 #: Permanent home keygen token exists [:rfc:`4866`] Permanent_home_keygen_token_exists = 149 #: Non-null home nonce index expected [:rfc:`4866`] Non_null_home_nonce_index_expected = 150 #: SERVICE_AUTHORIZATION_FAILED [:rfc:`5149`] SERVICE_AUTHORIZATION_FAILED = 151 #: PROXY_REG_NOT_ENABLED [:rfc:`5213`] PROXY_REG_NOT_ENABLED = 152 #: NOT_LMA_FOR_THIS_MOBILE_NODE [:rfc:`5213`] NOT_LMA_FOR_THIS_MOBILE_NODE = 153 #: MAG_NOT_AUTHORIZED_FOR_PROXY_REG [:rfc:`5213`] MAG_NOT_AUTHORIZED_FOR_PROXY_REG = 154 #: NOT_AUTHORIZED_FOR_HOME_NETWORK_PREFIX [:rfc:`5213`] NOT_AUTHORIZED_FOR_HOME_NETWORK_PREFIX = 155 #: TIMESTAMP_MISMATCH [:rfc:`5213`] TIMESTAMP_MISMATCH = 156 #: TIMESTAMP_LOWER_THAN_PREV_ACCEPTED [:rfc:`5213`] TIMESTAMP_LOWER_THAN_PREV_ACCEPTED = 157 #: MISSING_HOME_NETWORK_PREFIX_OPTION [:rfc:`5213`] MISSING_HOME_NETWORK_PREFIX_OPTION = 158 #: BCE_PBU_PREFIX_SET_DO_NOT_MATCH [:rfc:`5213`] BCE_PBU_PREFIX_SET_DO_NOT_MATCH = 159 #: MISSING_MN_IDENTIFIER_OPTION [:rfc:`5213`] MISSING_MN_IDENTIFIER_OPTION = 160 #: MISSING_HANDOFF_INDICATOR_OPTION [:rfc:`5213`] MISSING_HANDOFF_INDICATOR_OPTION = 161 #: MISSING_ACCESS_TECH_TYPE_OPTION [:rfc:`5213`] MISSING_ACCESS_TECH_TYPE_OPTION = 162 #: GRE_KEY_OPTION_REQUIRED [:rfc:`5845`] GRE_KEY_OPTION_REQUIRED = 163 #: MCOA MALFORMED [:rfc:`5648`] MCOA_MALFORMED = 164 #: MCOA NON-MCOA BINDING EXISTS [:rfc:`5648`] MCOA_NON_MCOA_BINDING_EXISTS = 165 #: MCOA PROHIBITED [:rfc:`5648`] MCOA_PROHIBITED = 166 #: MCOA UNKNOWN COA [:rfc:`5648`] MCOA_UNKNOWN_COA = 167 #: MCOA BULK REGISTRATION PROHIBITED [:rfc:`5648`] MCOA_BULK_REGISTRATION_PROHIBITED = 168 #: MCOA SIMULTANEOUS HOME AND FOREIGN PROHIBITED [:rfc:`5648`] MCOA_SIMULTANEOUS_HOME_AND_FOREIGN_PROHIBITED = 169 #: NOT_AUTHORIZED_FOR_IPV4_MOBILITY_SERVICE [:rfc:`5844`] NOT_AUTHORIZED_FOR_IPV4_MOBILITY_SERVICE = 170 #: NOT_AUTHORIZED_FOR_IPV4_HOME_ADDRESS [:rfc:`5844`] NOT_AUTHORIZED_FOR_IPV4_HOME_ADDRESS = 171 #: NOT_AUTHORIZED_FOR_IPV6_MOBILITY_SERVICE [:rfc:`5844`] NOT_AUTHORIZED_FOR_IPV6_MOBILITY_SERVICE = 172 #: MULTIPLE_IPV4_HOME_ADDRESS_ASSIGNMENT_NOT_SUPPORTED [:rfc:`5844`] MULTIPLE_IPV4_HOME_ADDRESS_ASSIGNMENT_NOT_SUPPORTED = 173 #: Invalid Care-of Address [:rfc:`6275`] Invalid_Care_of_Address = 174 #: INVALID_MOBILE_NODE_GROUP_IDENTIFIER [:rfc:`6602`] INVALID_MOBILE_NODE_GROUP_IDENTIFIER = 175 #: REINIT_SA_WITH_HAC [:rfc:`6618`] REINIT_SA_WITH_HAC = 176 #: NOT_AUTHORIZED_FOR_DELEGATED_MNP [:rfc:`7148`] NOT_AUTHORIZED_FOR_DELEGATED_MNP = 177 #: REQUESTED_DMNP_IN_USE [:rfc:`7148`] REQUESTED_DMNP_IN_USE = 178 #: CANNOT_MEET_QOS_SERVICE_REQUEST [:rfc:`7222`] CANNOT_MEET_QOS_SERVICE_REQUEST = 179 #: CANNOT_SUPPORT_MULTIPATH_BINDING [:rfc:`8278`] CANNOT_SUPPORT_MULTIPATH_BINDING = 180 @staticmethod def get(key: 'int | str', default: 'int' = -1) -> 'StatusCode': """Backport support for original codes. Args: key: Key to get enum item. default: Default value if not found. :meta private: """ if isinstance(key, int): return StatusCode(key) if key not in StatusCode._member_map_: # pylint: disable=no-member return extend_enum(StatusCode, key, default) return StatusCode[key] # type: ignore[misc]
[docs] @classmethod def _missing_(cls, value: 'int') -> 'StatusCode': """Lookup function used when value is not found. Args: value: Value to get enum item. """ if not (isinstance(value, int) and 0 <= value <= 255): raise ValueError('%r is not a valid %s' % (value, cls.__name__)) if 7 <= value <= 127: #: Unassigned return extend_enum(cls, 'Unassigned_%d' % value, value) #: Unspecified in the IANA registry return extend_enum(cls, 'Unassigned_%d' % value, value)