2017-06-16 16:01:44 -04:00
|
|
|
# Rack types
|
|
|
|
RACK_TYPE_2POST = 100
|
|
|
|
RACK_TYPE_4POST = 200
|
|
|
|
RACK_TYPE_CABINET = 300
|
|
|
|
RACK_TYPE_WALLFRAME = 1000
|
|
|
|
RACK_TYPE_WALLCABINET = 1100
|
|
|
|
RACK_TYPE_CHOICES = (
|
|
|
|
(RACK_TYPE_2POST, '2-post frame'),
|
|
|
|
(RACK_TYPE_4POST, '4-post frame'),
|
|
|
|
(RACK_TYPE_CABINET, '4-post cabinet'),
|
|
|
|
(RACK_TYPE_WALLFRAME, 'Wall-mounted frame'),
|
|
|
|
(RACK_TYPE_WALLCABINET, 'Wall-mounted cabinet'),
|
|
|
|
)
|
|
|
|
|
|
|
|
# Rack widths
|
|
|
|
RACK_WIDTH_19IN = 19
|
|
|
|
RACK_WIDTH_23IN = 23
|
|
|
|
RACK_WIDTH_CHOICES = (
|
|
|
|
(RACK_WIDTH_19IN, '19 inches'),
|
|
|
|
(RACK_WIDTH_23IN, '23 inches'),
|
|
|
|
)
|
|
|
|
|
|
|
|
# Rack faces
|
|
|
|
RACK_FACE_FRONT = 0
|
|
|
|
RACK_FACE_REAR = 1
|
|
|
|
RACK_FACE_CHOICES = [
|
|
|
|
[RACK_FACE_FRONT, 'Front'],
|
|
|
|
[RACK_FACE_REAR, 'Rear'],
|
|
|
|
]
|
|
|
|
|
2018-11-01 16:03:42 -04:00
|
|
|
# Rack statuses
|
|
|
|
RACK_STATUS_RESERVED = 0
|
|
|
|
RACK_STATUS_AVAILABLE = 1
|
|
|
|
RACK_STATUS_PLANNED = 2
|
|
|
|
RACK_STATUS_ACTIVE = 3
|
|
|
|
RACK_STATUS_DEPRECATED = 4
|
|
|
|
RACK_STATUS_CHOICES = [
|
|
|
|
[RACK_STATUS_ACTIVE, 'Active'],
|
|
|
|
[RACK_STATUS_PLANNED, 'Planned'],
|
|
|
|
[RACK_STATUS_RESERVED, 'Reserved'],
|
|
|
|
[RACK_STATUS_AVAILABLE, 'Available'],
|
|
|
|
[RACK_STATUS_DEPRECATED, 'Deprecated'],
|
|
|
|
]
|
|
|
|
|
2019-02-21 10:26:31 -05:00
|
|
|
# Device rack position
|
|
|
|
DEVICE_POSITION_CHOICES = [
|
|
|
|
# Rack.u_height is limited to 100
|
|
|
|
(i, 'Unit {}'.format(i)) for i in range(1, 101)
|
|
|
|
]
|
|
|
|
|
2017-06-16 16:01:44 -04:00
|
|
|
# Parent/child device roles
|
|
|
|
SUBDEVICE_ROLE_PARENT = True
|
|
|
|
SUBDEVICE_ROLE_CHILD = False
|
|
|
|
SUBDEVICE_ROLE_CHOICES = (
|
|
|
|
(None, 'None'),
|
|
|
|
(SUBDEVICE_ROLE_PARENT, 'Parent'),
|
|
|
|
(SUBDEVICE_ROLE_CHILD, 'Child'),
|
|
|
|
)
|
|
|
|
|
2019-10-10 23:24:44 -04:00
|
|
|
#
|
|
|
|
# Numeric interface types
|
|
|
|
#
|
|
|
|
|
2017-06-16 16:01:44 -04:00
|
|
|
# Virtual
|
2019-04-12 13:42:56 -04:00
|
|
|
IFACE_TYPE_VIRTUAL = 0
|
|
|
|
IFACE_TYPE_LAG = 200
|
2017-06-16 16:01:44 -04:00
|
|
|
# Ethernet
|
2019-04-12 13:42:56 -04:00
|
|
|
IFACE_TYPE_100ME_FIXED = 800
|
|
|
|
IFACE_TYPE_1GE_FIXED = 1000
|
|
|
|
IFACE_TYPE_1GE_GBIC = 1050
|
|
|
|
IFACE_TYPE_1GE_SFP = 1100
|
2019-05-31 21:37:41 -04:00
|
|
|
IFACE_TYPE_2GE_FIXED = 1120
|
|
|
|
IFACE_TYPE_5GE_FIXED = 1130
|
2019-04-12 13:42:56 -04:00
|
|
|
IFACE_TYPE_10GE_FIXED = 1150
|
|
|
|
IFACE_TYPE_10GE_CX4 = 1170
|
|
|
|
IFACE_TYPE_10GE_SFP_PLUS = 1200
|
|
|
|
IFACE_TYPE_10GE_XFP = 1300
|
|
|
|
IFACE_TYPE_10GE_XENPAK = 1310
|
|
|
|
IFACE_TYPE_10GE_X2 = 1320
|
|
|
|
IFACE_TYPE_25GE_SFP28 = 1350
|
|
|
|
IFACE_TYPE_40GE_QSFP_PLUS = 1400
|
|
|
|
IFACE_TYPE_50GE_QSFP28 = 1420
|
|
|
|
IFACE_TYPE_100GE_CFP = 1500
|
|
|
|
IFACE_TYPE_100GE_CFP2 = 1510
|
|
|
|
IFACE_TYPE_100GE_CFP4 = 1520
|
|
|
|
IFACE_TYPE_100GE_CPAK = 1550
|
|
|
|
IFACE_TYPE_100GE_QSFP28 = 1600
|
|
|
|
IFACE_TYPE_200GE_CFP2 = 1650
|
|
|
|
IFACE_TYPE_200GE_QSFP56 = 1700
|
|
|
|
IFACE_TYPE_400GE_QSFP_DD = 1750
|
2017-06-16 17:52:09 -04:00
|
|
|
# Wireless
|
2019-04-12 13:42:56 -04:00
|
|
|
IFACE_TYPE_80211A = 2600
|
|
|
|
IFACE_TYPE_80211G = 2610
|
|
|
|
IFACE_TYPE_80211N = 2620
|
|
|
|
IFACE_TYPE_80211AC = 2630
|
|
|
|
IFACE_TYPE_80211AD = 2640
|
2019-02-13 10:45:42 -05:00
|
|
|
# Cellular
|
2019-04-12 13:42:56 -04:00
|
|
|
IFACE_TYPE_GSM = 2810
|
|
|
|
IFACE_TYPE_CDMA = 2820
|
|
|
|
IFACE_TYPE_LTE = 2830
|
2018-11-30 09:28:56 -05:00
|
|
|
# SONET
|
2019-04-12 13:42:56 -04:00
|
|
|
IFACE_TYPE_SONET_OC3 = 6100
|
|
|
|
IFACE_TYPE_SONET_OC12 = 6200
|
|
|
|
IFACE_TYPE_SONET_OC48 = 6300
|
|
|
|
IFACE_TYPE_SONET_OC192 = 6400
|
|
|
|
IFACE_TYPE_SONET_OC768 = 6500
|
|
|
|
IFACE_TYPE_SONET_OC1920 = 6600
|
|
|
|
IFACE_TYPE_SONET_OC3840 = 6700
|
2017-06-16 16:01:44 -04:00
|
|
|
# Fibrechannel
|
2019-04-12 13:42:56 -04:00
|
|
|
IFACE_TYPE_1GFC_SFP = 3010
|
|
|
|
IFACE_TYPE_2GFC_SFP = 3020
|
|
|
|
IFACE_TYPE_4GFC_SFP = 3040
|
|
|
|
IFACE_TYPE_8GFC_SFP_PLUS = 3080
|
|
|
|
IFACE_TYPE_16GFC_SFP_PLUS = 3160
|
|
|
|
IFACE_TYPE_32GFC_SFP28 = 3320
|
|
|
|
IFACE_TYPE_128GFC_QSFP28 = 3400
|
2019-02-03 12:05:09 +00:00
|
|
|
# InfiniBand
|
2019-10-10 23:24:44 -04:00
|
|
|
IFACE_TYPE_INFINIBAND_SDR = 7010
|
|
|
|
IFACE_TYPE_INFINIBAND_DDR = 7020
|
|
|
|
IFACE_TYPE_INFINIBAND_QDR = 7030
|
|
|
|
IFACE_TYPE_INFINIBAND_FDR10 = 7040
|
|
|
|
IFACE_TYPE_INFINIBAND_FDR = 7050
|
|
|
|
IFACE_TYPE_INFINIBAND_EDR = 7060
|
|
|
|
IFACE_TYPE_INFINIBAND_HDR = 7070
|
|
|
|
IFACE_TYPE_INFINIBAND_NDR = 7080
|
|
|
|
IFACE_TYPE_INFINIBAND_XDR = 7090
|
2017-06-16 16:01:44 -04:00
|
|
|
# Serial
|
2019-04-12 13:42:56 -04:00
|
|
|
IFACE_TYPE_T1 = 4000
|
|
|
|
IFACE_TYPE_E1 = 4010
|
|
|
|
IFACE_TYPE_T3 = 4040
|
|
|
|
IFACE_TYPE_E3 = 4050
|
2017-06-16 16:01:44 -04:00
|
|
|
# Stacking
|
2019-04-12 13:42:56 -04:00
|
|
|
IFACE_TYPE_STACKWISE = 5000
|
|
|
|
IFACE_TYPE_STACKWISE_PLUS = 5050
|
|
|
|
IFACE_TYPE_FLEXSTACK = 5100
|
|
|
|
IFACE_TYPE_FLEXSTACK_PLUS = 5150
|
|
|
|
IFACE_TYPE_JUNIPER_VCP = 5200
|
|
|
|
IFACE_TYPE_SUMMITSTACK = 5300
|
|
|
|
IFACE_TYPE_SUMMITSTACK128 = 5310
|
|
|
|
IFACE_TYPE_SUMMITSTACK256 = 5320
|
|
|
|
IFACE_TYPE_SUMMITSTACK512 = 5330
|
2018-08-22 11:33:43 -04:00
|
|
|
|
2017-06-16 16:01:44 -04:00
|
|
|
# Other
|
2019-04-12 13:42:56 -04:00
|
|
|
IFACE_TYPE_OTHER = 32767
|
2017-06-16 16:01:44 -04:00
|
|
|
|
2019-04-12 13:42:56 -04:00
|
|
|
IFACE_TYPE_CHOICES = [
|
2017-06-16 16:01:44 -04:00
|
|
|
[
|
|
|
|
'Virtual interfaces',
|
2017-10-09 14:27:31 -04:00
|
|
|
[
|
2019-04-12 13:42:56 -04:00
|
|
|
[IFACE_TYPE_VIRTUAL, 'Virtual'],
|
|
|
|
[IFACE_TYPE_LAG, 'Link Aggregation Group (LAG)'],
|
2017-10-09 14:27:31 -04:00
|
|
|
],
|
2017-06-16 16:01:44 -04:00
|
|
|
],
|
|
|
|
[
|
|
|
|
'Ethernet (fixed)',
|
|
|
|
[
|
2019-04-12 13:42:56 -04:00
|
|
|
[IFACE_TYPE_100ME_FIXED, '100BASE-TX (10/100ME)'],
|
|
|
|
[IFACE_TYPE_1GE_FIXED, '1000BASE-T (1GE)'],
|
2019-05-31 21:37:41 -04:00
|
|
|
[IFACE_TYPE_2GE_FIXED, '2.5GBASE-T (2.5GE)'],
|
|
|
|
[IFACE_TYPE_5GE_FIXED, '5GBASE-T (5GE)'],
|
2019-04-12 13:42:56 -04:00
|
|
|
[IFACE_TYPE_10GE_FIXED, '10GBASE-T (10GE)'],
|
|
|
|
[IFACE_TYPE_10GE_CX4, '10GBASE-CX4 (10GE)'],
|
2017-06-16 16:01:44 -04:00
|
|
|
]
|
|
|
|
],
|
|
|
|
[
|
|
|
|
'Ethernet (modular)',
|
|
|
|
[
|
2019-04-12 13:42:56 -04:00
|
|
|
[IFACE_TYPE_1GE_GBIC, 'GBIC (1GE)'],
|
|
|
|
[IFACE_TYPE_1GE_SFP, 'SFP (1GE)'],
|
|
|
|
[IFACE_TYPE_10GE_SFP_PLUS, 'SFP+ (10GE)'],
|
|
|
|
[IFACE_TYPE_10GE_XFP, 'XFP (10GE)'],
|
|
|
|
[IFACE_TYPE_10GE_XENPAK, 'XENPAK (10GE)'],
|
|
|
|
[IFACE_TYPE_10GE_X2, 'X2 (10GE)'],
|
|
|
|
[IFACE_TYPE_25GE_SFP28, 'SFP28 (25GE)'],
|
|
|
|
[IFACE_TYPE_40GE_QSFP_PLUS, 'QSFP+ (40GE)'],
|
|
|
|
[IFACE_TYPE_50GE_QSFP28, 'QSFP28 (50GE)'],
|
|
|
|
[IFACE_TYPE_100GE_CFP, 'CFP (100GE)'],
|
|
|
|
[IFACE_TYPE_100GE_CFP2, 'CFP2 (100GE)'],
|
|
|
|
[IFACE_TYPE_200GE_CFP2, 'CFP2 (200GE)'],
|
|
|
|
[IFACE_TYPE_100GE_CFP4, 'CFP4 (100GE)'],
|
|
|
|
[IFACE_TYPE_100GE_CPAK, 'Cisco CPAK (100GE)'],
|
|
|
|
[IFACE_TYPE_100GE_QSFP28, 'QSFP28 (100GE)'],
|
|
|
|
[IFACE_TYPE_200GE_QSFP56, 'QSFP56 (200GE)'],
|
|
|
|
[IFACE_TYPE_400GE_QSFP_DD, 'QSFP-DD (400GE)'],
|
2017-06-16 16:01:44 -04:00
|
|
|
]
|
|
|
|
],
|
2017-06-16 17:52:09 -04:00
|
|
|
[
|
|
|
|
'Wireless',
|
|
|
|
[
|
2019-04-12 13:42:56 -04:00
|
|
|
[IFACE_TYPE_80211A, 'IEEE 802.11a'],
|
|
|
|
[IFACE_TYPE_80211G, 'IEEE 802.11b/g'],
|
|
|
|
[IFACE_TYPE_80211N, 'IEEE 802.11n'],
|
|
|
|
[IFACE_TYPE_80211AC, 'IEEE 802.11ac'],
|
|
|
|
[IFACE_TYPE_80211AD, 'IEEE 802.11ad'],
|
2017-06-16 17:52:09 -04:00
|
|
|
]
|
|
|
|
],
|
2019-02-13 10:45:42 -05:00
|
|
|
[
|
|
|
|
'Cellular',
|
|
|
|
[
|
2019-04-12 13:42:56 -04:00
|
|
|
[IFACE_TYPE_GSM, 'GSM'],
|
|
|
|
[IFACE_TYPE_CDMA, 'CDMA'],
|
|
|
|
[IFACE_TYPE_LTE, 'LTE'],
|
2019-02-13 10:45:42 -05:00
|
|
|
]
|
|
|
|
],
|
2018-11-30 09:28:56 -05:00
|
|
|
[
|
|
|
|
'SONET',
|
|
|
|
[
|
2019-04-12 13:42:56 -04:00
|
|
|
[IFACE_TYPE_SONET_OC3, 'OC-3/STM-1'],
|
|
|
|
[IFACE_TYPE_SONET_OC12, 'OC-12/STM-4'],
|
|
|
|
[IFACE_TYPE_SONET_OC48, 'OC-48/STM-16'],
|
|
|
|
[IFACE_TYPE_SONET_OC192, 'OC-192/STM-64'],
|
|
|
|
[IFACE_TYPE_SONET_OC768, 'OC-768/STM-256'],
|
|
|
|
[IFACE_TYPE_SONET_OC1920, 'OC-1920/STM-640'],
|
|
|
|
[IFACE_TYPE_SONET_OC3840, 'OC-3840/STM-1234'],
|
2018-11-30 09:28:56 -05:00
|
|
|
]
|
|
|
|
],
|
2017-06-16 16:01:44 -04:00
|
|
|
[
|
|
|
|
'FibreChannel',
|
|
|
|
[
|
2019-04-12 13:42:56 -04:00
|
|
|
[IFACE_TYPE_1GFC_SFP, 'SFP (1GFC)'],
|
|
|
|
[IFACE_TYPE_2GFC_SFP, 'SFP (2GFC)'],
|
|
|
|
[IFACE_TYPE_4GFC_SFP, 'SFP (4GFC)'],
|
|
|
|
[IFACE_TYPE_8GFC_SFP_PLUS, 'SFP+ (8GFC)'],
|
|
|
|
[IFACE_TYPE_16GFC_SFP_PLUS, 'SFP+ (16GFC)'],
|
|
|
|
[IFACE_TYPE_32GFC_SFP28, 'SFP28 (32GFC)'],
|
|
|
|
[IFACE_TYPE_128GFC_QSFP28, 'QSFP28 (128GFC)'],
|
2017-06-16 16:01:44 -04:00
|
|
|
]
|
|
|
|
],
|
2019-02-03 12:05:09 +00:00
|
|
|
[
|
|
|
|
'InfiniBand',
|
|
|
|
[
|
2019-10-10 23:24:44 -04:00
|
|
|
[IFACE_TYPE_INFINIBAND_SDR, 'SDR (2 Gbps)'],
|
|
|
|
[IFACE_TYPE_INFINIBAND_DDR, 'DDR (4 Gbps)'],
|
|
|
|
[IFACE_TYPE_INFINIBAND_QDR, 'QDR (8 Gbps)'],
|
|
|
|
[IFACE_TYPE_INFINIBAND_FDR10, 'FDR10 (10 Gbps)'],
|
|
|
|
[IFACE_TYPE_INFINIBAND_FDR, 'FDR (13.5 Gbps)'],
|
|
|
|
[IFACE_TYPE_INFINIBAND_EDR, 'EDR (25 Gbps)'],
|
|
|
|
[IFACE_TYPE_INFINIBAND_HDR, 'HDR (50 Gbps)'],
|
|
|
|
[IFACE_TYPE_INFINIBAND_NDR, 'NDR (100 Gbps)'],
|
|
|
|
[IFACE_TYPE_INFINIBAND_XDR, 'XDR (250 Gbps)'],
|
2019-02-03 12:05:09 +00:00
|
|
|
]
|
|
|
|
],
|
2017-06-16 16:01:44 -04:00
|
|
|
[
|
|
|
|
'Serial',
|
|
|
|
[
|
2019-04-12 13:42:56 -04:00
|
|
|
[IFACE_TYPE_T1, 'T1 (1.544 Mbps)'],
|
|
|
|
[IFACE_TYPE_E1, 'E1 (2.048 Mbps)'],
|
|
|
|
[IFACE_TYPE_T3, 'T3 (45 Mbps)'],
|
|
|
|
[IFACE_TYPE_E3, 'E3 (34 Mbps)'],
|
2017-06-16 16:01:44 -04:00
|
|
|
]
|
|
|
|
],
|
|
|
|
[
|
|
|
|
'Stacking',
|
|
|
|
[
|
2019-04-12 13:42:56 -04:00
|
|
|
[IFACE_TYPE_STACKWISE, 'Cisco StackWise'],
|
|
|
|
[IFACE_TYPE_STACKWISE_PLUS, 'Cisco StackWise Plus'],
|
|
|
|
[IFACE_TYPE_FLEXSTACK, 'Cisco FlexStack'],
|
|
|
|
[IFACE_TYPE_FLEXSTACK_PLUS, 'Cisco FlexStack Plus'],
|
|
|
|
[IFACE_TYPE_JUNIPER_VCP, 'Juniper VCP'],
|
|
|
|
[IFACE_TYPE_SUMMITSTACK, 'Extreme SummitStack'],
|
|
|
|
[IFACE_TYPE_SUMMITSTACK128, 'Extreme SummitStack-128'],
|
|
|
|
[IFACE_TYPE_SUMMITSTACK256, 'Extreme SummitStack-256'],
|
|
|
|
[IFACE_TYPE_SUMMITSTACK512, 'Extreme SummitStack-512'],
|
2017-06-16 16:01:44 -04:00
|
|
|
]
|
|
|
|
],
|
|
|
|
[
|
|
|
|
'Other',
|
|
|
|
[
|
2019-04-12 13:42:56 -04:00
|
|
|
[IFACE_TYPE_OTHER, 'Other'],
|
2017-06-16 16:01:44 -04:00
|
|
|
]
|
|
|
|
],
|
|
|
|
]
|
|
|
|
|
|
|
|
VIRTUAL_IFACE_TYPES = [
|
2019-04-12 13:42:56 -04:00
|
|
|
IFACE_TYPE_VIRTUAL,
|
|
|
|
IFACE_TYPE_LAG,
|
2017-06-16 16:01:44 -04:00
|
|
|
]
|
|
|
|
|
2017-06-16 17:52:09 -04:00
|
|
|
WIRELESS_IFACE_TYPES = [
|
2019-04-12 13:42:56 -04:00
|
|
|
IFACE_TYPE_80211A,
|
|
|
|
IFACE_TYPE_80211G,
|
|
|
|
IFACE_TYPE_80211N,
|
|
|
|
IFACE_TYPE_80211AC,
|
|
|
|
IFACE_TYPE_80211AD,
|
2017-06-16 17:52:09 -04:00
|
|
|
]
|
|
|
|
|
|
|
|
NONCONNECTABLE_IFACE_TYPES = VIRTUAL_IFACE_TYPES + WIRELESS_IFACE_TYPES
|
|
|
|
|
2017-11-14 15:22:40 -05:00
|
|
|
IFACE_MODE_ACCESS = 100
|
|
|
|
IFACE_MODE_TAGGED = 200
|
|
|
|
IFACE_MODE_TAGGED_ALL = 300
|
|
|
|
IFACE_MODE_CHOICES = [
|
|
|
|
[IFACE_MODE_ACCESS, 'Access'],
|
|
|
|
[IFACE_MODE_TAGGED, 'Tagged'],
|
|
|
|
[IFACE_MODE_TAGGED_ALL, 'Tagged All'],
|
|
|
|
]
|
|
|
|
|
2018-10-25 12:08:13 -04:00
|
|
|
# Pass-through port types
|
|
|
|
PORT_TYPE_8P8C = 1000
|
2019-02-08 09:57:04 -05:00
|
|
|
PORT_TYPE_110_PUNCH = 1100
|
2019-08-01 10:33:29 -04:00
|
|
|
PORT_TYPE_BNC = 1200
|
2018-10-25 12:08:13 -04:00
|
|
|
PORT_TYPE_ST = 2000
|
2018-11-08 10:49:26 -05:00
|
|
|
PORT_TYPE_SC = 2100
|
2019-02-14 10:17:25 +01:00
|
|
|
PORT_TYPE_SC_APC = 2110
|
2018-10-25 12:08:13 -04:00
|
|
|
PORT_TYPE_FC = 2200
|
|
|
|
PORT_TYPE_LC = 2300
|
2019-02-14 10:17:25 +01:00
|
|
|
PORT_TYPE_LC_APC = 2310
|
2018-10-25 12:08:13 -04:00
|
|
|
PORT_TYPE_MTRJ = 2400
|
|
|
|
PORT_TYPE_MPO = 2500
|
2018-11-08 10:49:26 -05:00
|
|
|
PORT_TYPE_LSH = 2600
|
2019-02-14 10:17:25 +01:00
|
|
|
PORT_TYPE_LSH_APC = 2610
|
2018-10-25 12:08:13 -04:00
|
|
|
PORT_TYPE_CHOICES = [
|
2018-10-03 14:04:16 -04:00
|
|
|
[
|
|
|
|
'Copper',
|
|
|
|
[
|
2018-10-25 12:08:13 -04:00
|
|
|
[PORT_TYPE_8P8C, '8P8C'],
|
2019-02-08 09:57:04 -05:00
|
|
|
[PORT_TYPE_110_PUNCH, '110 Punch'],
|
2019-08-01 10:33:29 -04:00
|
|
|
[PORT_TYPE_BNC, 'BNC'],
|
2018-10-03 14:04:16 -04:00
|
|
|
],
|
|
|
|
],
|
|
|
|
[
|
|
|
|
'Fiber Optic',
|
|
|
|
[
|
2018-10-25 12:08:13 -04:00
|
|
|
[PORT_TYPE_FC, 'FC'],
|
|
|
|
[PORT_TYPE_LC, 'LC'],
|
2019-02-14 10:17:25 +01:00
|
|
|
[PORT_TYPE_LC_APC, 'LC/APC'],
|
2018-11-08 10:49:26 -05:00
|
|
|
[PORT_TYPE_LSH, 'LSH'],
|
2019-02-14 10:17:25 +01:00
|
|
|
[PORT_TYPE_LSH_APC, 'LSH/APC'],
|
2018-10-25 12:08:13 -04:00
|
|
|
[PORT_TYPE_MPO, 'MPO'],
|
2018-11-08 10:49:26 -05:00
|
|
|
[PORT_TYPE_MTRJ, 'MTRJ'],
|
|
|
|
[PORT_TYPE_SC, 'SC'],
|
2019-02-14 10:17:25 +01:00
|
|
|
[PORT_TYPE_SC_APC, 'SC/APC'],
|
2018-11-08 10:49:26 -05:00
|
|
|
[PORT_TYPE_ST, 'ST'],
|
2018-10-03 14:04:16 -04:00
|
|
|
]
|
|
|
|
]
|
|
|
|
]
|
|
|
|
|
2017-06-16 16:01:44 -04:00
|
|
|
# Device statuses
|
2018-01-25 12:20:24 -05:00
|
|
|
DEVICE_STATUS_OFFLINE = 0
|
|
|
|
DEVICE_STATUS_ACTIVE = 1
|
|
|
|
DEVICE_STATUS_PLANNED = 2
|
|
|
|
DEVICE_STATUS_STAGED = 3
|
|
|
|
DEVICE_STATUS_FAILED = 4
|
|
|
|
DEVICE_STATUS_INVENTORY = 5
|
2019-04-24 09:14:29 +02:00
|
|
|
DEVICE_STATUS_DECOMMISSIONING = 6
|
2018-01-25 12:20:24 -05:00
|
|
|
DEVICE_STATUS_CHOICES = [
|
|
|
|
[DEVICE_STATUS_ACTIVE, 'Active'],
|
|
|
|
[DEVICE_STATUS_OFFLINE, 'Offline'],
|
|
|
|
[DEVICE_STATUS_PLANNED, 'Planned'],
|
|
|
|
[DEVICE_STATUS_STAGED, 'Staged'],
|
|
|
|
[DEVICE_STATUS_FAILED, 'Failed'],
|
|
|
|
[DEVICE_STATUS_INVENTORY, 'Inventory'],
|
2019-04-24 09:14:29 +02:00
|
|
|
[DEVICE_STATUS_DECOMMISSIONING, 'Decommissioning'],
|
2017-06-16 16:01:44 -04:00
|
|
|
]
|
|
|
|
|
2018-01-25 13:07:04 -05:00
|
|
|
# Site statuses
|
|
|
|
SITE_STATUS_ACTIVE = 1
|
|
|
|
SITE_STATUS_PLANNED = 2
|
|
|
|
SITE_STATUS_RETIRED = 4
|
|
|
|
SITE_STATUS_CHOICES = [
|
|
|
|
[SITE_STATUS_ACTIVE, 'Active'],
|
|
|
|
[SITE_STATUS_PLANNED, 'Planned'],
|
|
|
|
[SITE_STATUS_RETIRED, 'Retired'],
|
|
|
|
]
|
|
|
|
|
2018-11-01 16:03:42 -04:00
|
|
|
# Bootstrap CSS classes for device/rack statuses
|
2018-01-25 13:07:04 -05:00
|
|
|
STATUS_CLASSES = {
|
2017-06-16 16:01:44 -04:00
|
|
|
0: 'warning',
|
|
|
|
1: 'success',
|
|
|
|
2: 'info',
|
|
|
|
3: 'primary',
|
|
|
|
4: 'danger',
|
|
|
|
5: 'default',
|
2019-04-26 17:06:54 -04:00
|
|
|
6: 'warning',
|
2017-06-16 16:01:44 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
# Console/power/interface connection statuses
|
|
|
|
CONNECTION_STATUS_PLANNED = False
|
|
|
|
CONNECTION_STATUS_CONNECTED = True
|
|
|
|
CONNECTION_STATUS_CHOICES = [
|
|
|
|
[CONNECTION_STATUS_PLANNED, 'Planned'],
|
|
|
|
[CONNECTION_STATUS_CONNECTED, 'Connected'],
|
|
|
|
]
|
|
|
|
|
2018-10-18 15:43:55 -04:00
|
|
|
# Cable endpoint types
|
2018-10-24 14:38:44 -04:00
|
|
|
CABLE_TERMINATION_TYPES = [
|
2019-10-10 23:24:44 -04:00
|
|
|
'consoleport', 'consoleserverport', 'interface', 'poweroutlet', 'powerport', 'frontport', 'rearport',
|
|
|
|
'circuittermination',
|
2017-06-16 16:01:44 -04:00
|
|
|
]
|
2018-10-18 15:43:55 -04:00
|
|
|
|
|
|
|
# Cable types
|
2018-10-26 15:45:19 -04:00
|
|
|
CABLE_TYPE_CAT3 = 1300
|
|
|
|
CABLE_TYPE_CAT5 = 1500
|
|
|
|
CABLE_TYPE_CAT5E = 1510
|
|
|
|
CABLE_TYPE_CAT6 = 1600
|
|
|
|
CABLE_TYPE_CAT6A = 1610
|
|
|
|
CABLE_TYPE_CAT7 = 1700
|
2019-01-09 09:28:44 -05:00
|
|
|
CABLE_TYPE_DAC_ACTIVE = 1800
|
|
|
|
CABLE_TYPE_DAC_PASSIVE = 1810
|
2019-08-01 10:33:29 -04:00
|
|
|
CABLE_TYPE_COAXIAL = 1900
|
2019-02-15 14:42:03 -05:00
|
|
|
CABLE_TYPE_MMF = 3000
|
2018-10-26 15:45:19 -04:00
|
|
|
CABLE_TYPE_MMF_OM1 = 3010
|
|
|
|
CABLE_TYPE_MMF_OM2 = 3020
|
|
|
|
CABLE_TYPE_MMF_OM3 = 3030
|
|
|
|
CABLE_TYPE_MMF_OM4 = 3040
|
|
|
|
CABLE_TYPE_SMF = 3500
|
2019-02-15 14:42:03 -05:00
|
|
|
CABLE_TYPE_SMF_OS1 = 3510
|
|
|
|
CABLE_TYPE_SMF_OS2 = 3520
|
2019-01-09 09:28:44 -05:00
|
|
|
CABLE_TYPE_AOC = 3800
|
2018-10-26 15:45:19 -04:00
|
|
|
CABLE_TYPE_POWER = 5000
|
2018-10-18 15:43:55 -04:00
|
|
|
CABLE_TYPE_CHOICES = (
|
2018-10-26 15:45:19 -04:00
|
|
|
(
|
|
|
|
'Copper', (
|
|
|
|
(CABLE_TYPE_CAT3, 'CAT3'),
|
|
|
|
(CABLE_TYPE_CAT5, 'CAT5'),
|
|
|
|
(CABLE_TYPE_CAT5E, 'CAT5e'),
|
|
|
|
(CABLE_TYPE_CAT6, 'CAT6'),
|
|
|
|
(CABLE_TYPE_CAT6A, 'CAT6a'),
|
|
|
|
(CABLE_TYPE_CAT7, 'CAT7'),
|
2019-01-09 09:28:44 -05:00
|
|
|
(CABLE_TYPE_DAC_ACTIVE, 'Direct Attach Copper (Active)'),
|
|
|
|
(CABLE_TYPE_DAC_PASSIVE, 'Direct Attach Copper (Passive)'),
|
2019-08-01 10:33:29 -04:00
|
|
|
(CABLE_TYPE_COAXIAL, 'Coaxial'),
|
2018-10-26 15:45:19 -04:00
|
|
|
),
|
|
|
|
),
|
|
|
|
(
|
|
|
|
'Fiber', (
|
2019-02-15 14:42:03 -05:00
|
|
|
(CABLE_TYPE_MMF, 'Multimode Fiber'),
|
2018-10-26 15:45:19 -04:00
|
|
|
(CABLE_TYPE_MMF_OM1, 'Multimode Fiber (OM1)'),
|
|
|
|
(CABLE_TYPE_MMF_OM2, 'Multimode Fiber (OM2)'),
|
|
|
|
(CABLE_TYPE_MMF_OM3, 'Multimode Fiber (OM3)'),
|
|
|
|
(CABLE_TYPE_MMF_OM4, 'Multimode Fiber (OM4)'),
|
|
|
|
(CABLE_TYPE_SMF, 'Singlemode Fiber'),
|
2019-02-15 14:42:03 -05:00
|
|
|
(CABLE_TYPE_SMF_OS1, 'Singlemode Fiber (OS1)'),
|
|
|
|
(CABLE_TYPE_SMF_OS2, 'Singlemode Fiber (OS2)'),
|
2019-01-09 09:28:44 -05:00
|
|
|
(CABLE_TYPE_AOC, 'Active Optical Cabling (AOC)'),
|
2018-10-26 15:45:19 -04:00
|
|
|
),
|
|
|
|
),
|
|
|
|
(CABLE_TYPE_POWER, 'Power'),
|
2018-10-18 15:43:55 -04:00
|
|
|
)
|
2018-10-22 16:58:24 -04:00
|
|
|
|
2018-10-24 14:38:44 -04:00
|
|
|
CABLE_TERMINATION_TYPE_CHOICES = {
|
2018-10-22 16:58:24 -04:00
|
|
|
# (API endpoint, human-friendly name)
|
|
|
|
'consoleport': ('console-ports', 'Console port'),
|
|
|
|
'consoleserverport': ('console-server-ports', 'Console server port'),
|
|
|
|
'powerport': ('power-ports', 'Power port'),
|
|
|
|
'poweroutlet': ('power-outlets', 'Power outlet'),
|
|
|
|
'interface': ('interfaces', 'Interface'),
|
2018-10-25 12:08:13 -04:00
|
|
|
'frontport': ('front-ports', 'Front panel port'),
|
|
|
|
'rearport': ('rear-ports', 'Rear panel port'),
|
2018-10-22 16:58:24 -04:00
|
|
|
}
|
|
|
|
|
2018-10-24 14:38:44 -04:00
|
|
|
COMPATIBLE_TERMINATION_TYPES = {
|
2018-10-25 12:08:13 -04:00
|
|
|
'consoleport': ['consoleserverport', 'frontport', 'rearport'],
|
|
|
|
'consoleserverport': ['consoleport', 'frontport', 'rearport'],
|
2019-03-21 17:47:43 -04:00
|
|
|
'powerport': ['poweroutlet', 'powerfeed'],
|
2018-10-22 16:58:24 -04:00
|
|
|
'poweroutlet': ['powerport'],
|
2018-10-30 12:16:22 -04:00
|
|
|
'interface': ['interface', 'circuittermination', 'frontport', 'rearport'],
|
2018-11-01 11:57:38 -04:00
|
|
|
'frontport': ['consoleport', 'consoleserverport', 'interface', 'frontport', 'rearport', 'circuittermination'],
|
|
|
|
'rearport': ['consoleport', 'consoleserverport', 'interface', 'frontport', 'rearport', 'circuittermination'],
|
2018-10-30 12:16:22 -04:00
|
|
|
'circuittermination': ['interface', 'frontport', 'rearport'],
|
2018-10-22 16:58:24 -04:00
|
|
|
}
|
2018-10-26 10:28:25 -04:00
|
|
|
|
2018-11-30 12:26:28 -05:00
|
|
|
LENGTH_UNIT_METER = 1200
|
|
|
|
LENGTH_UNIT_CENTIMETER = 1100
|
|
|
|
LENGTH_UNIT_MILLIMETER = 1000
|
|
|
|
LENGTH_UNIT_FOOT = 2100
|
|
|
|
LENGTH_UNIT_INCH = 2000
|
2018-11-02 09:51:17 -04:00
|
|
|
CABLE_LENGTH_UNIT_CHOICES = (
|
2018-10-26 10:28:25 -04:00
|
|
|
(LENGTH_UNIT_METER, 'Meters'),
|
|
|
|
(LENGTH_UNIT_CENTIMETER, 'Centimeters'),
|
|
|
|
(LENGTH_UNIT_FOOT, 'Feet'),
|
|
|
|
(LENGTH_UNIT_INCH, 'Inches'),
|
2018-10-26 13:27:54 -04:00
|
|
|
)
|
2018-11-02 09:51:17 -04:00
|
|
|
RACK_DIMENSION_UNIT_CHOICES = (
|
|
|
|
(LENGTH_UNIT_MILLIMETER, 'Millimeters'),
|
|
|
|
(LENGTH_UNIT_INCH, 'Inches'),
|
|
|
|
)
|
2019-03-11 22:40:52 -04:00
|
|
|
|
|
|
|
# Power feeds
|
|
|
|
POWERFEED_TYPE_PRIMARY = 1
|
|
|
|
POWERFEED_TYPE_REDUNDANT = 2
|
|
|
|
POWERFEED_TYPE_CHOICES = (
|
2019-03-12 11:36:29 -04:00
|
|
|
(POWERFEED_TYPE_PRIMARY, 'Primary'),
|
|
|
|
(POWERFEED_TYPE_REDUNDANT, 'Redundant'),
|
2019-03-11 22:40:52 -04:00
|
|
|
)
|
|
|
|
POWERFEED_SUPPLY_AC = 1
|
|
|
|
POWERFEED_SUPPLY_DC = 2
|
|
|
|
POWERFEED_SUPPLY_CHOICES = (
|
|
|
|
(POWERFEED_SUPPLY_AC, 'AC'),
|
|
|
|
(POWERFEED_SUPPLY_DC, 'DC'),
|
|
|
|
)
|
|
|
|
POWERFEED_PHASE_SINGLE = 1
|
|
|
|
POWERFEED_PHASE_3PHASE = 3
|
|
|
|
POWERFEED_PHASE_CHOICES = (
|
|
|
|
(POWERFEED_PHASE_SINGLE, 'Single phase'),
|
|
|
|
(POWERFEED_PHASE_3PHASE, 'Three-phase'),
|
|
|
|
)
|
|
|
|
POWERFEED_STATUS_OFFLINE = 0
|
|
|
|
POWERFEED_STATUS_ACTIVE = 1
|
|
|
|
POWERFEED_STATUS_PLANNED = 2
|
|
|
|
POWERFEED_STATUS_FAILED = 4
|
|
|
|
POWERFEED_STATUS_CHOICES = (
|
|
|
|
(POWERFEED_STATUS_ACTIVE, 'Active'),
|
|
|
|
(POWERFEED_STATUS_OFFLINE, 'Offline'),
|
|
|
|
(POWERFEED_STATUS_PLANNED, 'Planned'),
|
|
|
|
(POWERFEED_STATUS_FAILED, 'Failed'),
|
|
|
|
)
|
2019-04-10 14:16:16 -04:00
|
|
|
POWERFEED_LEG_A = 1
|
|
|
|
POWERFEED_LEG_B = 2
|
|
|
|
POWERFEED_LEG_C = 3
|
|
|
|
POWERFEED_LEG_CHOICES = (
|
|
|
|
(POWERFEED_LEG_A, 'A'),
|
|
|
|
(POWERFEED_LEG_B, 'B'),
|
|
|
|
(POWERFEED_LEG_C, 'C'),
|
|
|
|
)
|
2019-10-10 23:24:44 -04:00
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Interface type values
|
|
|
|
#
|
|
|
|
|
|
|
|
class InterfaceTypes:
|
|
|
|
"""
|
|
|
|
Interface.type slugs
|
|
|
|
"""
|
|
|
|
# Virtual
|
|
|
|
TYPE_VIRTUAL = 'virtual'
|
|
|
|
TYPE_LAG = 'lag'
|
|
|
|
|
|
|
|
# Ethernet
|
|
|
|
TYPE_100ME_FIXED = '100base-tx'
|
|
|
|
TYPE_1GE_FIXED = '1000base-t'
|
|
|
|
TYPE_1GE_GBIC = '1000base-x-gbic'
|
|
|
|
TYPE_1GE_SFP = '1000base-x-sfp'
|
|
|
|
TYPE_2GE_FIXED = '2.5gbase-t'
|
|
|
|
TYPE_5GE_FIXED = '5gbase-t'
|
|
|
|
TYPE_10GE_FIXED = '10gbase-t'
|
|
|
|
TYPE_10GE_CX4 = '10gbase-cx4'
|
|
|
|
TYPE_10GE_SFP_PLUS = '10gbase-x-sfpp'
|
|
|
|
TYPE_10GE_XFP = '10gbase-x-xfp'
|
|
|
|
TYPE_10GE_XENPAK = '10gbase-x-xenpak'
|
|
|
|
TYPE_10GE_X2 = '10gbase-x-x2'
|
|
|
|
TYPE_25GE_SFP28 = '25gbase-x-sfp28'
|
|
|
|
TYPE_40GE_QSFP_PLUS = '40gbase-x-qsfpp'
|
|
|
|
TYPE_50GE_QSFP28 = '50gbase-x-sfp28'
|
|
|
|
TYPE_100GE_CFP = '100gbase-x-cfp'
|
|
|
|
TYPE_100GE_CFP2 = '100gbase-x-cfp2'
|
|
|
|
TYPE_100GE_CFP4 = '100gbase-x-cfp4'
|
|
|
|
TYPE_100GE_CPAK = '100gbase-x-cpak'
|
|
|
|
TYPE_100GE_QSFP28 = '100gbase-x-qsfp28'
|
|
|
|
TYPE_200GE_CFP2 = '200gbase-x-cfp2'
|
|
|
|
TYPE_200GE_QSFP56 = '200gbase-x-qsfp56'
|
|
|
|
TYPE_400GE_QSFP_DD = '400gbase-x-qsfpdd'
|
|
|
|
|
|
|
|
# Wireless
|
|
|
|
TYPE_80211A = 'ieee802.11a'
|
|
|
|
TYPE_80211G = 'ieee802.11g'
|
|
|
|
TYPE_80211N = 'ieee802.11n'
|
|
|
|
TYPE_80211AC = 'ieee802.11ac'
|
|
|
|
TYPE_80211AD = 'ieee802.11ad'
|
|
|
|
|
|
|
|
# Cellular
|
|
|
|
TYPE_GSM = 'gsm'
|
|
|
|
TYPE_CDMA = 'cdma'
|
|
|
|
TYPE_LTE = 'lte'
|
|
|
|
|
|
|
|
# SONET
|
|
|
|
TYPE_SONET_OC3 = 'sonet-oc3'
|
|
|
|
TYPE_SONET_OC12 = 'sonet-oc12'
|
|
|
|
TYPE_SONET_OC48 = 'sonet-oc48'
|
|
|
|
TYPE_SONET_OC192 = 'sonet-oc192'
|
|
|
|
TYPE_SONET_OC768 = 'sonet-oc768'
|
|
|
|
TYPE_SONET_OC1920 = 'sonet-oc1920'
|
|
|
|
TYPE_SONET_OC3840 = 'sonet-oc3840'
|
|
|
|
|
|
|
|
# Fibrechannel
|
|
|
|
TYPE_1GFC_SFP = '1gfc-sfp'
|
|
|
|
TYPE_2GFC_SFP = '2gfc-sfp'
|
|
|
|
TYPE_4GFC_SFP = '4gfc-sfp'
|
|
|
|
TYPE_8GFC_SFP_PLUS = '8gfc-sfpp'
|
|
|
|
TYPE_16GFC_SFP_PLUS = '16gfc-sfpp'
|
|
|
|
TYPE_32GFC_SFP28 = '32gfc-sfp28'
|
|
|
|
TYPE_128GFC_QSFP28 = '128gfc-sfp28'
|
|
|
|
|
|
|
|
# InfiniBand
|
|
|
|
TYPE_INFINIBAND_SDR = 'inifiband-sdr'
|
|
|
|
TYPE_INFINIBAND_DDR = 'inifiband-ddr'
|
|
|
|
TYPE_INFINIBAND_QDR = 'inifiband-qdr'
|
|
|
|
TYPE_INFINIBAND_FDR10 = 'inifiband-fdr10'
|
|
|
|
TYPE_INFINIBAND_FDR = 'inifiband-fdr'
|
|
|
|
TYPE_INFINIBAND_EDR = 'inifiband-edr'
|
|
|
|
TYPE_INFINIBAND_HDR = 'inifiband-hdr'
|
|
|
|
TYPE_INFINIBAND_NDR = 'inifiband-ndr'
|
|
|
|
TYPE_INFINIBAND_XDR = 'inifiband-xdr'
|
|
|
|
|
|
|
|
# Serial
|
|
|
|
TYPE_T1 = 't1'
|
|
|
|
TYPE_E1 = 'e1'
|
|
|
|
TYPE_T3 = 't3'
|
|
|
|
TYPE_E3 = 'e3'
|
|
|
|
|
|
|
|
# Stacking
|
|
|
|
TYPE_STACKWISE = 'cisco-stackwise'
|
|
|
|
TYPE_STACKWISE_PLUS = 'cisco-stackwise-plus'
|
|
|
|
TYPE_FLEXSTACK = 'cisco-flexstack'
|
|
|
|
TYPE_FLEXSTACK_PLUS = 'cisco-flexstack-plus'
|
|
|
|
TYPE_JUNIPER_VCP = 'juniper-vcp'
|
|
|
|
TYPE_SUMMITSTACK = 'extreme-summitstack'
|
|
|
|
TYPE_SUMMITSTACK128 = 'extreme-summitstack-128'
|
|
|
|
TYPE_SUMMITSTACK256 = 'extreme-summitstack-256'
|
|
|
|
TYPE_SUMMITSTACK512 = 'extreme-summitstack-512'
|
|
|
|
|
|
|
|
# Other
|
|
|
|
TYPE_OTHER = 'other'
|
|
|
|
|
2019-10-17 16:38:31 -04:00
|
|
|
TYPE_CHOICES = (
|
|
|
|
(
|
|
|
|
'Virtual interfaces',
|
2019-10-10 23:24:44 -04:00
|
|
|
(
|
2019-10-17 16:38:31 -04:00
|
|
|
(TYPE_VIRTUAL, 'Virtual'),
|
|
|
|
(TYPE_LAG, 'Link Aggregation Group (LAG)'),
|
2019-10-10 23:24:44 -04:00
|
|
|
),
|
2019-10-17 16:38:31 -04:00
|
|
|
),
|
|
|
|
(
|
|
|
|
'Ethernet (fixed)',
|
2019-10-10 23:24:44 -04:00
|
|
|
(
|
2019-10-17 16:38:31 -04:00
|
|
|
(TYPE_100ME_FIXED, '100BASE-TX (10/100ME)'),
|
|
|
|
(TYPE_1GE_FIXED, '1000BASE-T (1GE)'),
|
|
|
|
(TYPE_2GE_FIXED, '2.5GBASE-T (2.5GE)'),
|
|
|
|
(TYPE_5GE_FIXED, '5GBASE-T (5GE)'),
|
|
|
|
(TYPE_10GE_FIXED, '10GBASE-T (10GE)'),
|
|
|
|
(TYPE_10GE_CX4, '10GBASE-CX4 (10GE)'),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
(
|
|
|
|
'Ethernet (modular)',
|
2019-10-10 23:24:44 -04:00
|
|
|
(
|
2019-10-17 16:38:31 -04:00
|
|
|
(TYPE_1GE_GBIC, 'GBIC (1GE)'),
|
|
|
|
(TYPE_1GE_SFP, 'SFP (1GE)'),
|
|
|
|
(TYPE_10GE_SFP_PLUS, 'SFP+ (10GE)'),
|
|
|
|
(TYPE_10GE_XFP, 'XFP (10GE)'),
|
|
|
|
(TYPE_10GE_XENPAK, 'XENPAK (10GE)'),
|
|
|
|
(TYPE_10GE_X2, 'X2 (10GE)'),
|
|
|
|
(TYPE_25GE_SFP28, 'SFP28 (25GE)'),
|
|
|
|
(TYPE_40GE_QSFP_PLUS, 'QSFP+ (40GE)'),
|
|
|
|
(TYPE_50GE_QSFP28, 'QSFP28 (50GE)'),
|
|
|
|
(TYPE_100GE_CFP, 'CFP (100GE)'),
|
|
|
|
(TYPE_100GE_CFP2, 'CFP2 (100GE)'),
|
|
|
|
(TYPE_200GE_CFP2, 'CFP2 (200GE)'),
|
|
|
|
(TYPE_100GE_CFP4, 'CFP4 (100GE)'),
|
|
|
|
(TYPE_100GE_CPAK, 'Cisco CPAK (100GE)'),
|
|
|
|
(TYPE_100GE_QSFP28, 'QSFP28 (100GE)'),
|
|
|
|
(TYPE_200GE_QSFP56, 'QSFP56 (200GE)'),
|
|
|
|
(TYPE_400GE_QSFP_DD, 'QSFP-DD (400GE)'),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
(
|
|
|
|
'Wireless',
|
2019-10-10 23:24:44 -04:00
|
|
|
(
|
2019-10-17 16:38:31 -04:00
|
|
|
(TYPE_80211A, 'IEEE 802.11a'),
|
|
|
|
(TYPE_80211G, 'IEEE 802.11b/g'),
|
|
|
|
(TYPE_80211N, 'IEEE 802.11n'),
|
|
|
|
(TYPE_80211AC, 'IEEE 802.11ac'),
|
|
|
|
(TYPE_80211AD, 'IEEE 802.11ad'),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
(
|
|
|
|
'Cellular',
|
2019-10-10 23:24:44 -04:00
|
|
|
(
|
2019-10-17 16:38:31 -04:00
|
|
|
(TYPE_GSM, 'GSM'),
|
|
|
|
(TYPE_CDMA, 'CDMA'),
|
|
|
|
(TYPE_LTE, 'LTE'),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
(
|
|
|
|
'SONET',
|
2019-10-10 23:24:44 -04:00
|
|
|
(
|
2019-10-17 16:38:31 -04:00
|
|
|
(TYPE_SONET_OC3, 'OC-3/STM-1'),
|
|
|
|
(TYPE_SONET_OC12, 'OC-12/STM-4'),
|
|
|
|
(TYPE_SONET_OC48, 'OC-48/STM-16'),
|
|
|
|
(TYPE_SONET_OC192, 'OC-192/STM-64'),
|
|
|
|
(TYPE_SONET_OC768, 'OC-768/STM-256'),
|
|
|
|
(TYPE_SONET_OC1920, 'OC-1920/STM-640'),
|
|
|
|
(TYPE_SONET_OC3840, 'OC-3840/STM-1234'),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
(
|
|
|
|
'FibreChannel',
|
2019-10-10 23:24:44 -04:00
|
|
|
(
|
2019-10-17 16:38:31 -04:00
|
|
|
(TYPE_1GFC_SFP, 'SFP (1GFC)'),
|
|
|
|
(TYPE_2GFC_SFP, 'SFP (2GFC)'),
|
|
|
|
(TYPE_4GFC_SFP, 'SFP (4GFC)'),
|
|
|
|
(TYPE_8GFC_SFP_PLUS, 'SFP+ (8GFC)'),
|
|
|
|
(TYPE_16GFC_SFP_PLUS, 'SFP+ (16GFC)'),
|
|
|
|
(TYPE_32GFC_SFP28, 'SFP28 (32GFC)'),
|
|
|
|
(TYPE_128GFC_QSFP28, 'QSFP28 (128GFC)'),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
(
|
|
|
|
'InfiniBand',
|
2019-10-10 23:24:44 -04:00
|
|
|
(
|
2019-10-17 16:38:31 -04:00
|
|
|
(TYPE_INFINIBAND_SDR, 'SDR (2 Gbps)'),
|
|
|
|
(TYPE_INFINIBAND_DDR, 'DDR (4 Gbps)'),
|
|
|
|
(TYPE_INFINIBAND_QDR, 'QDR (8 Gbps)'),
|
|
|
|
(TYPE_INFINIBAND_FDR10, 'FDR10 (10 Gbps)'),
|
|
|
|
(TYPE_INFINIBAND_FDR, 'FDR (13.5 Gbps)'),
|
|
|
|
(TYPE_INFINIBAND_EDR, 'EDR (25 Gbps)'),
|
|
|
|
(TYPE_INFINIBAND_HDR, 'HDR (50 Gbps)'),
|
|
|
|
(TYPE_INFINIBAND_NDR, 'NDR (100 Gbps)'),
|
|
|
|
(TYPE_INFINIBAND_XDR, 'XDR (250 Gbps)'),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
(
|
|
|
|
'Serial',
|
2019-10-10 23:24:44 -04:00
|
|
|
(
|
2019-10-17 16:38:31 -04:00
|
|
|
(TYPE_T1, 'T1 (1.544 Mbps)'),
|
|
|
|
(TYPE_E1, 'E1 (2.048 Mbps)'),
|
|
|
|
(TYPE_T3, 'T3 (45 Mbps)'),
|
|
|
|
(TYPE_E3, 'E3 (34 Mbps)'),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
(
|
|
|
|
'Stacking',
|
2019-10-10 23:24:44 -04:00
|
|
|
(
|
2019-10-17 16:38:31 -04:00
|
|
|
(TYPE_STACKWISE, 'Cisco StackWise'),
|
|
|
|
(TYPE_STACKWISE_PLUS, 'Cisco StackWise Plus'),
|
|
|
|
(TYPE_FLEXSTACK, 'Cisco FlexStack'),
|
|
|
|
(TYPE_FLEXSTACK_PLUS, 'Cisco FlexStack Plus'),
|
|
|
|
(TYPE_JUNIPER_VCP, 'Juniper VCP'),
|
|
|
|
(TYPE_SUMMITSTACK, 'Extreme SummitStack'),
|
|
|
|
(TYPE_SUMMITSTACK128, 'Extreme SummitStack-128'),
|
|
|
|
(TYPE_SUMMITSTACK256, 'Extreme SummitStack-256'),
|
|
|
|
(TYPE_SUMMITSTACK512, 'Extreme SummitStack-512'),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
(
|
|
|
|
'Other',
|
2019-10-10 23:24:44 -04:00
|
|
|
(
|
2019-10-17 16:38:31 -04:00
|
|
|
(TYPE_OTHER, 'Other'),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
)
|
2019-10-10 23:24:44 -04:00
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def slug_to_integer(cls, slug):
|
|
|
|
"""
|
|
|
|
Provide backward-compatible mapping of the type slug to integer.
|
|
|
|
"""
|
|
|
|
return {
|
|
|
|
# Slug: integer
|
|
|
|
cls.TYPE_VIRTUAL: IFACE_TYPE_VIRTUAL,
|
|
|
|
cls.TYPE_LAG: IFACE_TYPE_LAG,
|
|
|
|
cls.TYPE_100ME_FIXED: IFACE_TYPE_100ME_FIXED,
|
|
|
|
cls.TYPE_1GE_FIXED: IFACE_TYPE_1GE_FIXED,
|
|
|
|
cls.TYPE_1GE_GBIC: IFACE_TYPE_1GE_GBIC,
|
|
|
|
cls.TYPE_1GE_SFP: IFACE_TYPE_1GE_SFP,
|
|
|
|
cls.TYPE_2GE_FIXED: IFACE_TYPE_2GE_FIXED,
|
|
|
|
cls.TYPE_5GE_FIXED: IFACE_TYPE_5GE_FIXED,
|
|
|
|
cls.TYPE_10GE_FIXED: IFACE_TYPE_10GE_FIXED,
|
|
|
|
cls.TYPE_10GE_CX4: IFACE_TYPE_10GE_CX4,
|
|
|
|
cls.TYPE_10GE_SFP_PLUS: IFACE_TYPE_10GE_SFP_PLUS,
|
|
|
|
cls.TYPE_10GE_XFP: IFACE_TYPE_10GE_XFP,
|
|
|
|
cls.TYPE_10GE_XENPAK: IFACE_TYPE_10GE_XENPAK,
|
|
|
|
cls.TYPE_10GE_X2: IFACE_TYPE_10GE_X2,
|
|
|
|
cls.TYPE_25GE_SFP28: IFACE_TYPE_25GE_SFP28,
|
|
|
|
cls.TYPE_40GE_QSFP_PLUS: IFACE_TYPE_40GE_QSFP_PLUS,
|
|
|
|
cls.TYPE_50GE_QSFP28: IFACE_TYPE_50GE_QSFP28,
|
|
|
|
cls.TYPE_100GE_CFP: IFACE_TYPE_100GE_CFP,
|
|
|
|
cls.TYPE_100GE_CFP2: IFACE_TYPE_100GE_CFP2,
|
|
|
|
cls.TYPE_100GE_CFP4: IFACE_TYPE_100GE_CFP4,
|
|
|
|
cls.TYPE_100GE_CPAK: IFACE_TYPE_100GE_CPAK,
|
|
|
|
cls.TYPE_100GE_QSFP28: IFACE_TYPE_100GE_QSFP28,
|
|
|
|
cls.TYPE_200GE_CFP2: IFACE_TYPE_200GE_CFP2,
|
|
|
|
cls.TYPE_200GE_QSFP56: IFACE_TYPE_200GE_QSFP56,
|
|
|
|
cls.TYPE_400GE_QSFP_DD: IFACE_TYPE_400GE_QSFP_DD,
|
|
|
|
cls.TYPE_80211A: IFACE_TYPE_80211A,
|
|
|
|
cls.TYPE_80211G: IFACE_TYPE_80211G,
|
|
|
|
cls.TYPE_80211N: IFACE_TYPE_80211N,
|
|
|
|
cls.TYPE_80211AC: IFACE_TYPE_80211AC,
|
|
|
|
cls.TYPE_80211AD: IFACE_TYPE_80211AD,
|
|
|
|
cls.TYPE_GSM: IFACE_TYPE_GSM,
|
|
|
|
cls.TYPE_CDMA: IFACE_TYPE_CDMA,
|
|
|
|
cls.TYPE_LTE: IFACE_TYPE_LTE,
|
|
|
|
cls.TYPE_SONET_OC3: IFACE_TYPE_SONET_OC3,
|
|
|
|
cls.TYPE_SONET_OC12: IFACE_TYPE_SONET_OC12,
|
|
|
|
cls.TYPE_SONET_OC48: IFACE_TYPE_SONET_OC48,
|
|
|
|
cls.TYPE_SONET_OC192: IFACE_TYPE_SONET_OC192,
|
|
|
|
cls.TYPE_SONET_OC768: IFACE_TYPE_SONET_OC768,
|
|
|
|
cls.TYPE_SONET_OC1920: IFACE_TYPE_SONET_OC1920,
|
|
|
|
cls.TYPE_SONET_OC3840: IFACE_TYPE_SONET_OC3840,
|
|
|
|
cls.TYPE_1GFC_SFP: IFACE_TYPE_1GFC_SFP,
|
|
|
|
cls.TYPE_2GFC_SFP: IFACE_TYPE_2GFC_SFP,
|
|
|
|
cls.TYPE_4GFC_SFP: IFACE_TYPE_4GFC_SFP,
|
|
|
|
cls.TYPE_8GFC_SFP_PLUS: IFACE_TYPE_8GFC_SFP_PLUS,
|
|
|
|
cls.TYPE_16GFC_SFP_PLUS: IFACE_TYPE_16GFC_SFP_PLUS,
|
|
|
|
cls.TYPE_32GFC_SFP28: IFACE_TYPE_32GFC_SFP28,
|
|
|
|
cls.TYPE_128GFC_QSFP28: IFACE_TYPE_128GFC_QSFP28,
|
|
|
|
cls.TYPE_INFINIBAND_SDR: IFACE_TYPE_INFINIBAND_SDR,
|
|
|
|
cls.TYPE_INFINIBAND_DDR: IFACE_TYPE_INFINIBAND_DDR,
|
|
|
|
cls.TYPE_INFINIBAND_QDR: IFACE_TYPE_INFINIBAND_QDR,
|
|
|
|
cls.TYPE_INFINIBAND_FDR10: IFACE_TYPE_INFINIBAND_FDR10,
|
|
|
|
cls.TYPE_INFINIBAND_FDR: IFACE_TYPE_INFINIBAND_FDR,
|
|
|
|
cls.TYPE_INFINIBAND_EDR: IFACE_TYPE_INFINIBAND_EDR,
|
|
|
|
cls.TYPE_INFINIBAND_HDR: IFACE_TYPE_INFINIBAND_HDR,
|
|
|
|
cls.TYPE_INFINIBAND_NDR: IFACE_TYPE_INFINIBAND_NDR,
|
|
|
|
cls.TYPE_INFINIBAND_XDR: IFACE_TYPE_INFINIBAND_XDR,
|
|
|
|
cls.TYPE_T1: IFACE_TYPE_T1,
|
|
|
|
cls.TYPE_E1: IFACE_TYPE_E1,
|
|
|
|
cls.TYPE_T3: IFACE_TYPE_T3,
|
|
|
|
cls.TYPE_E3: IFACE_TYPE_E3,
|
|
|
|
cls.TYPE_STACKWISE: IFACE_TYPE_STACKWISE,
|
|
|
|
cls.TYPE_STACKWISE_PLUS: IFACE_TYPE_STACKWISE_PLUS,
|
|
|
|
cls.TYPE_FLEXSTACK: IFACE_TYPE_FLEXSTACK,
|
|
|
|
cls.TYPE_FLEXSTACK_PLUS: IFACE_TYPE_FLEXSTACK_PLUS,
|
|
|
|
cls.TYPE_JUNIPER_VCP: IFACE_TYPE_JUNIPER_VCP,
|
|
|
|
cls.TYPE_SUMMITSTACK: IFACE_TYPE_SUMMITSTACK,
|
|
|
|
cls.TYPE_SUMMITSTACK128: IFACE_TYPE_SUMMITSTACK128,
|
|
|
|
cls.TYPE_SUMMITSTACK256: IFACE_TYPE_SUMMITSTACK256,
|
|
|
|
cls.TYPE_SUMMITSTACK512: IFACE_TYPE_SUMMITSTACK512,
|
|
|
|
}.get(slug)
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Port type values
|
|
|
|
#
|
|
|
|
|
|
|
|
class PortTypes:
|
|
|
|
"""
|
|
|
|
FrontPort/RearPort.type slugs
|
|
|
|
"""
|
|
|
|
TYPE_8P8C = '8p8c'
|
|
|
|
TYPE_110_PUNCH = '110-punch'
|
|
|
|
TYPE_BNC = 'bnc'
|
|
|
|
TYPE_ST = 'st'
|
|
|
|
TYPE_SC = 'sc'
|
|
|
|
TYPE_SC_APC = 'sc-apc'
|
|
|
|
TYPE_FC = 'fc'
|
|
|
|
TYPE_LC = 'lc'
|
|
|
|
TYPE_LC_APC = 'lc-apc'
|
|
|
|
TYPE_MTRJ = 'mtrj'
|
|
|
|
TYPE_MPO = 'mpo'
|
|
|
|
TYPE_LSH = 'lsh'
|
|
|
|
TYPE_LSH_APC = 'lsh-apc'
|
|
|
|
|
2019-10-17 16:38:31 -04:00
|
|
|
TYPE_CHOICES = (
|
|
|
|
(
|
|
|
|
'Copper',
|
2019-10-10 23:24:44 -04:00
|
|
|
(
|
2019-10-17 16:38:31 -04:00
|
|
|
(TYPE_8P8C, '8P8C'),
|
|
|
|
(TYPE_110_PUNCH, '110 Punch'),
|
|
|
|
(TYPE_BNC, 'BNC'),
|
2019-10-10 23:24:44 -04:00
|
|
|
),
|
2019-10-17 16:38:31 -04:00
|
|
|
),
|
|
|
|
(
|
|
|
|
'Fiber Optic',
|
2019-10-10 23:24:44 -04:00
|
|
|
(
|
2019-10-17 16:38:31 -04:00
|
|
|
(TYPE_FC, 'FC'),
|
|
|
|
(TYPE_LC, 'LC'),
|
|
|
|
(TYPE_LC_APC, 'LC/APC'),
|
|
|
|
(TYPE_LSH, 'LSH'),
|
|
|
|
(TYPE_LSH_APC, 'LSH/APC'),
|
|
|
|
(TYPE_MPO, 'MPO'),
|
|
|
|
(TYPE_MTRJ, 'MTRJ'),
|
|
|
|
(TYPE_SC, 'SC'),
|
|
|
|
(TYPE_SC_APC, 'SC/APC'),
|
|
|
|
(TYPE_ST, 'ST'),
|
2019-10-10 23:24:44 -04:00
|
|
|
)
|
|
|
|
)
|
2019-10-17 16:38:31 -04:00
|
|
|
)
|
2019-10-10 23:24:44 -04:00
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def slug_to_integer(cls, slug):
|
|
|
|
"""
|
|
|
|
Provide backward-compatible mapping of the type slug to integer.
|
|
|
|
"""
|
|
|
|
return {
|
|
|
|
# Slug: integer
|
|
|
|
cls.TYPE_8P8C: PORT_TYPE_8P8C,
|
|
|
|
cls.TYPE_110_PUNCH: PORT_TYPE_8P8C,
|
|
|
|
cls.TYPE_BNC: PORT_TYPE_BNC,
|
|
|
|
cls.TYPE_ST: PORT_TYPE_ST,
|
|
|
|
cls.TYPE_SC: PORT_TYPE_SC,
|
|
|
|
cls.TYPE_SC_APC: PORT_TYPE_SC_APC,
|
|
|
|
cls.TYPE_FC: PORT_TYPE_FC,
|
|
|
|
cls.TYPE_LC: PORT_TYPE_LC,
|
|
|
|
cls.TYPE_LC_APC: PORT_TYPE_LC_APC,
|
|
|
|
cls.TYPE_MTRJ: PORT_TYPE_MTRJ,
|
|
|
|
cls.TYPE_MPO: PORT_TYPE_MPO,
|
|
|
|
cls.TYPE_LSH: PORT_TYPE_LSH,
|
|
|
|
cls.TYPE_LSH_APC: PORT_TYPE_LSH_APC,
|
|
|
|
}.get(slug)
|