constants.py 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891
  1. # Rack types
  2. RACK_TYPE_2POST = 100
  3. RACK_TYPE_4POST = 200
  4. RACK_TYPE_CABINET = 300
  5. RACK_TYPE_WALLFRAME = 1000
  6. RACK_TYPE_WALLCABINET = 1100
  7. RACK_TYPE_CHOICES = (
  8. (RACK_TYPE_2POST, '2-post frame'),
  9. (RACK_TYPE_4POST, '4-post frame'),
  10. (RACK_TYPE_CABINET, '4-post cabinet'),
  11. (RACK_TYPE_WALLFRAME, 'Wall-mounted frame'),
  12. (RACK_TYPE_WALLCABINET, 'Wall-mounted cabinet'),
  13. )
  14. # Rack widths
  15. RACK_WIDTH_19IN = 19
  16. RACK_WIDTH_23IN = 23
  17. RACK_WIDTH_CHOICES = (
  18. (RACK_WIDTH_19IN, '19 inches'),
  19. (RACK_WIDTH_23IN, '23 inches'),
  20. )
  21. # Rack faces
  22. RACK_FACE_FRONT = 0
  23. RACK_FACE_REAR = 1
  24. RACK_FACE_CHOICES = [
  25. [RACK_FACE_FRONT, 'Front'],
  26. [RACK_FACE_REAR, 'Rear'],
  27. ]
  28. # Rack statuses
  29. RACK_STATUS_RESERVED = 0
  30. RACK_STATUS_AVAILABLE = 1
  31. RACK_STATUS_PLANNED = 2
  32. RACK_STATUS_ACTIVE = 3
  33. RACK_STATUS_DEPRECATED = 4
  34. RACK_STATUS_CHOICES = [
  35. [RACK_STATUS_ACTIVE, 'Active'],
  36. [RACK_STATUS_PLANNED, 'Planned'],
  37. [RACK_STATUS_RESERVED, 'Reserved'],
  38. [RACK_STATUS_AVAILABLE, 'Available'],
  39. [RACK_STATUS_DEPRECATED, 'Deprecated'],
  40. ]
  41. # Device rack position
  42. DEVICE_POSITION_CHOICES = [
  43. # Rack.u_height is limited to 100
  44. (i, 'Unit {}'.format(i)) for i in range(1, 101)
  45. ]
  46. # Parent/child device roles
  47. SUBDEVICE_ROLE_PARENT = True
  48. SUBDEVICE_ROLE_CHILD = False
  49. SUBDEVICE_ROLE_CHOICES = (
  50. (None, 'None'),
  51. (SUBDEVICE_ROLE_PARENT, 'Parent'),
  52. (SUBDEVICE_ROLE_CHILD, 'Child'),
  53. )
  54. #
  55. # Numeric interface types
  56. #
  57. # Virtual
  58. IFACE_TYPE_VIRTUAL = 0
  59. IFACE_TYPE_LAG = 200
  60. # Ethernet
  61. IFACE_TYPE_100ME_FIXED = 800
  62. IFACE_TYPE_1GE_FIXED = 1000
  63. IFACE_TYPE_1GE_GBIC = 1050
  64. IFACE_TYPE_1GE_SFP = 1100
  65. IFACE_TYPE_2GE_FIXED = 1120
  66. IFACE_TYPE_5GE_FIXED = 1130
  67. IFACE_TYPE_10GE_FIXED = 1150
  68. IFACE_TYPE_10GE_CX4 = 1170
  69. IFACE_TYPE_10GE_SFP_PLUS = 1200
  70. IFACE_TYPE_10GE_XFP = 1300
  71. IFACE_TYPE_10GE_XENPAK = 1310
  72. IFACE_TYPE_10GE_X2 = 1320
  73. IFACE_TYPE_25GE_SFP28 = 1350
  74. IFACE_TYPE_40GE_QSFP_PLUS = 1400
  75. IFACE_TYPE_50GE_QSFP28 = 1420
  76. IFACE_TYPE_100GE_CFP = 1500
  77. IFACE_TYPE_100GE_CFP2 = 1510
  78. IFACE_TYPE_100GE_CFP4 = 1520
  79. IFACE_TYPE_100GE_CPAK = 1550
  80. IFACE_TYPE_100GE_QSFP28 = 1600
  81. IFACE_TYPE_200GE_CFP2 = 1650
  82. IFACE_TYPE_200GE_QSFP56 = 1700
  83. IFACE_TYPE_400GE_QSFP_DD = 1750
  84. # Wireless
  85. IFACE_TYPE_80211A = 2600
  86. IFACE_TYPE_80211G = 2610
  87. IFACE_TYPE_80211N = 2620
  88. IFACE_TYPE_80211AC = 2630
  89. IFACE_TYPE_80211AD = 2640
  90. # Cellular
  91. IFACE_TYPE_GSM = 2810
  92. IFACE_TYPE_CDMA = 2820
  93. IFACE_TYPE_LTE = 2830
  94. # SONET
  95. IFACE_TYPE_SONET_OC3 = 6100
  96. IFACE_TYPE_SONET_OC12 = 6200
  97. IFACE_TYPE_SONET_OC48 = 6300
  98. IFACE_TYPE_SONET_OC192 = 6400
  99. IFACE_TYPE_SONET_OC768 = 6500
  100. IFACE_TYPE_SONET_OC1920 = 6600
  101. IFACE_TYPE_SONET_OC3840 = 6700
  102. # Fibrechannel
  103. IFACE_TYPE_1GFC_SFP = 3010
  104. IFACE_TYPE_2GFC_SFP = 3020
  105. IFACE_TYPE_4GFC_SFP = 3040
  106. IFACE_TYPE_8GFC_SFP_PLUS = 3080
  107. IFACE_TYPE_16GFC_SFP_PLUS = 3160
  108. IFACE_TYPE_32GFC_SFP28 = 3320
  109. IFACE_TYPE_128GFC_QSFP28 = 3400
  110. # InfiniBand
  111. IFACE_TYPE_INFINIBAND_SDR = 7010
  112. IFACE_TYPE_INFINIBAND_DDR = 7020
  113. IFACE_TYPE_INFINIBAND_QDR = 7030
  114. IFACE_TYPE_INFINIBAND_FDR10 = 7040
  115. IFACE_TYPE_INFINIBAND_FDR = 7050
  116. IFACE_TYPE_INFINIBAND_EDR = 7060
  117. IFACE_TYPE_INFINIBAND_HDR = 7070
  118. IFACE_TYPE_INFINIBAND_NDR = 7080
  119. IFACE_TYPE_INFINIBAND_XDR = 7090
  120. # Serial
  121. IFACE_TYPE_T1 = 4000
  122. IFACE_TYPE_E1 = 4010
  123. IFACE_TYPE_T3 = 4040
  124. IFACE_TYPE_E3 = 4050
  125. # Stacking
  126. IFACE_TYPE_STACKWISE = 5000
  127. IFACE_TYPE_STACKWISE_PLUS = 5050
  128. IFACE_TYPE_FLEXSTACK = 5100
  129. IFACE_TYPE_FLEXSTACK_PLUS = 5150
  130. IFACE_TYPE_JUNIPER_VCP = 5200
  131. IFACE_TYPE_SUMMITSTACK = 5300
  132. IFACE_TYPE_SUMMITSTACK128 = 5310
  133. IFACE_TYPE_SUMMITSTACK256 = 5320
  134. IFACE_TYPE_SUMMITSTACK512 = 5330
  135. # Other
  136. IFACE_TYPE_OTHER = 32767
  137. IFACE_TYPE_CHOICES = [
  138. [
  139. 'Virtual interfaces',
  140. [
  141. [IFACE_TYPE_VIRTUAL, 'Virtual'],
  142. [IFACE_TYPE_LAG, 'Link Aggregation Group (LAG)'],
  143. ],
  144. ],
  145. [
  146. 'Ethernet (fixed)',
  147. [
  148. [IFACE_TYPE_100ME_FIXED, '100BASE-TX (10/100ME)'],
  149. [IFACE_TYPE_1GE_FIXED, '1000BASE-T (1GE)'],
  150. [IFACE_TYPE_2GE_FIXED, '2.5GBASE-T (2.5GE)'],
  151. [IFACE_TYPE_5GE_FIXED, '5GBASE-T (5GE)'],
  152. [IFACE_TYPE_10GE_FIXED, '10GBASE-T (10GE)'],
  153. [IFACE_TYPE_10GE_CX4, '10GBASE-CX4 (10GE)'],
  154. ]
  155. ],
  156. [
  157. 'Ethernet (modular)',
  158. [
  159. [IFACE_TYPE_1GE_GBIC, 'GBIC (1GE)'],
  160. [IFACE_TYPE_1GE_SFP, 'SFP (1GE)'],
  161. [IFACE_TYPE_10GE_SFP_PLUS, 'SFP+ (10GE)'],
  162. [IFACE_TYPE_10GE_XFP, 'XFP (10GE)'],
  163. [IFACE_TYPE_10GE_XENPAK, 'XENPAK (10GE)'],
  164. [IFACE_TYPE_10GE_X2, 'X2 (10GE)'],
  165. [IFACE_TYPE_25GE_SFP28, 'SFP28 (25GE)'],
  166. [IFACE_TYPE_40GE_QSFP_PLUS, 'QSFP+ (40GE)'],
  167. [IFACE_TYPE_50GE_QSFP28, 'QSFP28 (50GE)'],
  168. [IFACE_TYPE_100GE_CFP, 'CFP (100GE)'],
  169. [IFACE_TYPE_100GE_CFP2, 'CFP2 (100GE)'],
  170. [IFACE_TYPE_200GE_CFP2, 'CFP2 (200GE)'],
  171. [IFACE_TYPE_100GE_CFP4, 'CFP4 (100GE)'],
  172. [IFACE_TYPE_100GE_CPAK, 'Cisco CPAK (100GE)'],
  173. [IFACE_TYPE_100GE_QSFP28, 'QSFP28 (100GE)'],
  174. [IFACE_TYPE_200GE_QSFP56, 'QSFP56 (200GE)'],
  175. [IFACE_TYPE_400GE_QSFP_DD, 'QSFP-DD (400GE)'],
  176. ]
  177. ],
  178. [
  179. 'Wireless',
  180. [
  181. [IFACE_TYPE_80211A, 'IEEE 802.11a'],
  182. [IFACE_TYPE_80211G, 'IEEE 802.11b/g'],
  183. [IFACE_TYPE_80211N, 'IEEE 802.11n'],
  184. [IFACE_TYPE_80211AC, 'IEEE 802.11ac'],
  185. [IFACE_TYPE_80211AD, 'IEEE 802.11ad'],
  186. ]
  187. ],
  188. [
  189. 'Cellular',
  190. [
  191. [IFACE_TYPE_GSM, 'GSM'],
  192. [IFACE_TYPE_CDMA, 'CDMA'],
  193. [IFACE_TYPE_LTE, 'LTE'],
  194. ]
  195. ],
  196. [
  197. 'SONET',
  198. [
  199. [IFACE_TYPE_SONET_OC3, 'OC-3/STM-1'],
  200. [IFACE_TYPE_SONET_OC12, 'OC-12/STM-4'],
  201. [IFACE_TYPE_SONET_OC48, 'OC-48/STM-16'],
  202. [IFACE_TYPE_SONET_OC192, 'OC-192/STM-64'],
  203. [IFACE_TYPE_SONET_OC768, 'OC-768/STM-256'],
  204. [IFACE_TYPE_SONET_OC1920, 'OC-1920/STM-640'],
  205. [IFACE_TYPE_SONET_OC3840, 'OC-3840/STM-1234'],
  206. ]
  207. ],
  208. [
  209. 'FibreChannel',
  210. [
  211. [IFACE_TYPE_1GFC_SFP, 'SFP (1GFC)'],
  212. [IFACE_TYPE_2GFC_SFP, 'SFP (2GFC)'],
  213. [IFACE_TYPE_4GFC_SFP, 'SFP (4GFC)'],
  214. [IFACE_TYPE_8GFC_SFP_PLUS, 'SFP+ (8GFC)'],
  215. [IFACE_TYPE_16GFC_SFP_PLUS, 'SFP+ (16GFC)'],
  216. [IFACE_TYPE_32GFC_SFP28, 'SFP28 (32GFC)'],
  217. [IFACE_TYPE_128GFC_QSFP28, 'QSFP28 (128GFC)'],
  218. ]
  219. ],
  220. [
  221. 'InfiniBand',
  222. [
  223. [IFACE_TYPE_INFINIBAND_SDR, 'SDR (2 Gbps)'],
  224. [IFACE_TYPE_INFINIBAND_DDR, 'DDR (4 Gbps)'],
  225. [IFACE_TYPE_INFINIBAND_QDR, 'QDR (8 Gbps)'],
  226. [IFACE_TYPE_INFINIBAND_FDR10, 'FDR10 (10 Gbps)'],
  227. [IFACE_TYPE_INFINIBAND_FDR, 'FDR (13.5 Gbps)'],
  228. [IFACE_TYPE_INFINIBAND_EDR, 'EDR (25 Gbps)'],
  229. [IFACE_TYPE_INFINIBAND_HDR, 'HDR (50 Gbps)'],
  230. [IFACE_TYPE_INFINIBAND_NDR, 'NDR (100 Gbps)'],
  231. [IFACE_TYPE_INFINIBAND_XDR, 'XDR (250 Gbps)'],
  232. ]
  233. ],
  234. [
  235. 'Serial',
  236. [
  237. [IFACE_TYPE_T1, 'T1 (1.544 Mbps)'],
  238. [IFACE_TYPE_E1, 'E1 (2.048 Mbps)'],
  239. [IFACE_TYPE_T3, 'T3 (45 Mbps)'],
  240. [IFACE_TYPE_E3, 'E3 (34 Mbps)'],
  241. ]
  242. ],
  243. [
  244. 'Stacking',
  245. [
  246. [IFACE_TYPE_STACKWISE, 'Cisco StackWise'],
  247. [IFACE_TYPE_STACKWISE_PLUS, 'Cisco StackWise Plus'],
  248. [IFACE_TYPE_FLEXSTACK, 'Cisco FlexStack'],
  249. [IFACE_TYPE_FLEXSTACK_PLUS, 'Cisco FlexStack Plus'],
  250. [IFACE_TYPE_JUNIPER_VCP, 'Juniper VCP'],
  251. [IFACE_TYPE_SUMMITSTACK, 'Extreme SummitStack'],
  252. [IFACE_TYPE_SUMMITSTACK128, 'Extreme SummitStack-128'],
  253. [IFACE_TYPE_SUMMITSTACK256, 'Extreme SummitStack-256'],
  254. [IFACE_TYPE_SUMMITSTACK512, 'Extreme SummitStack-512'],
  255. ]
  256. ],
  257. [
  258. 'Other',
  259. [
  260. [IFACE_TYPE_OTHER, 'Other'],
  261. ]
  262. ],
  263. ]
  264. VIRTUAL_IFACE_TYPES = [
  265. IFACE_TYPE_VIRTUAL,
  266. IFACE_TYPE_LAG,
  267. ]
  268. WIRELESS_IFACE_TYPES = [
  269. IFACE_TYPE_80211A,
  270. IFACE_TYPE_80211G,
  271. IFACE_TYPE_80211N,
  272. IFACE_TYPE_80211AC,
  273. IFACE_TYPE_80211AD,
  274. ]
  275. NONCONNECTABLE_IFACE_TYPES = VIRTUAL_IFACE_TYPES + WIRELESS_IFACE_TYPES
  276. IFACE_MODE_ACCESS = 100
  277. IFACE_MODE_TAGGED = 200
  278. IFACE_MODE_TAGGED_ALL = 300
  279. IFACE_MODE_CHOICES = [
  280. [IFACE_MODE_ACCESS, 'Access'],
  281. [IFACE_MODE_TAGGED, 'Tagged'],
  282. [IFACE_MODE_TAGGED_ALL, 'Tagged All'],
  283. ]
  284. # Pass-through port types
  285. PORT_TYPE_8P8C = 1000
  286. PORT_TYPE_110_PUNCH = 1100
  287. PORT_TYPE_BNC = 1200
  288. PORT_TYPE_ST = 2000
  289. PORT_TYPE_SC = 2100
  290. PORT_TYPE_SC_APC = 2110
  291. PORT_TYPE_FC = 2200
  292. PORT_TYPE_LC = 2300
  293. PORT_TYPE_LC_APC = 2310
  294. PORT_TYPE_MTRJ = 2400
  295. PORT_TYPE_MPO = 2500
  296. PORT_TYPE_LSH = 2600
  297. PORT_TYPE_LSH_APC = 2610
  298. PORT_TYPE_CHOICES = [
  299. [
  300. 'Copper',
  301. [
  302. [PORT_TYPE_8P8C, '8P8C'],
  303. [PORT_TYPE_110_PUNCH, '110 Punch'],
  304. [PORT_TYPE_BNC, 'BNC'],
  305. ],
  306. ],
  307. [
  308. 'Fiber Optic',
  309. [
  310. [PORT_TYPE_FC, 'FC'],
  311. [PORT_TYPE_LC, 'LC'],
  312. [PORT_TYPE_LC_APC, 'LC/APC'],
  313. [PORT_TYPE_LSH, 'LSH'],
  314. [PORT_TYPE_LSH_APC, 'LSH/APC'],
  315. [PORT_TYPE_MPO, 'MPO'],
  316. [PORT_TYPE_MTRJ, 'MTRJ'],
  317. [PORT_TYPE_SC, 'SC'],
  318. [PORT_TYPE_SC_APC, 'SC/APC'],
  319. [PORT_TYPE_ST, 'ST'],
  320. ]
  321. ]
  322. ]
  323. # Device statuses
  324. DEVICE_STATUS_OFFLINE = 0
  325. DEVICE_STATUS_ACTIVE = 1
  326. DEVICE_STATUS_PLANNED = 2
  327. DEVICE_STATUS_STAGED = 3
  328. DEVICE_STATUS_FAILED = 4
  329. DEVICE_STATUS_INVENTORY = 5
  330. DEVICE_STATUS_DECOMMISSIONING = 6
  331. DEVICE_STATUS_CHOICES = [
  332. [DEVICE_STATUS_ACTIVE, 'Active'],
  333. [DEVICE_STATUS_OFFLINE, 'Offline'],
  334. [DEVICE_STATUS_PLANNED, 'Planned'],
  335. [DEVICE_STATUS_STAGED, 'Staged'],
  336. [DEVICE_STATUS_FAILED, 'Failed'],
  337. [DEVICE_STATUS_INVENTORY, 'Inventory'],
  338. [DEVICE_STATUS_DECOMMISSIONING, 'Decommissioning'],
  339. ]
  340. # Site statuses
  341. SITE_STATUS_ACTIVE = 1
  342. SITE_STATUS_PLANNED = 2
  343. SITE_STATUS_RETIRED = 4
  344. SITE_STATUS_CHOICES = [
  345. [SITE_STATUS_ACTIVE, 'Active'],
  346. [SITE_STATUS_PLANNED, 'Planned'],
  347. [SITE_STATUS_RETIRED, 'Retired'],
  348. ]
  349. # Bootstrap CSS classes for device/rack statuses
  350. STATUS_CLASSES = {
  351. 0: 'warning',
  352. 1: 'success',
  353. 2: 'info',
  354. 3: 'primary',
  355. 4: 'danger',
  356. 5: 'default',
  357. 6: 'warning',
  358. }
  359. # Console/power/interface connection statuses
  360. CONNECTION_STATUS_PLANNED = False
  361. CONNECTION_STATUS_CONNECTED = True
  362. CONNECTION_STATUS_CHOICES = [
  363. [CONNECTION_STATUS_PLANNED, 'Planned'],
  364. [CONNECTION_STATUS_CONNECTED, 'Connected'],
  365. ]
  366. # Cable endpoint types
  367. CABLE_TERMINATION_TYPES = [
  368. 'consoleport', 'consoleserverport', 'interface', 'poweroutlet', 'powerport', 'frontport', 'rearport',
  369. 'circuittermination',
  370. ]
  371. # Cable types
  372. CABLE_TYPE_CAT3 = 1300
  373. CABLE_TYPE_CAT5 = 1500
  374. CABLE_TYPE_CAT5E = 1510
  375. CABLE_TYPE_CAT6 = 1600
  376. CABLE_TYPE_CAT6A = 1610
  377. CABLE_TYPE_CAT7 = 1700
  378. CABLE_TYPE_DAC_ACTIVE = 1800
  379. CABLE_TYPE_DAC_PASSIVE = 1810
  380. CABLE_TYPE_COAXIAL = 1900
  381. CABLE_TYPE_MMF = 3000
  382. CABLE_TYPE_MMF_OM1 = 3010
  383. CABLE_TYPE_MMF_OM2 = 3020
  384. CABLE_TYPE_MMF_OM3 = 3030
  385. CABLE_TYPE_MMF_OM4 = 3040
  386. CABLE_TYPE_SMF = 3500
  387. CABLE_TYPE_SMF_OS1 = 3510
  388. CABLE_TYPE_SMF_OS2 = 3520
  389. CABLE_TYPE_AOC = 3800
  390. CABLE_TYPE_POWER = 5000
  391. CABLE_TYPE_CHOICES = (
  392. (
  393. 'Copper', (
  394. (CABLE_TYPE_CAT3, 'CAT3'),
  395. (CABLE_TYPE_CAT5, 'CAT5'),
  396. (CABLE_TYPE_CAT5E, 'CAT5e'),
  397. (CABLE_TYPE_CAT6, 'CAT6'),
  398. (CABLE_TYPE_CAT6A, 'CAT6a'),
  399. (CABLE_TYPE_CAT7, 'CAT7'),
  400. (CABLE_TYPE_DAC_ACTIVE, 'Direct Attach Copper (Active)'),
  401. (CABLE_TYPE_DAC_PASSIVE, 'Direct Attach Copper (Passive)'),
  402. (CABLE_TYPE_COAXIAL, 'Coaxial'),
  403. ),
  404. ),
  405. (
  406. 'Fiber', (
  407. (CABLE_TYPE_MMF, 'Multimode Fiber'),
  408. (CABLE_TYPE_MMF_OM1, 'Multimode Fiber (OM1)'),
  409. (CABLE_TYPE_MMF_OM2, 'Multimode Fiber (OM2)'),
  410. (CABLE_TYPE_MMF_OM3, 'Multimode Fiber (OM3)'),
  411. (CABLE_TYPE_MMF_OM4, 'Multimode Fiber (OM4)'),
  412. (CABLE_TYPE_SMF, 'Singlemode Fiber'),
  413. (CABLE_TYPE_SMF_OS1, 'Singlemode Fiber (OS1)'),
  414. (CABLE_TYPE_SMF_OS2, 'Singlemode Fiber (OS2)'),
  415. (CABLE_TYPE_AOC, 'Active Optical Cabling (AOC)'),
  416. ),
  417. ),
  418. (CABLE_TYPE_POWER, 'Power'),
  419. )
  420. CABLE_TERMINATION_TYPE_CHOICES = {
  421. # (API endpoint, human-friendly name)
  422. 'consoleport': ('console-ports', 'Console port'),
  423. 'consoleserverport': ('console-server-ports', 'Console server port'),
  424. 'powerport': ('power-ports', 'Power port'),
  425. 'poweroutlet': ('power-outlets', 'Power outlet'),
  426. 'interface': ('interfaces', 'Interface'),
  427. 'frontport': ('front-ports', 'Front panel port'),
  428. 'rearport': ('rear-ports', 'Rear panel port'),
  429. }
  430. COMPATIBLE_TERMINATION_TYPES = {
  431. 'consoleport': ['consoleserverport', 'frontport', 'rearport'],
  432. 'consoleserverport': ['consoleport', 'frontport', 'rearport'],
  433. 'powerport': ['poweroutlet', 'powerfeed'],
  434. 'poweroutlet': ['powerport'],
  435. 'interface': ['interface', 'circuittermination', 'frontport', 'rearport'],
  436. 'frontport': ['consoleport', 'consoleserverport', 'interface', 'frontport', 'rearport', 'circuittermination'],
  437. 'rearport': ['consoleport', 'consoleserverport', 'interface', 'frontport', 'rearport', 'circuittermination'],
  438. 'circuittermination': ['interface', 'frontport', 'rearport'],
  439. }
  440. LENGTH_UNIT_METER = 1200
  441. LENGTH_UNIT_CENTIMETER = 1100
  442. LENGTH_UNIT_MILLIMETER = 1000
  443. LENGTH_UNIT_FOOT = 2100
  444. LENGTH_UNIT_INCH = 2000
  445. CABLE_LENGTH_UNIT_CHOICES = (
  446. (LENGTH_UNIT_METER, 'Meters'),
  447. (LENGTH_UNIT_CENTIMETER, 'Centimeters'),
  448. (LENGTH_UNIT_FOOT, 'Feet'),
  449. (LENGTH_UNIT_INCH, 'Inches'),
  450. )
  451. RACK_DIMENSION_UNIT_CHOICES = (
  452. (LENGTH_UNIT_MILLIMETER, 'Millimeters'),
  453. (LENGTH_UNIT_INCH, 'Inches'),
  454. )
  455. # Power feeds
  456. POWERFEED_TYPE_PRIMARY = 1
  457. POWERFEED_TYPE_REDUNDANT = 2
  458. POWERFEED_TYPE_CHOICES = (
  459. (POWERFEED_TYPE_PRIMARY, 'Primary'),
  460. (POWERFEED_TYPE_REDUNDANT, 'Redundant'),
  461. )
  462. POWERFEED_SUPPLY_AC = 1
  463. POWERFEED_SUPPLY_DC = 2
  464. POWERFEED_SUPPLY_CHOICES = (
  465. (POWERFEED_SUPPLY_AC, 'AC'),
  466. (POWERFEED_SUPPLY_DC, 'DC'),
  467. )
  468. POWERFEED_PHASE_SINGLE = 1
  469. POWERFEED_PHASE_3PHASE = 3
  470. POWERFEED_PHASE_CHOICES = (
  471. (POWERFEED_PHASE_SINGLE, 'Single phase'),
  472. (POWERFEED_PHASE_3PHASE, 'Three-phase'),
  473. )
  474. POWERFEED_STATUS_OFFLINE = 0
  475. POWERFEED_STATUS_ACTIVE = 1
  476. POWERFEED_STATUS_PLANNED = 2
  477. POWERFEED_STATUS_FAILED = 4
  478. POWERFEED_STATUS_CHOICES = (
  479. (POWERFEED_STATUS_ACTIVE, 'Active'),
  480. (POWERFEED_STATUS_OFFLINE, 'Offline'),
  481. (POWERFEED_STATUS_PLANNED, 'Planned'),
  482. (POWERFEED_STATUS_FAILED, 'Failed'),
  483. )
  484. POWERFEED_LEG_A = 1
  485. POWERFEED_LEG_B = 2
  486. POWERFEED_LEG_C = 3
  487. POWERFEED_LEG_CHOICES = (
  488. (POWERFEED_LEG_A, 'A'),
  489. (POWERFEED_LEG_B, 'B'),
  490. (POWERFEED_LEG_C, 'C'),
  491. )
  492. #
  493. # Interface type values
  494. #
  495. class InterfaceTypes:
  496. """
  497. Interface.type slugs
  498. """
  499. # Virtual
  500. TYPE_VIRTUAL = 'virtual'
  501. TYPE_LAG = 'lag'
  502. # Ethernet
  503. TYPE_100ME_FIXED = '100base-tx'
  504. TYPE_1GE_FIXED = '1000base-t'
  505. TYPE_1GE_GBIC = '1000base-x-gbic'
  506. TYPE_1GE_SFP = '1000base-x-sfp'
  507. TYPE_2GE_FIXED = '2.5gbase-t'
  508. TYPE_5GE_FIXED = '5gbase-t'
  509. TYPE_10GE_FIXED = '10gbase-t'
  510. TYPE_10GE_CX4 = '10gbase-cx4'
  511. TYPE_10GE_SFP_PLUS = '10gbase-x-sfpp'
  512. TYPE_10GE_XFP = '10gbase-x-xfp'
  513. TYPE_10GE_XENPAK = '10gbase-x-xenpak'
  514. TYPE_10GE_X2 = '10gbase-x-x2'
  515. TYPE_25GE_SFP28 = '25gbase-x-sfp28'
  516. TYPE_40GE_QSFP_PLUS = '40gbase-x-qsfpp'
  517. TYPE_50GE_QSFP28 = '50gbase-x-sfp28'
  518. TYPE_100GE_CFP = '100gbase-x-cfp'
  519. TYPE_100GE_CFP2 = '100gbase-x-cfp2'
  520. TYPE_100GE_CFP4 = '100gbase-x-cfp4'
  521. TYPE_100GE_CPAK = '100gbase-x-cpak'
  522. TYPE_100GE_QSFP28 = '100gbase-x-qsfp28'
  523. TYPE_200GE_CFP2 = '200gbase-x-cfp2'
  524. TYPE_200GE_QSFP56 = '200gbase-x-qsfp56'
  525. TYPE_400GE_QSFP_DD = '400gbase-x-qsfpdd'
  526. # Wireless
  527. TYPE_80211A = 'ieee802.11a'
  528. TYPE_80211G = 'ieee802.11g'
  529. TYPE_80211N = 'ieee802.11n'
  530. TYPE_80211AC = 'ieee802.11ac'
  531. TYPE_80211AD = 'ieee802.11ad'
  532. # Cellular
  533. TYPE_GSM = 'gsm'
  534. TYPE_CDMA = 'cdma'
  535. TYPE_LTE = 'lte'
  536. # SONET
  537. TYPE_SONET_OC3 = 'sonet-oc3'
  538. TYPE_SONET_OC12 = 'sonet-oc12'
  539. TYPE_SONET_OC48 = 'sonet-oc48'
  540. TYPE_SONET_OC192 = 'sonet-oc192'
  541. TYPE_SONET_OC768 = 'sonet-oc768'
  542. TYPE_SONET_OC1920 = 'sonet-oc1920'
  543. TYPE_SONET_OC3840 = 'sonet-oc3840'
  544. # Fibrechannel
  545. TYPE_1GFC_SFP = '1gfc-sfp'
  546. TYPE_2GFC_SFP = '2gfc-sfp'
  547. TYPE_4GFC_SFP = '4gfc-sfp'
  548. TYPE_8GFC_SFP_PLUS = '8gfc-sfpp'
  549. TYPE_16GFC_SFP_PLUS = '16gfc-sfpp'
  550. TYPE_32GFC_SFP28 = '32gfc-sfp28'
  551. TYPE_128GFC_QSFP28 = '128gfc-sfp28'
  552. # InfiniBand
  553. TYPE_INFINIBAND_SDR = 'inifiband-sdr'
  554. TYPE_INFINIBAND_DDR = 'inifiband-ddr'
  555. TYPE_INFINIBAND_QDR = 'inifiband-qdr'
  556. TYPE_INFINIBAND_FDR10 = 'inifiband-fdr10'
  557. TYPE_INFINIBAND_FDR = 'inifiband-fdr'
  558. TYPE_INFINIBAND_EDR = 'inifiband-edr'
  559. TYPE_INFINIBAND_HDR = 'inifiband-hdr'
  560. TYPE_INFINIBAND_NDR = 'inifiband-ndr'
  561. TYPE_INFINIBAND_XDR = 'inifiband-xdr'
  562. # Serial
  563. TYPE_T1 = 't1'
  564. TYPE_E1 = 'e1'
  565. TYPE_T3 = 't3'
  566. TYPE_E3 = 'e3'
  567. # Stacking
  568. TYPE_STACKWISE = 'cisco-stackwise'
  569. TYPE_STACKWISE_PLUS = 'cisco-stackwise-plus'
  570. TYPE_FLEXSTACK = 'cisco-flexstack'
  571. TYPE_FLEXSTACK_PLUS = 'cisco-flexstack-plus'
  572. TYPE_JUNIPER_VCP = 'juniper-vcp'
  573. TYPE_SUMMITSTACK = 'extreme-summitstack'
  574. TYPE_SUMMITSTACK128 = 'extreme-summitstack-128'
  575. TYPE_SUMMITSTACK256 = 'extreme-summitstack-256'
  576. TYPE_SUMMITSTACK512 = 'extreme-summitstack-512'
  577. # Other
  578. TYPE_OTHER = 'other'
  579. TYPE_CHOICES = (
  580. (
  581. 'Virtual interfaces',
  582. (
  583. (TYPE_VIRTUAL, 'Virtual'),
  584. (TYPE_LAG, 'Link Aggregation Group (LAG)'),
  585. ),
  586. ),
  587. (
  588. 'Ethernet (fixed)',
  589. (
  590. (TYPE_100ME_FIXED, '100BASE-TX (10/100ME)'),
  591. (TYPE_1GE_FIXED, '1000BASE-T (1GE)'),
  592. (TYPE_2GE_FIXED, '2.5GBASE-T (2.5GE)'),
  593. (TYPE_5GE_FIXED, '5GBASE-T (5GE)'),
  594. (TYPE_10GE_FIXED, '10GBASE-T (10GE)'),
  595. (TYPE_10GE_CX4, '10GBASE-CX4 (10GE)'),
  596. )
  597. ),
  598. (
  599. 'Ethernet (modular)',
  600. (
  601. (TYPE_1GE_GBIC, 'GBIC (1GE)'),
  602. (TYPE_1GE_SFP, 'SFP (1GE)'),
  603. (TYPE_10GE_SFP_PLUS, 'SFP+ (10GE)'),
  604. (TYPE_10GE_XFP, 'XFP (10GE)'),
  605. (TYPE_10GE_XENPAK, 'XENPAK (10GE)'),
  606. (TYPE_10GE_X2, 'X2 (10GE)'),
  607. (TYPE_25GE_SFP28, 'SFP28 (25GE)'),
  608. (TYPE_40GE_QSFP_PLUS, 'QSFP+ (40GE)'),
  609. (TYPE_50GE_QSFP28, 'QSFP28 (50GE)'),
  610. (TYPE_100GE_CFP, 'CFP (100GE)'),
  611. (TYPE_100GE_CFP2, 'CFP2 (100GE)'),
  612. (TYPE_200GE_CFP2, 'CFP2 (200GE)'),
  613. (TYPE_100GE_CFP4, 'CFP4 (100GE)'),
  614. (TYPE_100GE_CPAK, 'Cisco CPAK (100GE)'),
  615. (TYPE_100GE_QSFP28, 'QSFP28 (100GE)'),
  616. (TYPE_200GE_QSFP56, 'QSFP56 (200GE)'),
  617. (TYPE_400GE_QSFP_DD, 'QSFP-DD (400GE)'),
  618. )
  619. ),
  620. (
  621. 'Wireless',
  622. (
  623. (TYPE_80211A, 'IEEE 802.11a'),
  624. (TYPE_80211G, 'IEEE 802.11b/g'),
  625. (TYPE_80211N, 'IEEE 802.11n'),
  626. (TYPE_80211AC, 'IEEE 802.11ac'),
  627. (TYPE_80211AD, 'IEEE 802.11ad'),
  628. )
  629. ),
  630. (
  631. 'Cellular',
  632. (
  633. (TYPE_GSM, 'GSM'),
  634. (TYPE_CDMA, 'CDMA'),
  635. (TYPE_LTE, 'LTE'),
  636. )
  637. ),
  638. (
  639. 'SONET',
  640. (
  641. (TYPE_SONET_OC3, 'OC-3/STM-1'),
  642. (TYPE_SONET_OC12, 'OC-12/STM-4'),
  643. (TYPE_SONET_OC48, 'OC-48/STM-16'),
  644. (TYPE_SONET_OC192, 'OC-192/STM-64'),
  645. (TYPE_SONET_OC768, 'OC-768/STM-256'),
  646. (TYPE_SONET_OC1920, 'OC-1920/STM-640'),
  647. (TYPE_SONET_OC3840, 'OC-3840/STM-1234'),
  648. )
  649. ),
  650. (
  651. 'FibreChannel',
  652. (
  653. (TYPE_1GFC_SFP, 'SFP (1GFC)'),
  654. (TYPE_2GFC_SFP, 'SFP (2GFC)'),
  655. (TYPE_4GFC_SFP, 'SFP (4GFC)'),
  656. (TYPE_8GFC_SFP_PLUS, 'SFP+ (8GFC)'),
  657. (TYPE_16GFC_SFP_PLUS, 'SFP+ (16GFC)'),
  658. (TYPE_32GFC_SFP28, 'SFP28 (32GFC)'),
  659. (TYPE_128GFC_QSFP28, 'QSFP28 (128GFC)'),
  660. )
  661. ),
  662. (
  663. 'InfiniBand',
  664. (
  665. (TYPE_INFINIBAND_SDR, 'SDR (2 Gbps)'),
  666. (TYPE_INFINIBAND_DDR, 'DDR (4 Gbps)'),
  667. (TYPE_INFINIBAND_QDR, 'QDR (8 Gbps)'),
  668. (TYPE_INFINIBAND_FDR10, 'FDR10 (10 Gbps)'),
  669. (TYPE_INFINIBAND_FDR, 'FDR (13.5 Gbps)'),
  670. (TYPE_INFINIBAND_EDR, 'EDR (25 Gbps)'),
  671. (TYPE_INFINIBAND_HDR, 'HDR (50 Gbps)'),
  672. (TYPE_INFINIBAND_NDR, 'NDR (100 Gbps)'),
  673. (TYPE_INFINIBAND_XDR, 'XDR (250 Gbps)'),
  674. )
  675. ),
  676. (
  677. 'Serial',
  678. (
  679. (TYPE_T1, 'T1 (1.544 Mbps)'),
  680. (TYPE_E1, 'E1 (2.048 Mbps)'),
  681. (TYPE_T3, 'T3 (45 Mbps)'),
  682. (TYPE_E3, 'E3 (34 Mbps)'),
  683. )
  684. ),
  685. (
  686. 'Stacking',
  687. (
  688. (TYPE_STACKWISE, 'Cisco StackWise'),
  689. (TYPE_STACKWISE_PLUS, 'Cisco StackWise Plus'),
  690. (TYPE_FLEXSTACK, 'Cisco FlexStack'),
  691. (TYPE_FLEXSTACK_PLUS, 'Cisco FlexStack Plus'),
  692. (TYPE_JUNIPER_VCP, 'Juniper VCP'),
  693. (TYPE_SUMMITSTACK, 'Extreme SummitStack'),
  694. (TYPE_SUMMITSTACK128, 'Extreme SummitStack-128'),
  695. (TYPE_SUMMITSTACK256, 'Extreme SummitStack-256'),
  696. (TYPE_SUMMITSTACK512, 'Extreme SummitStack-512'),
  697. )
  698. ),
  699. (
  700. 'Other',
  701. (
  702. (TYPE_OTHER, 'Other'),
  703. )
  704. ),
  705. )
  706. @classmethod
  707. def slug_to_integer(cls, slug):
  708. """
  709. Provide backward-compatible mapping of the type slug to integer.
  710. """
  711. return {
  712. # Slug: integer
  713. cls.TYPE_VIRTUAL: IFACE_TYPE_VIRTUAL,
  714. cls.TYPE_LAG: IFACE_TYPE_LAG,
  715. cls.TYPE_100ME_FIXED: IFACE_TYPE_100ME_FIXED,
  716. cls.TYPE_1GE_FIXED: IFACE_TYPE_1GE_FIXED,
  717. cls.TYPE_1GE_GBIC: IFACE_TYPE_1GE_GBIC,
  718. cls.TYPE_1GE_SFP: IFACE_TYPE_1GE_SFP,
  719. cls.TYPE_2GE_FIXED: IFACE_TYPE_2GE_FIXED,
  720. cls.TYPE_5GE_FIXED: IFACE_TYPE_5GE_FIXED,
  721. cls.TYPE_10GE_FIXED: IFACE_TYPE_10GE_FIXED,
  722. cls.TYPE_10GE_CX4: IFACE_TYPE_10GE_CX4,
  723. cls.TYPE_10GE_SFP_PLUS: IFACE_TYPE_10GE_SFP_PLUS,
  724. cls.TYPE_10GE_XFP: IFACE_TYPE_10GE_XFP,
  725. cls.TYPE_10GE_XENPAK: IFACE_TYPE_10GE_XENPAK,
  726. cls.TYPE_10GE_X2: IFACE_TYPE_10GE_X2,
  727. cls.TYPE_25GE_SFP28: IFACE_TYPE_25GE_SFP28,
  728. cls.TYPE_40GE_QSFP_PLUS: IFACE_TYPE_40GE_QSFP_PLUS,
  729. cls.TYPE_50GE_QSFP28: IFACE_TYPE_50GE_QSFP28,
  730. cls.TYPE_100GE_CFP: IFACE_TYPE_100GE_CFP,
  731. cls.TYPE_100GE_CFP2: IFACE_TYPE_100GE_CFP2,
  732. cls.TYPE_100GE_CFP4: IFACE_TYPE_100GE_CFP4,
  733. cls.TYPE_100GE_CPAK: IFACE_TYPE_100GE_CPAK,
  734. cls.TYPE_100GE_QSFP28: IFACE_TYPE_100GE_QSFP28,
  735. cls.TYPE_200GE_CFP2: IFACE_TYPE_200GE_CFP2,
  736. cls.TYPE_200GE_QSFP56: IFACE_TYPE_200GE_QSFP56,
  737. cls.TYPE_400GE_QSFP_DD: IFACE_TYPE_400GE_QSFP_DD,
  738. cls.TYPE_80211A: IFACE_TYPE_80211A,
  739. cls.TYPE_80211G: IFACE_TYPE_80211G,
  740. cls.TYPE_80211N: IFACE_TYPE_80211N,
  741. cls.TYPE_80211AC: IFACE_TYPE_80211AC,
  742. cls.TYPE_80211AD: IFACE_TYPE_80211AD,
  743. cls.TYPE_GSM: IFACE_TYPE_GSM,
  744. cls.TYPE_CDMA: IFACE_TYPE_CDMA,
  745. cls.TYPE_LTE: IFACE_TYPE_LTE,
  746. cls.TYPE_SONET_OC3: IFACE_TYPE_SONET_OC3,
  747. cls.TYPE_SONET_OC12: IFACE_TYPE_SONET_OC12,
  748. cls.TYPE_SONET_OC48: IFACE_TYPE_SONET_OC48,
  749. cls.TYPE_SONET_OC192: IFACE_TYPE_SONET_OC192,
  750. cls.TYPE_SONET_OC768: IFACE_TYPE_SONET_OC768,
  751. cls.TYPE_SONET_OC1920: IFACE_TYPE_SONET_OC1920,
  752. cls.TYPE_SONET_OC3840: IFACE_TYPE_SONET_OC3840,
  753. cls.TYPE_1GFC_SFP: IFACE_TYPE_1GFC_SFP,
  754. cls.TYPE_2GFC_SFP: IFACE_TYPE_2GFC_SFP,
  755. cls.TYPE_4GFC_SFP: IFACE_TYPE_4GFC_SFP,
  756. cls.TYPE_8GFC_SFP_PLUS: IFACE_TYPE_8GFC_SFP_PLUS,
  757. cls.TYPE_16GFC_SFP_PLUS: IFACE_TYPE_16GFC_SFP_PLUS,
  758. cls.TYPE_32GFC_SFP28: IFACE_TYPE_32GFC_SFP28,
  759. cls.TYPE_128GFC_QSFP28: IFACE_TYPE_128GFC_QSFP28,
  760. cls.TYPE_INFINIBAND_SDR: IFACE_TYPE_INFINIBAND_SDR,
  761. cls.TYPE_INFINIBAND_DDR: IFACE_TYPE_INFINIBAND_DDR,
  762. cls.TYPE_INFINIBAND_QDR: IFACE_TYPE_INFINIBAND_QDR,
  763. cls.TYPE_INFINIBAND_FDR10: IFACE_TYPE_INFINIBAND_FDR10,
  764. cls.TYPE_INFINIBAND_FDR: IFACE_TYPE_INFINIBAND_FDR,
  765. cls.TYPE_INFINIBAND_EDR: IFACE_TYPE_INFINIBAND_EDR,
  766. cls.TYPE_INFINIBAND_HDR: IFACE_TYPE_INFINIBAND_HDR,
  767. cls.TYPE_INFINIBAND_NDR: IFACE_TYPE_INFINIBAND_NDR,
  768. cls.TYPE_INFINIBAND_XDR: IFACE_TYPE_INFINIBAND_XDR,
  769. cls.TYPE_T1: IFACE_TYPE_T1,
  770. cls.TYPE_E1: IFACE_TYPE_E1,
  771. cls.TYPE_T3: IFACE_TYPE_T3,
  772. cls.TYPE_E3: IFACE_TYPE_E3,
  773. cls.TYPE_STACKWISE: IFACE_TYPE_STACKWISE,
  774. cls.TYPE_STACKWISE_PLUS: IFACE_TYPE_STACKWISE_PLUS,
  775. cls.TYPE_FLEXSTACK: IFACE_TYPE_FLEXSTACK,
  776. cls.TYPE_FLEXSTACK_PLUS: IFACE_TYPE_FLEXSTACK_PLUS,
  777. cls.TYPE_JUNIPER_VCP: IFACE_TYPE_JUNIPER_VCP,
  778. cls.TYPE_SUMMITSTACK: IFACE_TYPE_SUMMITSTACK,
  779. cls.TYPE_SUMMITSTACK128: IFACE_TYPE_SUMMITSTACK128,
  780. cls.TYPE_SUMMITSTACK256: IFACE_TYPE_SUMMITSTACK256,
  781. cls.TYPE_SUMMITSTACK512: IFACE_TYPE_SUMMITSTACK512,
  782. }.get(slug)
  783. #
  784. # Port type values
  785. #
  786. class PortTypes:
  787. """
  788. FrontPort/RearPort.type slugs
  789. """
  790. TYPE_8P8C = '8p8c'
  791. TYPE_110_PUNCH = '110-punch'
  792. TYPE_BNC = 'bnc'
  793. TYPE_ST = 'st'
  794. TYPE_SC = 'sc'
  795. TYPE_SC_APC = 'sc-apc'
  796. TYPE_FC = 'fc'
  797. TYPE_LC = 'lc'
  798. TYPE_LC_APC = 'lc-apc'
  799. TYPE_MTRJ = 'mtrj'
  800. TYPE_MPO = 'mpo'
  801. TYPE_LSH = 'lsh'
  802. TYPE_LSH_APC = 'lsh-apc'
  803. TYPE_CHOICES = (
  804. (
  805. 'Copper',
  806. (
  807. (TYPE_8P8C, '8P8C'),
  808. (TYPE_110_PUNCH, '110 Punch'),
  809. (TYPE_BNC, 'BNC'),
  810. ),
  811. ),
  812. (
  813. 'Fiber Optic',
  814. (
  815. (TYPE_FC, 'FC'),
  816. (TYPE_LC, 'LC'),
  817. (TYPE_LC_APC, 'LC/APC'),
  818. (TYPE_LSH, 'LSH'),
  819. (TYPE_LSH_APC, 'LSH/APC'),
  820. (TYPE_MPO, 'MPO'),
  821. (TYPE_MTRJ, 'MTRJ'),
  822. (TYPE_SC, 'SC'),
  823. (TYPE_SC_APC, 'SC/APC'),
  824. (TYPE_ST, 'ST'),
  825. )
  826. )
  827. )
  828. @classmethod
  829. def slug_to_integer(cls, slug):
  830. """
  831. Provide backward-compatible mapping of the type slug to integer.
  832. """
  833. return {
  834. # Slug: integer
  835. cls.TYPE_8P8C: PORT_TYPE_8P8C,
  836. cls.TYPE_110_PUNCH: PORT_TYPE_8P8C,
  837. cls.TYPE_BNC: PORT_TYPE_BNC,
  838. cls.TYPE_ST: PORT_TYPE_ST,
  839. cls.TYPE_SC: PORT_TYPE_SC,
  840. cls.TYPE_SC_APC: PORT_TYPE_SC_APC,
  841. cls.TYPE_FC: PORT_TYPE_FC,
  842. cls.TYPE_LC: PORT_TYPE_LC,
  843. cls.TYPE_LC_APC: PORT_TYPE_LC_APC,
  844. cls.TYPE_MTRJ: PORT_TYPE_MTRJ,
  845. cls.TYPE_MPO: PORT_TYPE_MPO,
  846. cls.TYPE_LSH: PORT_TYPE_LSH,
  847. cls.TYPE_LSH_APC: PORT_TYPE_LSH_APC,
  848. }.get(slug)