We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Add Extreme Networks SummitStack as port types
<!--
    Before opening a new issue, please search through the existing issues to
    see if your topic has already been addressed. Note that you may need to
    remove the "is:open" filter from the search bar to include closed issues.

    Check the appropriate type for your issue below by placing an x between the
    brackets. For assistance with installation issues, or for any other issues
    other than those listed below, please raise your topic for discussion on
    our mailing list:

        https://groups.google.com/forum/#!forum/netbox-discuss

    Please note that issues which do not fall under any of the below categories
    will be closed. Due to an excessive backlog of feature requests, we are
    not currently accepting any proposals which extend NetBox's feature scope.

    Do not prepend any sort of tag to your issue's title. An administrator will
    review your issue and assign labels as appropriate.
--->
### Issue type
[X] Feature request <!-- An enhancement of existing functionality -->
[ ] Bug report      <!-- Unexpected or erroneous behavior -->
[ ] Documentation   <!-- A modification to the documentation -->

<!--
    Please describe the environment in which you are running NetBox. (Be sure
    to verify that you are running the latest stable release of NetBox before
    submitting a bug report.) If you are submitting a bug report and have made
    any changes to the code base, please first validate that your bug can be
    recreated while running an official release.
-->
### Environment
* Python version:  3.5.2
* NetBox version:  2.3.5

<!--
    BUG REPORTS must include:
        * A list of the steps needed for someone else to reproduce the bug
        * A description of the expected and observed behavior
        * Any relevant error messages (screenshots may also help)

    FEATURE REQUESTS must include:
        * A detailed description of the proposed functionality
        * A use case for the new feature
        * A rough description of any necessary changes to the database schema
        * Any relevant third-party libraries which would be needed
-->
### Description
Adding support for Extreme stacking ports is fairly easy, just requires updating the constants.py to include the SummitStack, SummitStack128, and SummitStack512 port types under stacking.



--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `netbox/dcim/constants.py`
Content:
```
1 from __future__ import unicode_literals
2 
3 
4 # Rack types
5 RACK_TYPE_2POST = 100
6 RACK_TYPE_4POST = 200
7 RACK_TYPE_CABINET = 300
8 RACK_TYPE_WALLFRAME = 1000
9 RACK_TYPE_WALLCABINET = 1100
10 RACK_TYPE_CHOICES = (
11     (RACK_TYPE_2POST, '2-post frame'),
12     (RACK_TYPE_4POST, '4-post frame'),
13     (RACK_TYPE_CABINET, '4-post cabinet'),
14     (RACK_TYPE_WALLFRAME, 'Wall-mounted frame'),
15     (RACK_TYPE_WALLCABINET, 'Wall-mounted cabinet'),
16 )
17 
18 # Rack widths
19 RACK_WIDTH_19IN = 19
20 RACK_WIDTH_23IN = 23
21 RACK_WIDTH_CHOICES = (
22     (RACK_WIDTH_19IN, '19 inches'),
23     (RACK_WIDTH_23IN, '23 inches'),
24 )
25 
26 # Rack faces
27 RACK_FACE_FRONT = 0
28 RACK_FACE_REAR = 1
29 RACK_FACE_CHOICES = [
30     [RACK_FACE_FRONT, 'Front'],
31     [RACK_FACE_REAR, 'Rear'],
32 ]
33 
34 # Parent/child device roles
35 SUBDEVICE_ROLE_PARENT = True
36 SUBDEVICE_ROLE_CHILD = False
37 SUBDEVICE_ROLE_CHOICES = (
38     (None, 'None'),
39     (SUBDEVICE_ROLE_PARENT, 'Parent'),
40     (SUBDEVICE_ROLE_CHILD, 'Child'),
41 )
42 
43 # Interface ordering schemes (for device types)
44 IFACE_ORDERING_POSITION = 1
45 IFACE_ORDERING_NAME = 2
46 IFACE_ORDERING_CHOICES = [
47     [IFACE_ORDERING_POSITION, 'Slot/position'],
48     [IFACE_ORDERING_NAME, 'Name (alphabetically)']
49 ]
50 
51 # Interface form factors
52 # Virtual
53 IFACE_FF_VIRTUAL = 0
54 IFACE_FF_LAG = 200
55 # Ethernet
56 IFACE_FF_100ME_FIXED = 800
57 IFACE_FF_1GE_FIXED = 1000
58 IFACE_FF_1GE_GBIC = 1050
59 IFACE_FF_1GE_SFP = 1100
60 IFACE_FF_10GE_FIXED = 1150
61 IFACE_FF_10GE_CX4 = 1170
62 IFACE_FF_10GE_SFP_PLUS = 1200
63 IFACE_FF_10GE_XFP = 1300
64 IFACE_FF_10GE_XENPAK = 1310
65 IFACE_FF_10GE_X2 = 1320
66 IFACE_FF_25GE_SFP28 = 1350
67 IFACE_FF_40GE_QSFP_PLUS = 1400
68 IFACE_FF_100GE_CFP = 1500
69 IFACE_FF_100GE_CFP2 = 1510
70 IFACE_FF_100GE_CFP4 = 1520
71 IFACE_FF_100GE_CPAK = 1550
72 IFACE_FF_100GE_QSFP28 = 1600
73 # Wireless
74 IFACE_FF_80211A = 2600
75 IFACE_FF_80211G = 2610
76 IFACE_FF_80211N = 2620
77 IFACE_FF_80211AC = 2630
78 IFACE_FF_80211AD = 2640
79 # Fibrechannel
80 IFACE_FF_1GFC_SFP = 3010
81 IFACE_FF_2GFC_SFP = 3020
82 IFACE_FF_4GFC_SFP = 3040
83 IFACE_FF_8GFC_SFP_PLUS = 3080
84 IFACE_FF_16GFC_SFP_PLUS = 3160
85 # Serial
86 IFACE_FF_T1 = 4000
87 IFACE_FF_E1 = 4010
88 IFACE_FF_T3 = 4040
89 IFACE_FF_E3 = 4050
90 # Stacking
91 IFACE_FF_STACKWISE = 5000
92 IFACE_FF_STACKWISE_PLUS = 5050
93 IFACE_FF_FLEXSTACK = 5100
94 IFACE_FF_FLEXSTACK_PLUS = 5150
95 IFACE_FF_JUNIPER_VCP = 5200
96 # Other
97 IFACE_FF_OTHER = 32767
98 
99 IFACE_FF_CHOICES = [
100     [
101         'Virtual interfaces',
102         [
103             [IFACE_FF_VIRTUAL, 'Virtual'],
104             [IFACE_FF_LAG, 'Link Aggregation Group (LAG)'],
105         ],
106     ],
107     [
108         'Ethernet (fixed)',
109         [
110             [IFACE_FF_100ME_FIXED, '100BASE-TX (10/100ME)'],
111             [IFACE_FF_1GE_FIXED, '1000BASE-T (1GE)'],
112             [IFACE_FF_10GE_FIXED, '10GBASE-T (10GE)'],
113             [IFACE_FF_10GE_CX4, '10GBASE-CX4 (10GE)'],
114         ]
115     ],
116     [
117         'Ethernet (modular)',
118         [
119             [IFACE_FF_1GE_GBIC, 'GBIC (1GE)'],
120             [IFACE_FF_1GE_SFP, 'SFP (1GE)'],
121             [IFACE_FF_10GE_SFP_PLUS, 'SFP+ (10GE)'],
122             [IFACE_FF_10GE_XFP, 'XFP (10GE)'],
123             [IFACE_FF_10GE_XENPAK, 'XENPAK (10GE)'],
124             [IFACE_FF_10GE_X2, 'X2 (10GE)'],
125             [IFACE_FF_25GE_SFP28, 'SFP28 (25GE)'],
126             [IFACE_FF_40GE_QSFP_PLUS, 'QSFP+ (40GE)'],
127             [IFACE_FF_100GE_CFP, 'CFP (100GE)'],
128             [IFACE_FF_100GE_CFP2, 'CFP2 (100GE)'],
129             [IFACE_FF_100GE_CFP4, 'CFP4 (100GE)'],
130             [IFACE_FF_100GE_CPAK, 'Cisco CPAK (100GE)'],
131             [IFACE_FF_100GE_QSFP28, 'QSFP28 (100GE)'],
132         ]
133     ],
134     [
135         'Wireless',
136         [
137             [IFACE_FF_80211A, 'IEEE 802.11a'],
138             [IFACE_FF_80211G, 'IEEE 802.11b/g'],
139             [IFACE_FF_80211N, 'IEEE 802.11n'],
140             [IFACE_FF_80211AC, 'IEEE 802.11ac'],
141             [IFACE_FF_80211AD, 'IEEE 802.11ad'],
142         ]
143     ],
144     [
145         'FibreChannel',
146         [
147             [IFACE_FF_1GFC_SFP, 'SFP (1GFC)'],
148             [IFACE_FF_2GFC_SFP, 'SFP (2GFC)'],
149             [IFACE_FF_4GFC_SFP, 'SFP (4GFC)'],
150             [IFACE_FF_8GFC_SFP_PLUS, 'SFP+ (8GFC)'],
151             [IFACE_FF_16GFC_SFP_PLUS, 'SFP+ (16GFC)'],
152         ]
153     ],
154     [
155         'Serial',
156         [
157             [IFACE_FF_T1, 'T1 (1.544 Mbps)'],
158             [IFACE_FF_E1, 'E1 (2.048 Mbps)'],
159             [IFACE_FF_T3, 'T3 (45 Mbps)'],
160             [IFACE_FF_E3, 'E3 (34 Mbps)'],
161         ]
162     ],
163     [
164         'Stacking',
165         [
166             [IFACE_FF_STACKWISE, 'Cisco StackWise'],
167             [IFACE_FF_STACKWISE_PLUS, 'Cisco StackWise Plus'],
168             [IFACE_FF_FLEXSTACK, 'Cisco FlexStack'],
169             [IFACE_FF_FLEXSTACK_PLUS, 'Cisco FlexStack Plus'],
170             [IFACE_FF_JUNIPER_VCP, 'Juniper VCP'],
171         ]
172     ],
173     [
174         'Other',
175         [
176             [IFACE_FF_OTHER, 'Other'],
177         ]
178     ],
179 ]
180 
181 VIRTUAL_IFACE_TYPES = [
182     IFACE_FF_VIRTUAL,
183     IFACE_FF_LAG,
184 ]
185 
186 WIRELESS_IFACE_TYPES = [
187     IFACE_FF_80211A,
188     IFACE_FF_80211G,
189     IFACE_FF_80211N,
190     IFACE_FF_80211AC,
191     IFACE_FF_80211AD,
192 ]
193 
194 NONCONNECTABLE_IFACE_TYPES = VIRTUAL_IFACE_TYPES + WIRELESS_IFACE_TYPES
195 
196 IFACE_MODE_ACCESS = 100
197 IFACE_MODE_TAGGED = 200
198 IFACE_MODE_TAGGED_ALL = 300
199 IFACE_MODE_CHOICES = [
200     [IFACE_MODE_ACCESS, 'Access'],
201     [IFACE_MODE_TAGGED, 'Tagged'],
202     [IFACE_MODE_TAGGED_ALL, 'Tagged All'],
203 ]
204 
205 # Device statuses
206 DEVICE_STATUS_OFFLINE = 0
207 DEVICE_STATUS_ACTIVE = 1
208 DEVICE_STATUS_PLANNED = 2
209 DEVICE_STATUS_STAGED = 3
210 DEVICE_STATUS_FAILED = 4
211 DEVICE_STATUS_INVENTORY = 5
212 DEVICE_STATUS_CHOICES = [
213     [DEVICE_STATUS_ACTIVE, 'Active'],
214     [DEVICE_STATUS_OFFLINE, 'Offline'],
215     [DEVICE_STATUS_PLANNED, 'Planned'],
216     [DEVICE_STATUS_STAGED, 'Staged'],
217     [DEVICE_STATUS_FAILED, 'Failed'],
218     [DEVICE_STATUS_INVENTORY, 'Inventory'],
219 ]
220 
221 # Site statuses
222 SITE_STATUS_ACTIVE = 1
223 SITE_STATUS_PLANNED = 2
224 SITE_STATUS_RETIRED = 4
225 SITE_STATUS_CHOICES = [
226     [SITE_STATUS_ACTIVE, 'Active'],
227     [SITE_STATUS_PLANNED, 'Planned'],
228     [SITE_STATUS_RETIRED, 'Retired'],
229 ]
230 
231 # Bootstrap CSS classes for device statuses
232 STATUS_CLASSES = {
233     0: 'warning',
234     1: 'success',
235     2: 'info',
236     3: 'primary',
237     4: 'danger',
238     5: 'default',
239 }
240 
241 # Console/power/interface connection statuses
242 CONNECTION_STATUS_PLANNED = False
243 CONNECTION_STATUS_CONNECTED = True
244 CONNECTION_STATUS_CHOICES = [
245     [CONNECTION_STATUS_PLANNED, 'Planned'],
246     [CONNECTION_STATUS_CONNECTED, 'Connected'],
247 ]
248 
249 # Platform -> RPC client mappings
250 RPC_CLIENT_JUNIPER_JUNOS = 'juniper-junos'
251 RPC_CLIENT_CISCO_IOS = 'cisco-ios'
252 RPC_CLIENT_OPENGEAR = 'opengear'
253 RPC_CLIENT_CHOICES = [
254     [RPC_CLIENT_JUNIPER_JUNOS, 'Juniper Junos (NETCONF)'],
255     [RPC_CLIENT_CISCO_IOS, 'Cisco IOS (SSH)'],
256     [RPC_CLIENT_OPENGEAR, 'Opengear (SSH)'],
257 ]
258
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/netbox/dcim/constants.py b/netbox/dcim/constants.py
--- a/netbox/dcim/constants.py
+++ b/netbox/dcim/constants.py
@@ -93,6 +93,11 @@
 IFACE_FF_FLEXSTACK = 5100
 IFACE_FF_FLEXSTACK_PLUS = 5150
 IFACE_FF_JUNIPER_VCP = 5200
+IFACE_FF_EXTREME_SS = 5300
+IFACE_FF_EXTREME_SS128 = 5310
+IFACE_FF_EXTREME_SS256 = 5320
+IFACE_FF_EXTREME_SS512 = 5330
+
 # Other
 IFACE_FF_OTHER = 32767
 
@@ -168,6 +173,10 @@
             [IFACE_FF_FLEXSTACK, 'Cisco FlexStack'],
             [IFACE_FF_FLEXSTACK_PLUS, 'Cisco FlexStack Plus'],
             [IFACE_FF_JUNIPER_VCP, 'Juniper VCP'],
+            [IFACE_FF_EXTREME_SS, 'Extreme SummitStack'],
+            [IFACE_FF_EXTREME_SS128, 'Extreme SummitStack-128'],
+            [IFACE_FF_EXTREME_SS128, 'Extreme SummitStack-256'],
+            [IFACE_FF_EXTREME_SS512, 'Extreme SummitStack-512'],
         ]
     ],
     [

{"golden_diff": "diff --git a/netbox/dcim/constants.py b/netbox/dcim/constants.py\n--- a/netbox/dcim/constants.py\n+++ b/netbox/dcim/constants.py\n@@ -93,6 +93,11 @@\n IFACE_FF_FLEXSTACK = 5100\n IFACE_FF_FLEXSTACK_PLUS = 5150\n IFACE_FF_JUNIPER_VCP = 5200\n+IFACE_FF_EXTREME_SS = 5300\n+IFACE_FF_EXTREME_SS128 = 5310\n+IFACE_FF_EXTREME_SS256 = 5320\n+IFACE_FF_EXTREME_SS512 = 5330\n+\n # Other\n IFACE_FF_OTHER = 32767\n \n@@ -168,6 +173,10 @@\n             [IFACE_FF_FLEXSTACK, 'Cisco FlexStack'],\n             [IFACE_FF_FLEXSTACK_PLUS, 'Cisco FlexStack Plus'],\n             [IFACE_FF_JUNIPER_VCP, 'Juniper VCP'],\n+            [IFACE_FF_EXTREME_SS, 'Extreme SummitStack'],\n+            [IFACE_FF_EXTREME_SS128, 'Extreme SummitStack-128'],\n+            [IFACE_FF_EXTREME_SS128, 'Extreme SummitStack-256'],\n+            [IFACE_FF_EXTREME_SS512, 'Extreme SummitStack-512'],\n         ]\n     ],\n     [\n", "issue": "Add Extreme Networks SummitStack as port types\n<!--\r\n    Before opening a new issue, please search through the existing issues to\r\n    see if your topic has already been addressed. Note that you may need to\r\n    remove the \"is:open\" filter from the search bar to include closed issues.\r\n\r\n    Check the appropriate type for your issue below by placing an x between the\r\n    brackets. For assistance with installation issues, or for any other issues\r\n    other than those listed below, please raise your topic for discussion on\r\n    our mailing list:\r\n\r\n        https://groups.google.com/forum/#!forum/netbox-discuss\r\n\r\n    Please note that issues which do not fall under any of the below categories\r\n    will be closed. Due to an excessive backlog of feature requests, we are\r\n    not currently accepting any proposals which extend NetBox's feature scope.\r\n\r\n    Do not prepend any sort of tag to your issue's title. An administrator will\r\n    review your issue and assign labels as appropriate.\r\n--->\r\n### Issue type\r\n[X] Feature request <!-- An enhancement of existing functionality -->\r\n[ ] Bug report      <!-- Unexpected or erroneous behavior -->\r\n[ ] Documentation   <!-- A modification to the documentation -->\r\n\r\n<!--\r\n    Please describe the environment in which you are running NetBox. (Be sure\r\n    to verify that you are running the latest stable release of NetBox before\r\n    submitting a bug report.) If you are submitting a bug report and have made\r\n    any changes to the code base, please first validate that your bug can be\r\n    recreated while running an official release.\r\n-->\r\n### Environment\r\n* Python version:  3.5.2\r\n* NetBox version:  2.3.5\r\n\r\n<!--\r\n    BUG REPORTS must include:\r\n        * A list of the steps needed for someone else to reproduce the bug\r\n        * A description of the expected and observed behavior\r\n        * Any relevant error messages (screenshots may also help)\r\n\r\n    FEATURE REQUESTS must include:\r\n        * A detailed description of the proposed functionality\r\n        * A use case for the new feature\r\n        * A rough description of any necessary changes to the database schema\r\n        * Any relevant third-party libraries which would be needed\r\n-->\r\n### Description\r\nAdding support for Extreme stacking ports is fairly easy, just requires updating the constants.py to include the SummitStack, SummitStack128, and SummitStack512 port types under stacking.\r\n\r\n\n", "before_files": [{"content": "from __future__ import unicode_literals\n\n\n# Rack types\nRACK_TYPE_2POST = 100\nRACK_TYPE_4POST = 200\nRACK_TYPE_CABINET = 300\nRACK_TYPE_WALLFRAME = 1000\nRACK_TYPE_WALLCABINET = 1100\nRACK_TYPE_CHOICES = (\n    (RACK_TYPE_2POST, '2-post frame'),\n    (RACK_TYPE_4POST, '4-post frame'),\n    (RACK_TYPE_CABINET, '4-post cabinet'),\n    (RACK_TYPE_WALLFRAME, 'Wall-mounted frame'),\n    (RACK_TYPE_WALLCABINET, 'Wall-mounted cabinet'),\n)\n\n# Rack widths\nRACK_WIDTH_19IN = 19\nRACK_WIDTH_23IN = 23\nRACK_WIDTH_CHOICES = (\n    (RACK_WIDTH_19IN, '19 inches'),\n    (RACK_WIDTH_23IN, '23 inches'),\n)\n\n# Rack faces\nRACK_FACE_FRONT = 0\nRACK_FACE_REAR = 1\nRACK_FACE_CHOICES = [\n    [RACK_FACE_FRONT, 'Front'],\n    [RACK_FACE_REAR, 'Rear'],\n]\n\n# Parent/child device roles\nSUBDEVICE_ROLE_PARENT = True\nSUBDEVICE_ROLE_CHILD = False\nSUBDEVICE_ROLE_CHOICES = (\n    (None, 'None'),\n    (SUBDEVICE_ROLE_PARENT, 'Parent'),\n    (SUBDEVICE_ROLE_CHILD, 'Child'),\n)\n\n# Interface ordering schemes (for device types)\nIFACE_ORDERING_POSITION = 1\nIFACE_ORDERING_NAME = 2\nIFACE_ORDERING_CHOICES = [\n    [IFACE_ORDERING_POSITION, 'Slot/position'],\n    [IFACE_ORDERING_NAME, 'Name (alphabetically)']\n]\n\n# Interface form factors\n# Virtual\nIFACE_FF_VIRTUAL = 0\nIFACE_FF_LAG = 200\n# Ethernet\nIFACE_FF_100ME_FIXED = 800\nIFACE_FF_1GE_FIXED = 1000\nIFACE_FF_1GE_GBIC = 1050\nIFACE_FF_1GE_SFP = 1100\nIFACE_FF_10GE_FIXED = 1150\nIFACE_FF_10GE_CX4 = 1170\nIFACE_FF_10GE_SFP_PLUS = 1200\nIFACE_FF_10GE_XFP = 1300\nIFACE_FF_10GE_XENPAK = 1310\nIFACE_FF_10GE_X2 = 1320\nIFACE_FF_25GE_SFP28 = 1350\nIFACE_FF_40GE_QSFP_PLUS = 1400\nIFACE_FF_100GE_CFP = 1500\nIFACE_FF_100GE_CFP2 = 1510\nIFACE_FF_100GE_CFP4 = 1520\nIFACE_FF_100GE_CPAK = 1550\nIFACE_FF_100GE_QSFP28 = 1600\n# Wireless\nIFACE_FF_80211A = 2600\nIFACE_FF_80211G = 2610\nIFACE_FF_80211N = 2620\nIFACE_FF_80211AC = 2630\nIFACE_FF_80211AD = 2640\n# Fibrechannel\nIFACE_FF_1GFC_SFP = 3010\nIFACE_FF_2GFC_SFP = 3020\nIFACE_FF_4GFC_SFP = 3040\nIFACE_FF_8GFC_SFP_PLUS = 3080\nIFACE_FF_16GFC_SFP_PLUS = 3160\n# Serial\nIFACE_FF_T1 = 4000\nIFACE_FF_E1 = 4010\nIFACE_FF_T3 = 4040\nIFACE_FF_E3 = 4050\n# Stacking\nIFACE_FF_STACKWISE = 5000\nIFACE_FF_STACKWISE_PLUS = 5050\nIFACE_FF_FLEXSTACK = 5100\nIFACE_FF_FLEXSTACK_PLUS = 5150\nIFACE_FF_JUNIPER_VCP = 5200\n# Other\nIFACE_FF_OTHER = 32767\n\nIFACE_FF_CHOICES = [\n    [\n        'Virtual interfaces',\n        [\n            [IFACE_FF_VIRTUAL, 'Virtual'],\n            [IFACE_FF_LAG, 'Link Aggregation Group (LAG)'],\n        ],\n    ],\n    [\n        'Ethernet (fixed)',\n        [\n            [IFACE_FF_100ME_FIXED, '100BASE-TX (10/100ME)'],\n            [IFACE_FF_1GE_FIXED, '1000BASE-T (1GE)'],\n            [IFACE_FF_10GE_FIXED, '10GBASE-T (10GE)'],\n            [IFACE_FF_10GE_CX4, '10GBASE-CX4 (10GE)'],\n        ]\n    ],\n    [\n        'Ethernet (modular)',\n        [\n            [IFACE_FF_1GE_GBIC, 'GBIC (1GE)'],\n            [IFACE_FF_1GE_SFP, 'SFP (1GE)'],\n            [IFACE_FF_10GE_SFP_PLUS, 'SFP+ (10GE)'],\n            [IFACE_FF_10GE_XFP, 'XFP (10GE)'],\n            [IFACE_FF_10GE_XENPAK, 'XENPAK (10GE)'],\n            [IFACE_FF_10GE_X2, 'X2 (10GE)'],\n            [IFACE_FF_25GE_SFP28, 'SFP28 (25GE)'],\n            [IFACE_FF_40GE_QSFP_PLUS, 'QSFP+ (40GE)'],\n            [IFACE_FF_100GE_CFP, 'CFP (100GE)'],\n            [IFACE_FF_100GE_CFP2, 'CFP2 (100GE)'],\n            [IFACE_FF_100GE_CFP4, 'CFP4 (100GE)'],\n            [IFACE_FF_100GE_CPAK, 'Cisco CPAK (100GE)'],\n            [IFACE_FF_100GE_QSFP28, 'QSFP28 (100GE)'],\n        ]\n    ],\n    [\n        'Wireless',\n        [\n            [IFACE_FF_80211A, 'IEEE 802.11a'],\n            [IFACE_FF_80211G, 'IEEE 802.11b/g'],\n            [IFACE_FF_80211N, 'IEEE 802.11n'],\n            [IFACE_FF_80211AC, 'IEEE 802.11ac'],\n            [IFACE_FF_80211AD, 'IEEE 802.11ad'],\n        ]\n    ],\n    [\n        'FibreChannel',\n        [\n            [IFACE_FF_1GFC_SFP, 'SFP (1GFC)'],\n            [IFACE_FF_2GFC_SFP, 'SFP (2GFC)'],\n            [IFACE_FF_4GFC_SFP, 'SFP (4GFC)'],\n            [IFACE_FF_8GFC_SFP_PLUS, 'SFP+ (8GFC)'],\n            [IFACE_FF_16GFC_SFP_PLUS, 'SFP+ (16GFC)'],\n        ]\n    ],\n    [\n        'Serial',\n        [\n            [IFACE_FF_T1, 'T1 (1.544 Mbps)'],\n            [IFACE_FF_E1, 'E1 (2.048 Mbps)'],\n            [IFACE_FF_T3, 'T3 (45 Mbps)'],\n            [IFACE_FF_E3, 'E3 (34 Mbps)'],\n        ]\n    ],\n    [\n        'Stacking',\n        [\n            [IFACE_FF_STACKWISE, 'Cisco StackWise'],\n            [IFACE_FF_STACKWISE_PLUS, 'Cisco StackWise Plus'],\n            [IFACE_FF_FLEXSTACK, 'Cisco FlexStack'],\n            [IFACE_FF_FLEXSTACK_PLUS, 'Cisco FlexStack Plus'],\n            [IFACE_FF_JUNIPER_VCP, 'Juniper VCP'],\n        ]\n    ],\n    [\n        'Other',\n        [\n            [IFACE_FF_OTHER, 'Other'],\n        ]\n    ],\n]\n\nVIRTUAL_IFACE_TYPES = [\n    IFACE_FF_VIRTUAL,\n    IFACE_FF_LAG,\n]\n\nWIRELESS_IFACE_TYPES = [\n    IFACE_FF_80211A,\n    IFACE_FF_80211G,\n    IFACE_FF_80211N,\n    IFACE_FF_80211AC,\n    IFACE_FF_80211AD,\n]\n\nNONCONNECTABLE_IFACE_TYPES = VIRTUAL_IFACE_TYPES + WIRELESS_IFACE_TYPES\n\nIFACE_MODE_ACCESS = 100\nIFACE_MODE_TAGGED = 200\nIFACE_MODE_TAGGED_ALL = 300\nIFACE_MODE_CHOICES = [\n    [IFACE_MODE_ACCESS, 'Access'],\n    [IFACE_MODE_TAGGED, 'Tagged'],\n    [IFACE_MODE_TAGGED_ALL, 'Tagged All'],\n]\n\n# Device statuses\nDEVICE_STATUS_OFFLINE = 0\nDEVICE_STATUS_ACTIVE = 1\nDEVICE_STATUS_PLANNED = 2\nDEVICE_STATUS_STAGED = 3\nDEVICE_STATUS_FAILED = 4\nDEVICE_STATUS_INVENTORY = 5\nDEVICE_STATUS_CHOICES = [\n    [DEVICE_STATUS_ACTIVE, 'Active'],\n    [DEVICE_STATUS_OFFLINE, 'Offline'],\n    [DEVICE_STATUS_PLANNED, 'Planned'],\n    [DEVICE_STATUS_STAGED, 'Staged'],\n    [DEVICE_STATUS_FAILED, 'Failed'],\n    [DEVICE_STATUS_INVENTORY, 'Inventory'],\n]\n\n# Site statuses\nSITE_STATUS_ACTIVE = 1\nSITE_STATUS_PLANNED = 2\nSITE_STATUS_RETIRED = 4\nSITE_STATUS_CHOICES = [\n    [SITE_STATUS_ACTIVE, 'Active'],\n    [SITE_STATUS_PLANNED, 'Planned'],\n    [SITE_STATUS_RETIRED, 'Retired'],\n]\n\n# Bootstrap CSS classes for device statuses\nSTATUS_CLASSES = {\n    0: 'warning',\n    1: 'success',\n    2: 'info',\n    3: 'primary',\n    4: 'danger',\n    5: 'default',\n}\n\n# Console/power/interface connection statuses\nCONNECTION_STATUS_PLANNED = False\nCONNECTION_STATUS_CONNECTED = True\nCONNECTION_STATUS_CHOICES = [\n    [CONNECTION_STATUS_PLANNED, 'Planned'],\n    [CONNECTION_STATUS_CONNECTED, 'Connected'],\n]\n\n# Platform -> RPC client mappings\nRPC_CLIENT_JUNIPER_JUNOS = 'juniper-junos'\nRPC_CLIENT_CISCO_IOS = 'cisco-ios'\nRPC_CLIENT_OPENGEAR = 'opengear'\nRPC_CLIENT_CHOICES = [\n    [RPC_CLIENT_JUNIPER_JUNOS, 'Juniper Junos (NETCONF)'],\n    [RPC_CLIENT_CISCO_IOS, 'Cisco IOS (SSH)'],\n    [RPC_CLIENT_OPENGEAR, 'Opengear (SSH)'],\n]\n", "path": "netbox/dcim/constants.py"}], "after_files": [{"content": "from __future__ import unicode_literals\n\n\n# Rack types\nRACK_TYPE_2POST = 100\nRACK_TYPE_4POST = 200\nRACK_TYPE_CABINET = 300\nRACK_TYPE_WALLFRAME = 1000\nRACK_TYPE_WALLCABINET = 1100\nRACK_TYPE_CHOICES = (\n    (RACK_TYPE_2POST, '2-post frame'),\n    (RACK_TYPE_4POST, '4-post frame'),\n    (RACK_TYPE_CABINET, '4-post cabinet'),\n    (RACK_TYPE_WALLFRAME, 'Wall-mounted frame'),\n    (RACK_TYPE_WALLCABINET, 'Wall-mounted cabinet'),\n)\n\n# Rack widths\nRACK_WIDTH_19IN = 19\nRACK_WIDTH_23IN = 23\nRACK_WIDTH_CHOICES = (\n    (RACK_WIDTH_19IN, '19 inches'),\n    (RACK_WIDTH_23IN, '23 inches'),\n)\n\n# Rack faces\nRACK_FACE_FRONT = 0\nRACK_FACE_REAR = 1\nRACK_FACE_CHOICES = [\n    [RACK_FACE_FRONT, 'Front'],\n    [RACK_FACE_REAR, 'Rear'],\n]\n\n# Parent/child device roles\nSUBDEVICE_ROLE_PARENT = True\nSUBDEVICE_ROLE_CHILD = False\nSUBDEVICE_ROLE_CHOICES = (\n    (None, 'None'),\n    (SUBDEVICE_ROLE_PARENT, 'Parent'),\n    (SUBDEVICE_ROLE_CHILD, 'Child'),\n)\n\n# Interface ordering schemes (for device types)\nIFACE_ORDERING_POSITION = 1\nIFACE_ORDERING_NAME = 2\nIFACE_ORDERING_CHOICES = [\n    [IFACE_ORDERING_POSITION, 'Slot/position'],\n    [IFACE_ORDERING_NAME, 'Name (alphabetically)']\n]\n\n# Interface form factors\n# Virtual\nIFACE_FF_VIRTUAL = 0\nIFACE_FF_LAG = 200\n# Ethernet\nIFACE_FF_100ME_FIXED = 800\nIFACE_FF_1GE_FIXED = 1000\nIFACE_FF_1GE_GBIC = 1050\nIFACE_FF_1GE_SFP = 1100\nIFACE_FF_10GE_FIXED = 1150\nIFACE_FF_10GE_CX4 = 1170\nIFACE_FF_10GE_SFP_PLUS = 1200\nIFACE_FF_10GE_XFP = 1300\nIFACE_FF_10GE_XENPAK = 1310\nIFACE_FF_10GE_X2 = 1320\nIFACE_FF_25GE_SFP28 = 1350\nIFACE_FF_40GE_QSFP_PLUS = 1400\nIFACE_FF_100GE_CFP = 1500\nIFACE_FF_100GE_CFP2 = 1510\nIFACE_FF_100GE_CFP4 = 1520\nIFACE_FF_100GE_CPAK = 1550\nIFACE_FF_100GE_QSFP28 = 1600\n# Wireless\nIFACE_FF_80211A = 2600\nIFACE_FF_80211G = 2610\nIFACE_FF_80211N = 2620\nIFACE_FF_80211AC = 2630\nIFACE_FF_80211AD = 2640\n# Fibrechannel\nIFACE_FF_1GFC_SFP = 3010\nIFACE_FF_2GFC_SFP = 3020\nIFACE_FF_4GFC_SFP = 3040\nIFACE_FF_8GFC_SFP_PLUS = 3080\nIFACE_FF_16GFC_SFP_PLUS = 3160\n# Serial\nIFACE_FF_T1 = 4000\nIFACE_FF_E1 = 4010\nIFACE_FF_T3 = 4040\nIFACE_FF_E3 = 4050\n# Stacking\nIFACE_FF_STACKWISE = 5000\nIFACE_FF_STACKWISE_PLUS = 5050\nIFACE_FF_FLEXSTACK = 5100\nIFACE_FF_FLEXSTACK_PLUS = 5150\nIFACE_FF_JUNIPER_VCP = 5200\nIFACE_FF_EXTREME_SS = 5300\nIFACE_FF_EXTREME_SS128 = 5310\nIFACE_FF_EXTREME_SS256 = 5320\nIFACE_FF_EXTREME_SS512 = 5330\n\n# Other\nIFACE_FF_OTHER = 32767\n\nIFACE_FF_CHOICES = [\n    [\n        'Virtual interfaces',\n        [\n            [IFACE_FF_VIRTUAL, 'Virtual'],\n            [IFACE_FF_LAG, 'Link Aggregation Group (LAG)'],\n        ],\n    ],\n    [\n        'Ethernet (fixed)',\n        [\n            [IFACE_FF_100ME_FIXED, '100BASE-TX (10/100ME)'],\n            [IFACE_FF_1GE_FIXED, '1000BASE-T (1GE)'],\n            [IFACE_FF_10GE_FIXED, '10GBASE-T (10GE)'],\n            [IFACE_FF_10GE_CX4, '10GBASE-CX4 (10GE)'],\n        ]\n    ],\n    [\n        'Ethernet (modular)',\n        [\n            [IFACE_FF_1GE_GBIC, 'GBIC (1GE)'],\n            [IFACE_FF_1GE_SFP, 'SFP (1GE)'],\n            [IFACE_FF_10GE_SFP_PLUS, 'SFP+ (10GE)'],\n            [IFACE_FF_10GE_XFP, 'XFP (10GE)'],\n            [IFACE_FF_10GE_XENPAK, 'XENPAK (10GE)'],\n            [IFACE_FF_10GE_X2, 'X2 (10GE)'],\n            [IFACE_FF_25GE_SFP28, 'SFP28 (25GE)'],\n            [IFACE_FF_40GE_QSFP_PLUS, 'QSFP+ (40GE)'],\n            [IFACE_FF_100GE_CFP, 'CFP (100GE)'],\n            [IFACE_FF_100GE_CFP2, 'CFP2 (100GE)'],\n            [IFACE_FF_100GE_CFP4, 'CFP4 (100GE)'],\n            [IFACE_FF_100GE_CPAK, 'Cisco CPAK (100GE)'],\n            [IFACE_FF_100GE_QSFP28, 'QSFP28 (100GE)'],\n        ]\n    ],\n    [\n        'Wireless',\n        [\n            [IFACE_FF_80211A, 'IEEE 802.11a'],\n            [IFACE_FF_80211G, 'IEEE 802.11b/g'],\n            [IFACE_FF_80211N, 'IEEE 802.11n'],\n            [IFACE_FF_80211AC, 'IEEE 802.11ac'],\n            [IFACE_FF_80211AD, 'IEEE 802.11ad'],\n        ]\n    ],\n    [\n        'FibreChannel',\n        [\n            [IFACE_FF_1GFC_SFP, 'SFP (1GFC)'],\n            [IFACE_FF_2GFC_SFP, 'SFP (2GFC)'],\n            [IFACE_FF_4GFC_SFP, 'SFP (4GFC)'],\n            [IFACE_FF_8GFC_SFP_PLUS, 'SFP+ (8GFC)'],\n            [IFACE_FF_16GFC_SFP_PLUS, 'SFP+ (16GFC)'],\n        ]\n    ],\n    [\n        'Serial',\n        [\n            [IFACE_FF_T1, 'T1 (1.544 Mbps)'],\n            [IFACE_FF_E1, 'E1 (2.048 Mbps)'],\n            [IFACE_FF_T3, 'T3 (45 Mbps)'],\n            [IFACE_FF_E3, 'E3 (34 Mbps)'],\n        ]\n    ],\n    [\n        'Stacking',\n        [\n            [IFACE_FF_STACKWISE, 'Cisco StackWise'],\n            [IFACE_FF_STACKWISE_PLUS, 'Cisco StackWise Plus'],\n            [IFACE_FF_FLEXSTACK, 'Cisco FlexStack'],\n            [IFACE_FF_FLEXSTACK_PLUS, 'Cisco FlexStack Plus'],\n            [IFACE_FF_JUNIPER_VCP, 'Juniper VCP'],\n            [IFACE_FF_EXTREME_SS, 'Extreme SummitStack'],\n            [IFACE_FF_EXTREME_SS128, 'Extreme SummitStack-128'],\n            [IFACE_FF_EXTREME_SS128, 'Extreme SummitStack-256'],\n            [IFACE_FF_EXTREME_SS512, 'Extreme SummitStack-512'],\n        ]\n    ],\n    [\n        'Other',\n        [\n            [IFACE_FF_OTHER, 'Other'],\n        ]\n    ],\n]\n\nVIRTUAL_IFACE_TYPES = [\n    IFACE_FF_VIRTUAL,\n    IFACE_FF_LAG,\n]\n\nWIRELESS_IFACE_TYPES = [\n    IFACE_FF_80211A,\n    IFACE_FF_80211G,\n    IFACE_FF_80211N,\n    IFACE_FF_80211AC,\n    IFACE_FF_80211AD,\n]\n\nNONCONNECTABLE_IFACE_TYPES = VIRTUAL_IFACE_TYPES + WIRELESS_IFACE_TYPES\n\nIFACE_MODE_ACCESS = 100\nIFACE_MODE_TAGGED = 200\nIFACE_MODE_TAGGED_ALL = 300\nIFACE_MODE_CHOICES = [\n    [IFACE_MODE_ACCESS, 'Access'],\n    [IFACE_MODE_TAGGED, 'Tagged'],\n    [IFACE_MODE_TAGGED_ALL, 'Tagged All'],\n]\n\n# Device statuses\nDEVICE_STATUS_OFFLINE = 0\nDEVICE_STATUS_ACTIVE = 1\nDEVICE_STATUS_PLANNED = 2\nDEVICE_STATUS_STAGED = 3\nDEVICE_STATUS_FAILED = 4\nDEVICE_STATUS_INVENTORY = 5\nDEVICE_STATUS_CHOICES = [\n    [DEVICE_STATUS_ACTIVE, 'Active'],\n    [DEVICE_STATUS_OFFLINE, 'Offline'],\n    [DEVICE_STATUS_PLANNED, 'Planned'],\n    [DEVICE_STATUS_STAGED, 'Staged'],\n    [DEVICE_STATUS_FAILED, 'Failed'],\n    [DEVICE_STATUS_INVENTORY, 'Inventory'],\n]\n\n# Site statuses\nSITE_STATUS_ACTIVE = 1\nSITE_STATUS_PLANNED = 2\nSITE_STATUS_RETIRED = 4\nSITE_STATUS_CHOICES = [\n    [SITE_STATUS_ACTIVE, 'Active'],\n    [SITE_STATUS_PLANNED, 'Planned'],\n    [SITE_STATUS_RETIRED, 'Retired'],\n]\n\n# Bootstrap CSS classes for device statuses\nSTATUS_CLASSES = {\n    0: 'warning',\n    1: 'success',\n    2: 'info',\n    3: 'primary',\n    4: 'danger',\n    5: 'default',\n}\n\n# Console/power/interface connection statuses\nCONNECTION_STATUS_PLANNED = False\nCONNECTION_STATUS_CONNECTED = True\nCONNECTION_STATUS_CHOICES = [\n    [CONNECTION_STATUS_PLANNED, 'Planned'],\n    [CONNECTION_STATUS_CONNECTED, 'Connected'],\n]\n\n# Platform -> RPC client mappings\nRPC_CLIENT_JUNIPER_JUNOS = 'juniper-junos'\nRPC_CLIENT_CISCO_IOS = 'cisco-ios'\nRPC_CLIENT_OPENGEAR = 'opengear'\nRPC_CLIENT_CHOICES = [\n    [RPC_CLIENT_JUNIPER_JUNOS, 'Juniper Junos (NETCONF)'],\n    [RPC_CLIENT_CISCO_IOS, 'Cisco IOS (SSH)'],\n    [RPC_CLIENT_OPENGEAR, 'Opengear (SSH)'],\n]\n", "path": "netbox/dcim/constants.py"}]}