Source code for pcapkit.const.ipv4.router_alert
# -*- coding: utf-8 -*-
# pylint: disable=line-too-long
"""IPv4 Router Alert Option Values"""
from aenum import IntEnum, extend_enum
__all__ = ['RouterAlert']
[docs]class RouterAlert(IntEnum):
"""[RouterAlert] IPv4 Router Alert Option Values"""
_ignore_ = 'RouterAlert _'
RouterAlert = vars()
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_0'] = 1
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_1'] = 2
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_2'] = 3
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_3'] = 4
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_4'] = 5
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_5'] = 6
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_6'] = 7
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_7'] = 8
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_8'] = 9
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_9'] = 10
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_10'] = 11
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_11'] = 12
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_12'] = 13
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_13'] = 14
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_14'] = 15
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_15'] = 16
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_16'] = 17
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_17'] = 18
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_18'] = 19
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_19'] = 20
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_20'] = 21
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_21'] = 22
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_22'] = 23
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_23'] = 24
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_24'] = 25
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_25'] = 26
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_26'] = 27
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_27'] = 28
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_28'] = 29
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_29'] = 30
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_30'] = 31
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_31'] = 32
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_0'] = 33
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_1'] = 34
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_2'] = 35
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_3'] = 36
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_4'] = 37
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_5'] = 38
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_6'] = 39
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_7'] = 40
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_8'] = 41
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_9'] = 42
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_10'] = 43
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_11'] = 44
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_12'] = 45
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_13'] = 46
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_14'] = 47
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_15'] = 48
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_16'] = 49
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_17'] = 50
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_18'] = 51
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_19'] = 52
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_20'] = 53
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_21'] = 54
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_22'] = 55
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_23'] = 56
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_24'] = 57
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_25'] = 58
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_26'] = 59
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_27'] = 60
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_28'] = 61
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_29'] = 62
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_30'] = 63
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_31'] = 64
#: [:rfc:`5973`]
RouterAlert['NSIS_NATFW_NSLP'] = 65
#: [:rfc:`5350`]
RouterAlert['Reserved'] = 65535
[docs] @staticmethod
def get(key, default=-1):
"""Backport support for original codes."""
if isinstance(key, int):
return RouterAlert(key)
if key not in RouterAlert._member_map_: # pylint: disable=no-member
extend_enum(RouterAlert, key, default)
return RouterAlert[key]
[docs] @classmethod
def _missing_(cls, value):
"""Lookup function used when value is not found."""
if not (isinstance(value, int) and 0 <= value <= 65535):
raise ValueError('%r is not a valid %s' % (value, cls.__name__))
if 66 <= value <= 65502:
extend_enum(cls, 'Unassigned [%d]' % value, value)
return cls(value)
if 65503 <= value <= 65534:
#: [:rfc:`5350`]
extend_enum(cls, 'Reserved for experimental use [%d]' % value, value)
return cls(value)
return super()._missing_(value)