Source code for pcapkit.const.ipv6.router_alert
# -*- coding: utf-8 -*-
# pylint: disable=line-too-long
"""IPv6 Router Alert Option Values"""
from aenum import IntEnum, extend_enum
__all__ = ['RouterAlert']
[docs]class RouterAlert(IntEnum):
"""[RouterAlert] IPv6 Router Alert Option Values"""
_ignore_ = 'RouterAlert _'
RouterAlert = vars()
#: [:rfc:`2710`]
RouterAlert['Datagram_Contains_A_Multicast_Listener_Discovery_Message'] = 0
#: [:rfc:`2711`]
RouterAlert['Datagram_Contains_RSVP_Message'] = 1
#: [:rfc:`2711`]
RouterAlert['Datagram_Contains_An_Active_Networks_Message'] = 2
#: [:rfc:`5350`]
RouterAlert['Reserved_3'] = 3
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_0'] = 4
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_1'] = 5
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_2'] = 6
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_3'] = 7
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_4'] = 8
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_5'] = 9
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_6'] = 10
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_7'] = 11
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_8'] = 12
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_9'] = 13
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_10'] = 14
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_11'] = 15
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_12'] = 16
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_13'] = 17
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_14'] = 18
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_15'] = 19
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_16'] = 20
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_17'] = 21
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_18'] = 22
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_19'] = 23
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_20'] = 24
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_21'] = 25
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_22'] = 26
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_23'] = 27
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_24'] = 28
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_25'] = 29
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_26'] = 30
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_27'] = 31
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_28'] = 32
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_29'] = 33
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_30'] = 34
#: [:rfc:`3175`]
RouterAlert['Aggregated_Reservation_Nesting_Level_31'] = 35
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_0'] = 36
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_1'] = 37
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_2'] = 38
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_3'] = 39
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_4'] = 40
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_5'] = 41
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_6'] = 42
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_7'] = 43
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_8'] = 44
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_9'] = 45
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_10'] = 46
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_11'] = 47
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_12'] = 48
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_13'] = 49
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_14'] = 50
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_15'] = 51
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_16'] = 52
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_17'] = 53
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_18'] = 54
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_19'] = 55
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_20'] = 56
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_21'] = 57
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_22'] = 58
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_23'] = 59
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_24'] = 60
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_25'] = 61
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_26'] = 62
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_27'] = 63
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_28'] = 64
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_29'] = 65
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_30'] = 66
#: [:rfc:`5974`]
RouterAlert['QoS_NSLP_Aggregation_Level_31'] = 67
#: [:rfc:`5973`]
RouterAlert['NSIS_NATFW_NSLP'] = 68
#: [:rfc:`7506`]
RouterAlert['MPLS_OAM'] = 69
#: [The Internet Assigned Numbers Authority]
RouterAlert['Reserved_65535'] = 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 70 <= 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)