dbe5d3c82f2a36c130282566c9d4ecd8e3b35c09
[racktables-incomplete-works] / wwwroot / inc / snmp.php
1 <?php
2
3 # This file is a part of RackTables, a datacenter and server room management
4 # framework. See accompanying file "COPYING" for the full copyright and
5 # licensing information.
6
7 global $iftable_processors;
8 $iftable_processors = array();
9
10 $iftable_processors['generic-e-any-100TX'] = array
11 (
12 'pattern' => '@^e(\d+)$@',
13 'replacement' => 'e\\1',
14 'dict_key' => 19,
15 'label' => '\\1',
16 'try_next_proc' => FALSE,
17 );
18
19 $iftable_processors['generic-fa-any-100TX'] = array
20 (
21 'pattern' => '@^fa(\d+)$@',
22 'replacement' => 'fa\\1',
23 'dict_key' => 19,
24 'label' => '\\1',
25 'try_next_proc' => FALSE,
26 );
27
28 $iftable_processors['generic-g45-to-g48-combo-1000SFP'] = array
29 (
30 'pattern' => '@^g(45|46|47|48)$@',
31 'replacement' => 'g\\1',
32 'dict_key' => '4-1077',
33 'label' => 'g\\1',
34 'try_next_proc' => TRUE,
35 );
36
37 $iftable_processors['generic-g-any-1000T'] = array
38 (
39 'pattern' => '@^g(\d+)$@',
40 'replacement' => 'g\\1',
41 'dict_key' => 24,
42 'label' => '\\1',
43 'try_next_proc' => FALSE,
44 );
45
46 $iftable_processors['generic-g-1-to-2-1000T'] = array
47 (
48 'pattern' => '@^g(1|2)$@',
49 'replacement' => 'g\\1',
50 'dict_key' => 24,
51 'label' => 'G\\1',
52 'try_next_proc' => TRUE,
53 );
54
55 $iftable_processors['generic-g-3-to-4-combo-1000SFP'] = array
56 (
57 'pattern' => '@^g(3|4)$@',
58 'replacement' => 'g\\1',
59 'dict_key' => '4-1077',
60 'label' => 'G\\1',
61 'try_next_proc' => TRUE,
62 );
63
64 $iftable_processors['generic-g-3-to-4-combo-1000T'] = array
65 (
66 'pattern' => '@^g(3|4)$@',
67 'replacement' => 'g\\1',
68 'dict_key' => '1-24',
69 'label' => 'G\\1',
70 'try_next_proc' => TRUE,
71 );
72
73 $iftable_processors['generic-gi-any-1000T'] = array
74 (
75 'pattern' => '@^gi(\d+)$@',
76 'replacement' => 'gi\\1',
77 'dict_key' => 24,
78 'label' => '\\1',
79 'try_next_proc' => FALSE,
80 );
81
82 $iftable_processors['generic-gi-1-to-2-1000T'] = array
83 (
84 'pattern' => '@^gi(\d+)$@',
85 'replacement' => 'gi\\1',
86 'dict_key' => 24,
87 'label' => 'G\\1',
88 'try_next_proc' => FALSE,
89 );
90
91 $iftable_processors['generic-gi-1-to-2-combo-1000SFP'] = array
92 (
93 'pattern' => '@^gi(1|2)$@',
94 'replacement' => 'gi\\1',
95 'dict_key' => '4-1077',
96 'label' => 'G\\1',
97 'try_next_proc' => TRUE,
98 );
99
100 $iftable_processors['generic-gi-3-to-4-combo-1000SFP'] = array
101 (
102 'pattern' => '@^gi(3|4)$@',
103 'replacement' => 'gi\\1',
104 'dict_key' => '4-1077',
105 'label' => 'G\\1',
106 'try_next_proc' => TRUE,
107 );
108
109 $iftable_processors['generic-gi-3-to-4-combo-1000T'] = array
110 (
111 'pattern' => '@^gi(3|4)$@',
112 'replacement' => 'gi\\1',
113 'dict_key' => '1-24',
114 'label' => 'G\\1',
115 'try_next_proc' => FALSE,
116 );
117
118 $iftable_processors['generic-gi-9-to-10-combo-1000SFP'] = array
119 (
120 'pattern' => '@^gi(9|10)$@',
121 'replacement' => 'gi\\1',
122 'dict_key' => '4-1077',
123 'label' => 'G\\1',
124 'try_next_proc' => TRUE,
125 );
126
127 $iftable_processors['generic-gi-9-to-10-combo-1000T'] = array
128 (
129 'pattern' => '@^gi(9|10)$@',
130 'replacement' => 'gi\\1',
131 'dict_key' => '1-24',
132 'label' => 'G\\1',
133 'try_next_proc' => FALSE,
134 );
135
136 $iftable_processors['generic-gi-51-to-52-combo-1000SFP'] = array
137 (
138 'pattern' => '@^gi(51|52)$@',
139 'replacement' => 'gi\\1',
140 'dict_key' => '4-1077',
141 'label' => 'G\\1',
142 'try_next_proc' => TRUE,
143 );
144
145 $iftable_processors['generic-gi-51-to-52-combo-1000T'] = array
146 (
147 'pattern' => '@^gi(51|52)$@',
148 'replacement' => 'gi\\1',
149 'dict_key' => '1-24',
150 'label' => 'G\\1',
151 'try_next_proc' => FALSE,
152 );
153
154 $iftable_processors['generic-port-any-1000T'] = array
155 (
156 'pattern' => '@^port([[:digit:]]+)$@',
157 'replacement' => '\\1',
158 'dict_key' => 24,
159 'label' => '\\1',
160 'try_next_proc' => FALSE,
161 );
162
163 $iftable_processors['generic-any-1000T'] = array
164 (
165 'pattern' => '@^([[:digit:]]+)$@',
166 'replacement' => '\\1',
167 'dict_key' => 24,
168 'label' => '\\1',
169 'try_next_proc' => FALSE,
170 );
171
172 $iftable_processors['generic-21-to-24-combo-1000SFP'] = array
173 (
174 'pattern' => '@^(21|22|23|24)$@',
175 'replacement' => '\\1',
176 'dict_key' => '4-1077',
177 'label' => '\\1',
178 'try_next_proc' => TRUE,
179 );
180
181 $iftable_processors['catalyst-any-10TX'] = array
182 (
183 'pattern' => '@^([[:digit:]]+)$@',
184 'replacement' => '\\1',
185 'dict_key' => 18,
186 'label' => '\\1x',
187 'try_next_proc' => FALSE,
188 );
189
190 $iftable_processors['catalyst-any-100TX'] = array
191 (
192 'pattern' => '@^FastEthernet(\d+)$@',
193 'replacement' => 'fa\\1',
194 'dict_key' => 19,
195 'label' => 'fa\\1',
196 'try_next_proc' => FALSE,
197 );
198
199 $iftable_processors['catalyst-a-to-b-100TX'] = array
200 (
201 'pattern' => '@^(A|B)$@',
202 'replacement' => '\\1',
203 'dict_key' => 19,
204 'label' => '\\1x',
205 'try_next_proc' => FALSE,
206 );
207
208 $iftable_processors['catalyst-any-1000T'] = array
209 (
210 'pattern' => '@^GigabitEthernet(\d+)$@',
211 'replacement' => 'gi\\1',
212 'dict_key' => 24,
213 'label' => 'gi\\1',
214 'try_next_proc' => FALSE,
215 );
216
217 $iftable_processors['catalyst-9-to-12-combo-1000SFP'] = array
218 (
219 'pattern' => '@^GigabitEthernet(9|10|11|12)$@',
220 'replacement' => 'gi\\1',
221 'dict_key' => '4-1077',
222 'label' => 'gi\\1',
223 'try_next_proc' => TRUE,
224 );
225
226 $iftable_processors['catalyst-9-to-12-1000T'] = array
227 (
228 'pattern' => '@^GigabitEthernet(9|10|11|12)$@',
229 'replacement' => 'gi\\1',
230 'dict_key' => 24,
231 'label' => 'gi\\1',
232 'try_next_proc' => FALSE,
233 );
234
235 $iftable_processors['catalyst-chassis-mgmt'] = array
236 (
237 'pattern' => '@^FastEthernet([[:digit:]])$@',
238 'replacement' => 'fa\\1',
239 'dict_key' => '1-19',
240 'label' => 'mgmt',
241 'try_next_proc' => FALSE,
242 );
243
244 $iftable_processors['catalyst-chassis-25-to-26-1000SFP'] = array
245 (
246 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(25|26)$@',
247 'replacement' => 'gi\\1\\2',
248 'dict_key' => '4-1077',
249 'label' => '\\2X',
250 'try_next_proc' => FALSE,
251 );
252
253 $iftable_processors['catalyst-chassis-any-100TX'] = array
254 (
255 'pattern' => '@^FastEthernet([[:digit:]]+/)?([[:digit:]]+)$@',
256 'replacement' => 'fa\\1\\2',
257 'dict_key' => 19,
258 'label' => '\\2X',
259 'try_next_proc' => FALSE,
260 );
261
262 $iftable_processors['catalyst-chassis-25-to-26-100FX/MT-RJ'] = array
263 (
264 'pattern' => '@^FastEthernet([[:digit:]]+/)?(25|26)$@',
265 'replacement' => 'fa\\1\\2',
266 'dict_key' => 1195,
267 'label' => '\\2',
268 'try_next_proc' => FALSE,
269 );
270
271 $iftable_processors['catalyst-chassis-any-1000T'] = array
272 (
273 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?([[:digit:]]+)$@',
274 'replacement' => 'gi\\1\\2',
275 'dict_key' => 24,
276 'label' => '\\2X',
277 'try_next_proc' => FALSE,
278 );
279
280 $iftable_processors['catalyst-chassis-uplinks-1000T'] = array
281 (
282 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?([[:digit:]]+)$@',
283 'replacement' => 'gi\\1\\2',
284 'dict_key' => 24,
285 'label' => '\\2',
286 'try_next_proc' => FALSE,
287 );
288
289 $iftable_processors['catalyst-chassis-uplinks-1000SX'] = array
290 (
291 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?([[:digit:]]+)$@',
292 'replacement' => 'gi\\1\\2',
293 'dict_key' => '1-1202', // Gig-SX hardwired
294 'label' => '\\2',
295 'try_next_proc' => FALSE,
296 );
297
298 $iftable_processors['catalyst-chassis-any-1000SFP'] = array
299 (
300 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?([[:digit:]]+)$@',
301 'replacement' => 'gi\\1\\2',
302 'dict_key' => '4-1077',
303 'label' => '\\2',
304 'try_next_proc' => FALSE,
305 );
306
307 $iftable_processors['catalyst-chassis-any-1000GBIC'] = array
308 (
309 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?([[:digit:]]+)$@',
310 'replacement' => 'gi\\1\\2',
311 'dict_key' => '3-1078',
312 'label' => '\\2',
313 'try_next_proc' => FALSE,
314 );
315
316 $iftable_processors['catalyst-chassis-1-to-2-combo-1000SFP'] = array
317 (
318 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(1|2)$@',
319 'replacement' => 'gi\\1\\2',
320 'dict_key' => '4-1077',
321 'label' => '\\2',
322 'try_next_proc' => TRUE,
323 );
324
325 $iftable_processors['catalyst-chassis-1-to-2-1000SFP'] = array
326 (
327 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(1|2)$@',
328 'replacement' => 'gi\\1\\2',
329 'dict_key' => '4-1077',
330 'label' => '\\2',
331 'try_next_proc' => FALSE,
332 );
333
334 $iftable_processors['catalyst-chassis-1-to-2-combo-1000T'] = array (
335 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(1|2)$@',
336 'replacement' => 'gi\\1\\2',
337 'dict_key' => 24,
338 'label' => '\\2',
339 'try_next_proc' => TRUE,
340 );
341
342 $iftable_processors['catalyst-chassis-8-combo-1000SFP'] = array
343 (
344 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(8)$@',
345 'replacement' => 'gi\\1\\2',
346 'dict_key' => '4-1077',
347 'label' => '\\2',
348 'try_next_proc' => TRUE,
349 );
350
351 $iftable_processors['catalyst-chassis-21-to-24-combo-1000SFP'] = array
352 (
353 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(21|22|23|24)$@',
354 'replacement' => 'gi\\1\\2',
355 'dict_key' => '4-1077',
356 'label' => '\\2',
357 'try_next_proc' => TRUE,
358 );
359
360 $iftable_processors['catalyst-chassis-45-to-48-combo-1000SFP'] = array
361 (
362 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(45|46|47|48)$@',
363 'replacement' => 'gi\\1\\2',
364 'dict_key' => '4-1077',
365 'label' => '\\2',
366 'try_next_proc' => TRUE,
367 );
368
369 $iftable_processors['catalyst-chassis-uplinks-10000X2'] = array
370 (
371 'pattern' => '@^TenGigabitEthernet([[:digit:]]+/)?([[:digit:]]+)$@',
372 'replacement' => 'te\\1\\2',
373 'dict_key' => '6-1080',
374 'label' => '\\2',
375 'try_next_proc' => FALSE,
376 );
377
378 $iftable_processors['catalyst-chassis-uplinks-10000SFP+'] = array
379 (
380 'pattern' => '@^TenGigabitEthernet([[:digit:]]+/)?([[:digit:]]+)$@',
381 'replacement' => 'te\\1\\2',
382 'dict_key' => '9-1084',
383 'label' => '\\2',
384 'try_next_proc' => FALSE,
385 );
386
387 $iftable_processors['catalyst-chassis-25-to-28-1000SFP'] = array
388 (
389 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(25|26|27|28)$@',
390 'replacement' => 'gi\\1\\2',
391 'dict_key' => '4-1077',
392 'label' => '\\2',
393 'try_next_proc' => FALSE,
394 );
395
396 $iftable_processors['catalyst-chassis-49-to-52-1000SFP'] = array
397 (
398 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(49|50|51|52)$@',
399 'replacement' => 'gi\\1\\2',
400 'dict_key' => '4-1077',
401 'label' => '\\2',
402 'try_next_proc' => FALSE,
403 );
404
405 $iftable_processors['catalyst-blade-13-to-16-1000SFP'] = array
406 (
407 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(13|14|15|16)$@',
408 'replacement' => 'gi\\1\\2',
409 'dict_key' => '4-1077',
410 'label' => '\\2',
411 'try_next_proc' => FALSE,
412 );
413
414 $iftable_processors['catalyst-blade-21-to-24-1000SFP'] = array
415 (
416 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(21|22|23|24)$@',
417 'replacement' => 'gi\\1\\2',
418 'dict_key' => '4-1077',
419 'label' => '\\2',
420 'try_next_proc' => FALSE,
421 );
422
423 $iftable_processors['catalyst-blade-11-to-12-1000T'] = array
424 (
425 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(11|12)$@',
426 'replacement' => 'gi\\1\\2',
427 'dict_key' => '1-24',
428 'label' => '\\2',
429 'try_next_proc' => FALSE,
430 );
431
432 $iftable_processors['catalyst-blade-17-to-20-1000T'] = array
433 (
434 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(17|18|19|20)$@',
435 'replacement' => 'gi\\1\\2',
436 'dict_key' => '1-24',
437 'label' => '\\2',
438 'try_next_proc' => FALSE,
439 );
440
441 $iftable_processors['catalyst-blade-any-bp/1000T'] = array
442 (
443 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?([[:digit:]]+)$@',
444 'replacement' => 'gi\\1\\2',
445 'dict_key' => '1-1087',
446 'label' => '',
447 'try_next_proc' => FALSE,
448 );
449
450 $iftable_processors['catalyst-9-to-10-combo-1000SFP'] = array
451 (
452 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(9|10)$@',
453 'replacement' => 'gi\\1\\2',
454 'dict_key' => '4-1077',
455 'label' => '\\2',
456 'try_next_proc' => TRUE,
457 );
458
459 $iftable_processors['catalyst-1-to-10-1000T'] = array
460 (
461 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(1|2|3|4|5|6|7|8|9|10)$@',
462 'replacement' => 'gi\\1\\2',
463 'dict_key' => '1-24',
464 'label' => '\\2',
465 'try_next_proc' => FALSE,
466 );
467
468 $iftable_processors['catalyst-11-to-12-GBIC'] = array
469 (
470 'pattern' => '@^GigabitEthernet([[:digit:]]+/)?(11|12)$@',
471 'replacement' => 'gi\\1\\2',
472 'dict_key' => '3-1078',
473 'label' => '\\2',
474 'try_next_proc' => FALSE,
475 );
476
477 $iftable_processors['catalyst-stack-any-1000T'] = array
478 (
479 'pattern' => '@^GigabitEthernet(\d+)/(\d+)/(\d+)$@',
480 'replacement' => 'gi\\1/\\2/\\3',
481 'dict_key' => '1-24',
482 'label' => 'unit \\1 port \\3',
483 'try_next_proc' => FALSE,
484 );
485
486 $iftable_processors['catalyst-stack-any-100TX'] = array
487 (
488 'pattern' => '@^FastEthernet(\d+)/(\d+)/(\d+)$@',
489 'replacement' => 'fa\\1/\\2/\\3',
490 'dict_key' => 19,
491 'label' => 'unit \\1 port \\3',
492 'try_next_proc' => FALSE,
493 );
494
495 $iftable_processors['catalyst-stack-25-to-28-SFP'] = array
496 (
497 'pattern' => '@^GigabitEthernet(\d+)/(\d+)/(25|26|27|28)$@',
498 'replacement' => 'gi\\1/\\2/\\3',
499 'dict_key' => '4-1077',
500 'label' => 'unit \\1 port \\3',
501 'try_next_proc' => FALSE,
502 );
503
504 $iftable_processors['catalyst-stack-1-to-4-SFP'] = array
505 (
506 'pattern' => '@^GigabitEthernet(\d+)/(\d+)/([1-4])$@',
507 'replacement' => 'gi\\1/\\2/\\3',
508 'dict_key' => '4-1077',
509 'label' => 'unit \\1 port \\3',
510 'try_next_proc' => FALSE,
511 );
512
513 $iftable_processors['catalyst-2948-49-to-50-SFP'] = array
514 (
515 'pattern' => '@^port 2/(49|50)$@',
516 'replacement' => 'gi\\1',
517 'dict_key' => '4-1077',
518 'label' => '\\1',
519 'try_next_proc' => FALSE,
520 );
521
522 $iftable_processors['catalyst-2948-any-100TX'] = array
523 (
524 'pattern' => '@^port 2/(\d+)$@',
525 'replacement' => 'fa\\1',
526 'dict_key' => 19,
527 'label' => '\\1',
528 'try_next_proc' => FALSE,
529 );
530
531 $iftable_processors['nexus-any-10000SFP+'] = array
532 (
533 'pattern' => '@^Ethernet([[:digit:]]/[[:digit:]]+)$@',
534 'replacement' => 'e\\1',
535 'dict_key' => '9-1084',
536 'label' => '\\1',
537 'try_next_proc' => FALSE,
538 );
539
540 $iftable_processors['ftos-any-1000T'] = array
541 (
542 'pattern' => '@^GigabitEthernet 0/(\d+)$@',
543 'replacement' => 'gi0/\\1',
544 'dict_key' => '1-24',
545 'label' => '\\1',
546 'try_next_proc' => FALSE,
547 );
548
549 $iftable_processors['ftos-44-to-47-1000SFP'] = array
550 (
551 'pattern' => '@^GigabitEthernet 0/(44|45|46|47)$@',
552 'replacement' => 'gi0/\\1',
553 'dict_key' => '4-1077',
554 'label' => '\\1',
555 'try_next_proc' => FALSE,
556 );
557
558 $iftable_processors['ftos-any-10000SFP+'] = array
559 (
560 'pattern' => '@^TenGigabitEthernet 0/(\d+)$@',
561 'replacement' => 'te0/\\1',
562 'dict_key' => '9-1084',
563 'label' => '\\1',
564 'try_next_proc' => FALSE,
565 );
566
567 $iftable_processors['ftos-any-QSFP+'] = array
568 (
569 'pattern' => '@^fortyGigE 0/(\d+)$@',
570 'replacement' => 'fo0/\\1',
571 'dict_key' => '10-1588',
572 'label' => '\\1',
573 'try_next_proc' => FALSE,
574 );
575
576 $iftable_processors['ftos-mgmt'] = array
577 (
578 'pattern' => '@^ManagementEthernet 0/0$@',
579 'replacement' => 'ma0/0',
580 'dict_key' => '1-19',
581 'label' => 'ethernet',
582 'try_next_proc' => FALSE,
583 );
584
585 $iftable_processors['nexus-mgmt'] = array
586 (
587 'pattern' => '@^(mgmt[[:digit:]]+)$@',
588 'replacement' => '\\1',
589 'dict_key' => '1-24',
590 'label' => '\\1',
591 'try_next_proc' => FALSE,
592 );
593
594 $iftable_processors['procurve-chassis-100TX'] = array
595 (
596 'pattern' => '@^([[:digit:]]+)$@',
597 'replacement' => '\\1',
598 'dict_key' => 19,
599 'label' => '\\1',
600 'try_next_proc' => FALSE,
601 );
602
603 $iftable_processors['procurve-chassis-1000T'] = array
604 (
605 'pattern' => '@^([[:digit:]]+)$@',
606 'replacement' => '\\1',
607 'dict_key' => 24,
608 'label' => '\\1',
609 'try_next_proc' => FALSE,
610 );
611
612 $iftable_processors['procurve-45-to-48-combo-1000SFP'] = array
613 (
614 'pattern' => '@^(45|46|47|48)$@',
615 'replacement' => '\\1',
616 'dict_key' => '4-1077',
617 'label' => '\\1',
618 'try_next_proc' => TRUE,
619 );
620
621 $iftable_processors['procurve-21-to-24-combo-1000SFP'] = array
622 (
623 'pattern' => '@^(21|22|23|24)$@',
624 'replacement' => '\\1',
625 'dict_key' => '4-1077',
626 'label' => '\\1',
627 'try_next_proc' => TRUE,
628 );
629
630 $iftable_processors['procurve-23-to-24-combo-1000SFP'] = array
631 (
632 'pattern' => '@^(23|24)$@',
633 'replacement' => '\\1',
634 'dict_key' => '4-1077',
635 'label' => '\\1',
636 'try_next_proc' => TRUE,
637 );
638
639 $iftable_processors['procurve-25-to-26-combo-1000SFP'] = array
640 (
641 'pattern' => '@^(25|26)$@',
642 'replacement' => '\\1',
643 'dict_key' => '4-1077',
644 'label' => '\\1',
645 'try_next_proc' => TRUE,
646 );
647
648 $iftable_processors['procurve-modular-100TX'] = array
649 (
650 'pattern' => '@^([A-Z][[:digit:]]+)$@',
651 'replacement' => '\\1',
652 'dict_key' => 19,
653 'label' => '\\1',
654 'try_next_proc' => FALSE,
655 );
656
657 $iftable_processors['procurve-modular-1000T'] = array
658 (
659 'pattern' => '@^([A-Z][[:digit:]]+)$@',
660 'replacement' => '\\1',
661 'dict_key' => 24,
662 'label' => '\\1',
663 'try_next_proc' => FALSE,
664 );
665
666 $iftable_processors['procurve-25-to-26-1000T'] = array
667 (
668 'pattern' => '@^(25|26)$@',
669 'replacement' => '\\1',
670 'dict_key' => 24,
671 'label' => '\\1',
672 'try_next_proc' => FALSE,
673 );
674
675 $iftable_processors['procurve-9-to-10-combo-1000SFP'] = array
676 (
677 'pattern' => '@^(9|10)$@',
678 'replacement' => '\\1',
679 'dict_key' => '4-1077',
680 'label' => '\\1',
681 'try_next_proc' => TRUE,
682 );
683
684 $iftable_processors['procurve-9-to-10-1000T'] = array
685 (
686 'pattern' => '@^(9|10)$@',
687 'replacement' => '\\1',
688 'dict_key' => 24,
689 'label' => '\\1',
690 'try_next_proc' => FALSE,
691 );
692
693 $iftable_processors['procurve-27-to-28-1000T'] = array
694 (
695 'pattern' => '@^(27|28)$@',
696 'replacement' => '\\1',
697 'dict_key' => 24,
698 'label' => '\\1',
699 'try_next_proc' => FALSE,
700 );
701
702 $iftable_processors['procurve-27-to-28-combo-1000SFP'] = array
703 (
704 'pattern' => '@^(27|28)$@',
705 'replacement' => '\\1',
706 'dict_key' => '4-1077',
707 'label' => '\\1',
708 'try_next_proc' => TRUE,
709 );
710
711 $iftable_processors['procurve-27-to-28-1000SFP'] = array
712 (
713 'pattern' => '@^(27|28)$@',
714 'replacement' => '\\1',
715 'dict_key' => '4-1077',
716 'label' => '\\1',
717 'try_next_proc' => FALSE,
718 );
719
720 $iftable_processors['procurve-49-to-50-1000T'] = array
721 (
722 'pattern' => '@^(49|50)$@',
723 'replacement' => '\\1',
724 'dict_key' => 24,
725 'label' => '\\1',
726 'try_next_proc' => FALSE,
727 );
728
729 $iftable_processors['procurve-51-to-52-1000SFP'] = array
730 (
731 'pattern' => '@^(51|52)$@',
732 'replacement' => '\\1',
733 'dict_key' => '4-1077',
734 'label' => '\\1',
735 'try_next_proc' => FALSE,
736 );
737
738 $iftable_processors['procurve-49-to-52-10000SFP+'] = array
739 (
740 'pattern' => '@^(49|50|51|52)$@',
741 'replacement' => '\\1',
742 'dict_key' => '9-1084',
743 'label' => '\\1',
744 'try_next_proc' => FALSE,
745 );
746
747 $iftable_processors['gbe2csfp-1-to-16'] = array
748 (
749 'pattern' => '@^Downlink(\d+)$@',
750 'replacement' => '\\0',
751 'dict_key' => '1-1603',
752 'label' => '\\1',
753 'try_next_proc' => FALSE,
754 );
755
756 $iftable_processors['gbe2csfp-17'] = array
757 (
758 'pattern' => '@^Xconnect1$@',
759 'replacement' => '\\0',
760 'dict_key' => '1-1603',
761 'label' => '17',
762 'try_next_proc' => FALSE,
763 );
764
765 $iftable_processors['gbe2csfp-18'] = array
766 (
767 'pattern' => '@^Xconnect2$@',
768 'replacement' => '\\0',
769 'dict_key' => '1-1603',
770 'label' => '18',
771 'try_next_proc' => FALSE,
772 );
773
774 $iftable_processors['gbe2csfp-19'] = array
775 (
776 'pattern' => '@^Mgmt$@',
777 'replacement' => '\\0',
778 'dict_key' => '1-1604',
779 'label' => '19',
780 'try_next_proc' => FALSE,
781 );
782
783 $iftable_processors['gbe2csfp-20'] = array
784 (
785 'pattern' => '@^Uplink1$@',
786 'replacement' => '\\0',
787 'dict_key' => '1-24',
788 'label' => '20',
789 'try_next_proc' => FALSE,
790 );
791
792 $iftable_processors['gbe2csfp-21sfp'] = array
793 (
794 'pattern' => '@^Uplink2$@',
795 'replacement' => '\\0',
796 'dict_key' => '4-1077',
797 'label' => '21',
798 'try_next_proc' => TRUE,
799 );
800
801 $iftable_processors['gbe2csfp-21'] = array
802 (
803 'pattern' => '@^Uplink2$@',
804 'replacement' => '\\0',
805 'dict_key' => '1-24',
806 'label' => '21',
807 'try_next_proc' => FALSE,
808 );
809
810 $iftable_processors['gbe2csfp-22sfp'] = array
811 (
812 'pattern' => '@^Uplink3$@',
813 'replacement' => '\\0',
814 'dict_key' => '4-1077',
815 'label' => '22',
816 'try_next_proc' => TRUE,
817 );
818
819 $iftable_processors['gbe2csfp-22'] = array
820 (
821 'pattern' => '@^Uplink3$@',
822 'replacement' => '\\0',
823 'dict_key' => '1-24',
824 'label' => '22',
825 'try_next_proc' => FALSE,
826 );
827
828 $iftable_processors['gbe2csfp-23sfp'] = array
829 (
830 'pattern' => '@^Uplink4$@',
831 'replacement' => '\\0',
832 'dict_key' => '4-1077',
833 'label' => '23',
834 'try_next_proc' => TRUE,
835 );
836
837 $iftable_processors['gbe2csfp-23'] = array
838 (
839 'pattern' => '@^Uplink4$@',
840 'replacement' => '\\0',
841 'dict_key' => '1-24',
842 'label' => '23',
843 'try_next_proc' => FALSE,
844 );
845
846 $iftable_processors['gbe2csfp-24sfp'] = array
847 (
848 'pattern' => '@^Uplink5$@',
849 'replacement' => '\\0',
850 'dict_key' => '4-1077',
851 'label' => '24',
852 'try_next_proc' => TRUE,
853 );
854
855 $iftable_processors['gbe2csfp-24'] = array
856 (
857 'pattern' => '@^Uplink5$@',
858 'replacement' => '\\0',
859 'dict_key' => '1-24',
860 'label' => '24',
861 'try_next_proc' => FALSE,
862 );
863
864 $iftable_processors['netgear-fs726tp-100TX'] = array
865 (
866 'pattern' => '@^Port (\d+): Fast Ethernet$@',
867 'replacement' => '\\1',
868 'dict_key' => 19,
869 'label' => '\\1',
870 'try_next_proc' => FALSE,
871 );
872
873 $iftable_processors['netgear-fs726tp-1000SFPcombo'] = array
874 (
875 'pattern' => '@^Port (\d+): Gigabit Ethernet$@',
876 'replacement' => '\\1',
877 'dict_key' => '4-1077',
878 'label' => '\\1',
879 'try_next_proc' => TRUE,
880 );
881
882 $iftable_processors['netgear-fs726tp-1000T'] = array
883 (
884 'pattern' => '@^Port (\d+): Gigabit Ethernet$@',
885 'replacement' => '\\1',
886 'dict_key' => 24,
887 'label' => '\\1',
888 'try_next_proc' => FALSE,
889 );
890
891 $iftable_processors['netgear-23-to-24-1000SPFcombo'] = array
892 (
893 'pattern' => '@^g(\d+)$@',
894 'replacement' => 'g\\1',
895 'dict_key' => '4-1077',
896 'label' => 'g\\1',
897 'try_next_proc' => TRUE,
898 );
899
900 $iftable_processors['netgear-any-1000T'] = array
901 (
902 'pattern' => '@^g(\d+)$@',
903 'replacement' => 'g\\1',
904 'dict_key' => 24,
905 'label' => 'g\\1',
906 'try_next_proc' => FALSE,
907 );
908
909 $iftable_processors['netgear-chassis-any-1000T'] = array
910 (
911 'pattern' => '@^Unit: (\d+) Slot: (\d+) Port: (\d+) Gigabit - Level$@',
912 'replacement' => '\\1/\\2/\\3',
913 'dict_key' => 24,
914 'label' => '\\3',
915 'try_next_proc' => FALSE,
916 );
917
918 $iftable_processors['netgear-chassis-any-1000SFP'] = array
919 (
920 'pattern' => '@^Unit: (\d+) Slot: (\d+) Port: (\d+) Gigabit - Level$@',
921 'replacement' => '\\1/\\2/\\3',
922 'dict_key' => '4-1077',
923 'label' => '\\3',
924 'try_next_proc' => FALSE,
925 );
926
927 $iftable_processors['netgear-chassis-21-to-24-1000Tcombo'] = array
928 (
929 'pattern' => '@^Unit: (\d+) Slot: (\d+) Port: (21|22|23|24) Gigabit - Level$@',
930 'replacement' => '\\1/\\2/\\3',
931 'dict_key' => 24,
932 'label' => '\\3T',
933 'try_next_proc' => FALSE,
934 );
935
936 $iftable_processors['netgear-chassis-21-to-24-1000SFP'] = array
937 (
938 'pattern' => '@^Unit: (\d+) Slot: (\d+) Port: (21|22|23|24) Gigabit - Level$@',
939 'replacement' => '\\1/\\2/\\3',
940 'dict_key' => '4-1077',
941 'label' => '\\3F',
942 'try_next_proc' => TRUE,
943 );
944
945 $iftable_processors['netgear-chassis-45-to-48-1000SFPcombo'] = array
946 (
947 'pattern' => '@^Unit: (\d+) Slot: (\d+) Port: (45|46|47|48) Gigabit - Level$@',
948 'replacement' => '\\1/\\2/\\3',
949 'dict_key' => '4-1077',
950 'label' => '\\3F',
951 'try_next_proc' => TRUE,
952 );
953
954 $iftable_processors['netgear-chassis-any-1000SFPcombo'] = array
955 (
956 'pattern' => '@^Unit: (\d+) Slot: (\d+) Port: (\d+) Gigabit - Level$@',
957 'replacement' => '\\1/\\2/\\3',
958 'dict_key' => '4-1077',
959 'label' => '\\3F',
960 'try_next_proc' => TRUE,
961 );
962
963 $iftable_processors['netgear-chassis-any-100TX'] = array
964 (
965 'pattern' => '@^Unit: (\d+) Slot: (\d+) Port: (\d+) 10/100 Copper - Level$@',
966 'replacement' => '\\1/\\2/\\3',
967 'dict_key' => 19,
968 'label' => '\\3',
969 'try_next_proc' => FALSE,
970 );
971
972 $iftable_processors['netgear-chassis-any-SFP+'] = array
973 (
974 'pattern' => '@^Unit: (\d+) Slot: (\d+) Port: (\d+) 10G - Level$@',
975 'replacement' => '\\1/\\2/\\3',
976 'dict_key' => '9-1084',
977 'label' => '\\3',
978 'try_next_proc' => FALSE,
979 );
980
981 $iftable_processors['netgear-49-to-50-combo-1000SFP'] = array
982 (
983 'pattern' => '@^GbE_(49|50)$@',
984 'replacement' => '\\1',
985 'dict_key' => '4-1077',
986 'label' => '\\1F',
987 'try_next_proc' => TRUE,
988 );
989
990 $iftable_processors['netgear-49-to-50-combo-1000T'] = array
991 (
992 'pattern' => '@^GbE_(49|50)$@',
993 'replacement' => '\\1',
994 'dict_key' => '1-24',
995 'label' => '\\1T',
996 'try_next_proc' => FALSE,
997 );
998
999 $iftable_processors['netgear-any-100TX'] = array
1000 (
1001 'pattern' => '@^FE_(\d+)$@',
1002 'replacement' => '\\1',
1003 'dict_key' => 19,
1004 'label' => '\\1',
1005 'try_next_proc' => FALSE,
1006 );
1007
1008 $iftable_processors['nortel-any-1000T'] = array
1009 (
1010 'pattern' => '@^Ethernet Port on unit 1, port ([[:digit:]]+)$@',
1011 'replacement' => '\\1',
1012 'dict_key' => 24,
1013 'label' => '\\1',
1014 'try_next_proc' => FALSE,
1015 );
1016
1017 $iftable_processors['smc-combo-45-to-48'] = array
1018 (
1019 'pattern' => '@^Ethernet Port on unit 1, port (45|46|47|48)$@',
1020 'replacement' => '\\1',
1021 'dict_key' => '4-1077',
1022 'label' => '\\1',
1023 'try_next_proc' => TRUE,
1024 );
1025
1026 $iftable_processors['smc2-combo-21-to-24'] = array
1027 (
1028 'pattern' => '@^Port #(21|22|23|24)$@',
1029 'replacement' => '\\1',
1030 'dict_key' => '4-1077',
1031 'label' => '\\1',
1032 'try_next_proc' => TRUE,
1033 );
1034
1035 $iftable_processors['smc2-combo-23-to-24'] = array
1036 (
1037 'pattern' => '@^Port #(23|24)$@',
1038 'replacement' => '\\1',
1039 'dict_key' => '4-1077',
1040 'label' => '\\1',
1041 'try_next_proc' => TRUE,
1042 );
1043
1044 $iftable_processors['smc2-combo-25-to-28'] = array
1045 (
1046 'pattern' => '@^Port #(25|26|27|28)$@',
1047 'replacement' => '\\1',
1048 'dict_key' => '4-1077',
1049 'label' => '\\1',
1050 'try_next_proc' => TRUE,
1051 );
1052
1053 $iftable_processors['smc2-1000T-25-to-28'] = array
1054 (
1055 'pattern' => '@^Port #(25|26|27|28)$@',
1056 'replacement' => '\\1',
1057 'dict_key' => '1-24',
1058 'label' => '\\1',
1059 'try_next_proc' => FALSE,
1060 );
1061
1062 $iftable_processors['smc2-any-1000T'] = array
1063 (
1064 'pattern' => '@^Port #(\d+)$@',
1065 'replacement' => '\\1',
1066 'dict_key' => '1-24',
1067 'label' => '\\1',
1068 'try_next_proc' => FALSE,
1069 );
1070
1071 $iftable_processors['smc2-any-100TX'] = array
1072 (
1073 'pattern' => '@^Port #(\d+)$@',
1074 'replacement' => '\\1',
1075 'dict_key' => '1-19',
1076 'label' => '\\1',
1077 'try_next_proc' => FALSE,
1078 );
1079
1080 $iftable_processors['juniper-DPCE-R-4XGE-XFP'] = array
1081 (
1082 'pattern' => '@^xe-([[:digit:]]+)/([[:digit:]]+/[[:digit:]]+)$@',
1083 'replacement' => '\\0',
1084 'dict_key' => '8-1082', // XFP/empty
1085 'label' => 'slot \\1 port \\2',
1086 'try_next_proc' => FALSE,
1087 );
1088
1089 $iftable_processors['juniper-ex-pic0-1000T'] = array
1090 (
1091 'pattern' => '@^ge-([[:digit:]]+)/0/([[:digit:]]+)$@',
1092 'replacement' => '\\0',
1093 'dict_key' => '1-24',
1094 'label' => 'unit \\1 port \\2',
1095 'try_next_proc' => FALSE,
1096 );
1097
1098 $iftable_processors['juniper-ex-mgmt'] = array
1099 (
1100 'pattern' => '/^me0$/',
1101 'replacement' => 'me0',
1102 'dict_key' => '1-24',
1103 'label' => 'MGMT',
1104 'try_next_proc' => FALSE,
1105 );
1106
1107 $iftable_processors['quidway-21-to-24-comboT'] = array
1108 (
1109 'pattern' => '@^GigabitEthernet([[:digit:]]+/[[:digit:]]+/)(21|22|23|24)$@',
1110 'replacement' => 'gi\\1\\2',
1111 'dict_key' => '1-24',
1112 'label' => '\\2',
1113 'try_next_proc' => TRUE,
1114 );
1115
1116 $iftable_processors['quidway-21-to-24-comboSFP'] = array
1117 (
1118 'pattern' => '@^GigabitEthernet([[:digit:]]+/[[:digit:]]+/)(21|22|23|24)$@',
1119 'replacement' => 'gi\\1\\2',
1120 'dict_key' => '4-1077',
1121 'label' => '\\2',
1122 'try_next_proc' => TRUE,
1123 );
1124
1125 $iftable_processors['quidway-slot1-SFP'] = array
1126 (
1127 'pattern' => '@^GigabitEthernet0/1/([[:digit:]]+)$@',
1128 'replacement' => 'gi0/1/\\1',
1129 'dict_key' => '4-1077',
1130 'label' => 'SFP\\1',
1131 'try_next_proc' => FALSE,
1132 );
1133
1134 $iftable_processors['quidway-any-100TX'] = array
1135 (
1136 'pattern' => '@^Ethernet([[:digit:]]+/[[:digit:]]+/)([[:digit:]]+)$@',
1137 'replacement' => 'ether\\1\\2',
1138 'dict_key' => '1-19',
1139 'label' => '\\2',
1140 'try_next_proc' => FALSE,
1141 );
1142
1143 $iftable_processors['quidway-any-1000SFP'] = array
1144 (
1145 'pattern' => '@^GigabitEthernet([[:digit:]]+/[[:digit:]]+/)([[:digit:]]+)$@',
1146 'replacement' => 'gi\\1\\2',
1147 'dict_key' => '4-1077', // empty SFP-1000
1148 'label' => '\\2',
1149 'try_next_proc' => FALSE,
1150 );
1151
1152 $iftable_processors['quidway-any-1000T'] = array
1153 (
1154 'pattern' => '@^GigabitEthernet([[:digit:]]+/[[:digit:]]+/)([[:digit:]]+)$@',
1155 'replacement' => 'gi\\1\\2',
1156 'dict_key' => '1-24',
1157 'label' => '\\2',
1158 'try_next_proc' => FALSE,
1159 );
1160
1161 $iftable_processors['hce-any-1000T'] = array
1162 (
1163 'pattern' => '@^GE([[:digit:]]+/[[:digit:]]+/)([[:digit:]]+)$@',
1164 'replacement' => 'ge\\1\\2',
1165 'dict_key' => '1-24',
1166 'label' => '\\2',
1167 'try_next_proc' => FALSE,
1168 );
1169
1170 $iftable_processors['hce-any-SFP'] = array
1171 (
1172 'pattern' => '@^10GE([[:digit:]]+/[[:digit:]]+/)([[:digit:]]+)$@',
1173 'replacement' => '10ge\\1\\2',
1174 'dict_key' => '9-1084',
1175 'label' => '\\2',
1176 'try_next_proc' => FALSE,
1177 );
1178
1179 $iftable_processors['hce-any-QSFP'] = array
1180 (
1181 'pattern' => '@^40GE([[:digit:]]+/[[:digit:]]+/)([[:digit:]]+)$@',
1182 'replacement' => '40ge\\1\\2',
1183 'dict_key' => '10-1588',
1184 'label' => '\\2',
1185 'try_next_proc' => FALSE,
1186 );
1187
1188 $iftable_processors['quidway-XFP'] = array
1189 (
1190 'pattern' => '@^XGigabitEthernet([[:digit:]]+/[[:digit:]]+/)([[:digit:]]+)$@',
1191 'replacement' => 'xg\\1\\2',
1192 'dict_key' => '8-1082',
1193 'label' => '\\2',
1194 'try_next_proc' => FALSE,
1195 );
1196
1197 $iftable_processors['quidway-mgmt'] = array
1198 (
1199 'pattern' => '@^MEth([[:digit:]]+/[[:digit:]]+/)([[:digit:]]+)$@',
1200 'replacement' => 'me\\1\\2',
1201 'dict_key' => '1-19',
1202 'label' => 'eth',
1203 'try_next_proc' => FALSE,
1204 );
1205
1206 $iftable_processors['fgs-1-to-4-comboSFP'] = array
1207 (
1208 # only 4 first copper ports of 1st unit of a stack
1209 'pattern' => '@^GigabitEthernet1/1/(1|2|3|4)$@',
1210 'replacement' => 'e1/1/\\1',
1211 'dict_key' => '4-1077',
1212 'label' => '\\1F',
1213 'try_next_proc' => TRUE,
1214 );
1215
1216 $iftable_processors['fgs-any-1000T'] = array
1217 (
1218 'pattern' => '@^GigabitEthernet(0|1)/1/([[:digit:]]+)$@',
1219 'replacement' => 'e\\1/1/\\2',
1220 'dict_key' => '1-24',
1221 'label' => '\\2',
1222 'try_next_proc' => FALSE,
1223 );
1224
1225 $iftable_processors['fls624-combo'] = array
1226 (
1227 'pattern' => '@^GigabitEthernet0/1/(21|22|23|24)$@',
1228 'replacement' => 'e0/1/\\1',
1229 'dict_key' => '4-1077',
1230 'label' => '\\1',
1231 'try_next_proc' => TRUE,
1232 );
1233
1234 $iftable_processors['fls648-combo'] = array
1235 (
1236 'pattern' => '@^GigabitEthernet0/1/(45|46|47|48)$@',
1237 'replacement' => 'e0/1/\\1',
1238 'dict_key' => '4-1077',
1239 'label' => '\\1',
1240 'try_next_proc' => TRUE,
1241 );
1242
1243 # These can be CX4, but that is not handled here.
1244 $iftable_processors['fls-uplinks'] = array
1245 (
1246 'pattern' => '@^10GigabitEthernet0/([234])/1$@',
1247 'replacement' => 'e0/\\1/1',
1248 'dict_key' => '8-1082',
1249 'label' => 'Slot \\1',
1250 'try_next_proc' => FALSE,
1251 );
1252
1253 $iftable_processors['fgs-uplinks'] = array
1254 (
1255 'pattern' => '@^10GigabitEthernet1/2/([[:digit:]]+)$@',
1256 'replacement' => 'e1/2/\\1',
1257 'dict_key' => '8-1082', // default is XFP, but may be overridden to CX4
1258 'label' => 'Slot2 \\1',
1259 'try_next_proc' => FALSE,
1260 );
1261
1262 $iftable_processors['fcx-uplinks'] = array
1263 (
1264 'pattern' => '@^10GigabitEthernet1/2/([[:digit:]]+)$@',
1265 'replacement' => 'e1/2/\\1',
1266 'dict_key' => '9-1084',
1267 'label' => 'X\\1',
1268 'try_next_proc' => FALSE,
1269 );
1270
1271 $iftable_processors['fcx-management'] = array
1272 (
1273 'pattern' => '@^Management$@',
1274 'replacement' => 'management1',
1275 'dict_key' => '1-24',
1276 'label' => 'Management',
1277 'try_next_proc' => FALSE,
1278 );
1279
1280 $iftable_processors['turboiron-any-10000SFP+'] = array
1281 (
1282 'pattern' => '@^10GigabitEthernet([[:digit:]]+)$@',
1283 'replacement' => 'e\\1',
1284 'dict_key' => '4-1077',
1285 'label' => 'Slot \\1',
1286 'try_next_proc' => FALSE,
1287 );
1288
1289 $iftable_processors['turboiron-any-10-100-1000T'] = array
1290 (
1291 'pattern' => '@^GigabitEthernet([[:digit:]]+)$@',
1292 'replacement' => 'e\\1',
1293 'dict_key' => '1-24',
1294 'label' => 'Slot \\1',
1295 'try_next_proc' => FALSE,
1296 );
1297
1298 $iftable_processors['summit-25-to-26-XFP-uplinks'] = array
1299 (
1300 'pattern' => '@^.+ Port (25|26)$@',
1301 'replacement' => '\\1',
1302 'dict_key' => '8-1082',
1303 'label' => '\\1',
1304 'try_next_proc' => FALSE,
1305 );
1306
1307 $iftable_processors['summit-27-to-30-XFP-uplinks'] = array
1308 (
1309 'pattern' => '@^.+ Port (27|28|29|30)$@',
1310 'replacement' => '\\1',
1311 'dict_key' => '8-1082',
1312 'label' => '\\1',
1313 'try_next_proc' => FALSE,
1314 );
1315
1316 $iftable_processors['summit-21-to-24-comboSFP'] = array
1317 (
1318 'pattern' => '@^.+ Port (21|22|23|24)$@',
1319 'replacement' => '\\1',
1320 'dict_key' => '4-1077',
1321 'label' => '\\1',
1322 'try_next_proc' => TRUE,
1323 );
1324
1325 $iftable_processors['summit-13-to-24-comboT'] = array
1326 (
1327 'pattern' => '@^.+ Port (1[3456789]|2[01234])$@',
1328 'replacement' => '\\1',
1329 'dict_key' => '1-24',
1330 'label' => '\\1',
1331 'try_next_proc' => TRUE,
1332 );
1333
1334 $iftable_processors['summit-any-1000T'] = array
1335 (
1336 'pattern' => '@^.+ Port ([[:digit:]]+)$@',
1337 'replacement' => '\\1',
1338 'dict_key' => '1-24',
1339 'label' => '\\1',
1340 'try_next_proc' => FALSE,
1341 );
1342
1343 $iftable_processors['summit-any-SFP'] = array
1344 (
1345 'pattern' => '@^.+ Port ([[:digit:]]+)$@',
1346 'replacement' => '\\1',
1347 'dict_key' => '4-1077',
1348 'label' => '\\1',
1349 'try_next_proc' => FALSE,
1350 );
1351
1352 $iftable_processors['summit-management'] = array
1353 (
1354 'pattern' => '@^Management Port$@',
1355 'replacement' => 'mgmt',
1356 'dict_key' => '1-19',
1357 'label' => 'management',
1358 'try_next_proc' => FALSE,
1359 );
1360
1361 $iftable_processors['C3KX-NM-10000'] = array
1362 (
1363 'pattern' => '@^TenGigabitEthernet1/(\d+)$@',
1364 'replacement' => 'te1/\\1',
1365 'dict_key' => '9-1084',
1366 'label' => 'NM TE\\1',
1367 'try_next_proc' => FALSE,
1368 );
1369
1370 $iftable_processors['C3KX-NM-1000'] = array
1371 (
1372 'pattern' => '@^GigabitEthernet1/(\d+)$@',
1373 'replacement' => 'gi1/\\1',
1374 'dict_key' => '4-1077',
1375 'label' => 'NM G\\1',
1376 'try_next_proc' => FALSE,
1377 );
1378
1379 $iftable_processors['arista-any-1000T'] = array
1380 (
1381 'pattern' => '@^Ethernet([[:digit:]]+)$@',
1382 'replacement' => 'e\\1',
1383 'dict_key' => '1-24',
1384 'label' => '\\1',
1385 'try_next_proc' => FALSE,
1386 );
1387
1388 $iftable_processors['arista-49-to-52-SFP+'] = array
1389 (
1390 'pattern' => '@^Ethernet(49|50|51|52)$@',
1391 'replacement' => 'e\\1',
1392 'dict_key' => '9-1084',
1393 'label' => '\\1',
1394 'try_next_proc' => FALSE,
1395 );
1396
1397 $iftable_processors['arista-any-SFP+'] = array
1398 (
1399 'pattern' => '@^Ethernet([[:digit:]]+)$@',
1400 'replacement' => 'e\\1',
1401 'dict_key' => '9-1084',
1402 'label' => '\\1',
1403 'try_next_proc' => FALSE,
1404 );
1405
1406 $iftable_processors['arista-management'] = array
1407 (
1408 'pattern' => '@^Management(1|2)$@',
1409 'replacement' => 'ma\\1',
1410 'dict_key' => '1-24',
1411 'label' => '<--->',
1412 'try_next_proc' => FALSE,
1413 );
1414
1415 $iftable_processors['dell-33xx-any-combo-1000SFP'] = array
1416 (
1417 'pattern' => '@^1/g(\d+)$@',
1418 'replacement' => 'g\\1',
1419 'dict_key' => '4-1077',
1420 'label' => '\\1',
1421 'try_next_proc' => TRUE,
1422 );
1423
1424 $iftable_processors['dell-33xx-any-1000T'] = array
1425 (
1426 'pattern' => '@^1/g(\d+)$@',
1427 'replacement' => 'g\\1',
1428 'dict_key' => '1-24',
1429 'label' => '\\1',
1430 'try_next_proc' => FALSE,
1431 );
1432
1433 $iftable_processors['dell-33xx-any-100TX'] = array
1434 (
1435 'pattern' => '@^1/e(\d+)$@',
1436 'replacement' => 'e\\1',
1437 'dict_key' => 19,
1438 'label' => '\\1',
1439 'try_next_proc' => FALSE,
1440 );
1441
1442 $iftable_processors['dell-5224-21-to-24-combo-1000SFP'] = array
1443 (
1444 'pattern' => '@^EtherNet Port on unit 1, port:(21|22|23|24)$@',
1445 'replacement' => 'g\\1',
1446 'dict_key' => '4-1077',
1447 'label' => '\\1',
1448 'try_next_proc' => TRUE,
1449 );
1450
1451 $iftable_processors['dell-52xx-any-1000T'] = array
1452 (
1453 'pattern' => '@^EtherNet Port on unit 1, port:(\d+)$@',
1454 'replacement' => 'g\\1',
1455 'dict_key' => 24,
1456 'label' => '\\1',
1457 'try_next_proc' => FALSE,
1458 );
1459
1460 $iftable_processors['dell-m6220-gigabitethernet'] = array
1461 (
1462 'pattern' => '@Gi1/0/(\d+)$@',
1463 'replacement' => 'g\\1',
1464 'dict_key' => '1-24',
1465 'label' => 'g\\1',
1466 'try_next_proc' => TRUE,
1467 );
1468
1469 $iftable_processors['dell-g1-to-g2-1000SFP'] = array
1470 (
1471 'pattern' => '@^g(1|2)$@',
1472 'replacement' => 'g\\1',
1473 'dict_key' => '4-1077',
1474 'label' => '\\1',
1475 'try_next_proc' => FALSE,
1476 );
1477
1478 $iftable_processors['dell-g3-to-g4-1000T'] = array
1479 (
1480 'pattern' => '@^g(3|4)$@',
1481 'replacement' => 'g\\1',
1482 'dict_key' => '1-24',
1483 'label' => '\\1',
1484 'try_next_proc' => FALSE,
1485 );
1486
1487 $iftable_processors['dell-g17-to-g24-combo-1000T'] = array
1488 (
1489 'pattern' => '@^g(17|18|19|20|21|22|23|24)$@',
1490 'replacement' => 'g\\1',
1491 'dict_key' => '1-24',
1492 'label' => '\\1',
1493 'try_next_proc' => TRUE,
1494 );
1495
1496 $iftable_processors['dell-g21-to-g24-combo-1000SFP'] = array
1497 (
1498 'pattern' => '@^g(21|22|23|24)$@',
1499 'replacement' => 'g\\1',
1500 'dict_key' => '4-1077',
1501 'label' => '\\1',
1502 'try_next_proc' => TRUE,
1503 );
1504
1505 $iftable_processors['dell-g23-to-g24-combo-1000SFP'] = array
1506 (
1507 'pattern' => '@^g(23|24)$@',
1508 'replacement' => 'g\\1',
1509 'dict_key' => '4-1077',
1510 'label' => '\\1',
1511 'try_next_proc' => TRUE,
1512 );
1513
1514 $iftable_processors['dell-any-1000SFP'] = array
1515 (
1516 'pattern' => '@^g(\d+)$@',
1517 'replacement' => 'g\\1',
1518 'dict_key' => '4-1077',
1519 'label' => '\\1',
1520 'try_next_proc' => FALSE,
1521 );
1522
1523 $iftable_processors['3com-27-to-28-1000T'] = array
1524 (
1525 'pattern' => '@^GigabitEthernet(\d+)/(\d+)/(27|28)$@',
1526 'replacement' => '\\1/\\2/\\3',
1527 'dict_key' => '1-24',
1528 'label' => '\\3',
1529 'try_next_proc' => FALSE,
1530 );
1531
1532 $iftable_processors['3com-51-to-52-1000T'] = array
1533 (
1534 'pattern' => '@^GigabitEthernet(\d+)/(\d+)/(51|52)$@',
1535 'replacement' => '\\1/\\2/\\3',
1536 'dict_key' => '1-24',
1537 'label' => '\\3',
1538 'try_next_proc' => FALSE,
1539 );
1540
1541 $iftable_processors['3com-25-to-26-1000SFP'] = array
1542 (
1543 'pattern' => '@^GigabitEthernet(\d+)/(\d+)/(25|26)$@',
1544 'replacement' => '\\1/\\2/\\3',
1545 'dict_key' => '4-1077',
1546 'label' => '\\3',
1547 'try_next_proc' => FALSE,
1548 );
1549
1550 $iftable_processors['3com-27-to-28-1000SFP'] = array
1551 (
1552 'pattern' => '@^GigabitEthernet(\d+)/(\d+)/(27|28)$@',
1553 'replacement' => '\\1/\\2/\\3',
1554 'dict_key' => '4-1077',
1555 'label' => '\\3',
1556 'try_next_proc' => FALSE,
1557 );
1558
1559 $iftable_processors['3com-49-to-50-1000SFP'] = array
1560 (
1561 'pattern' => '@^GigabitEthernet(\d+)/(\d+)/(49|50)$@',
1562 'replacement' => '\\1/\\2/\\3',
1563 'dict_key' => '4-1077',
1564 'label' => '\\3',
1565 'try_next_proc' => FALSE,
1566 );
1567
1568 $iftable_processors['3com-49-to-50-1000T'] = array
1569 (
1570 'pattern' => '@^GigabitEthernet(\d+)/(\d+)/(49|50)$@',
1571 'replacement' => '\\1/\\2/\\3',
1572 'dict_key' => '1-24',
1573 'label' => '\\3',
1574 'try_next_proc' => FALSE,
1575 );
1576
1577 $iftable_processors['3com-51-to-52-1000SFP'] = array
1578 (
1579 'pattern' => '@^GigabitEthernet(\d+)/(\d+)/(51|52)$@',
1580 'replacement' => '\\1/\\2/\\3',
1581 'dict_key' => '4-1077',
1582 'label' => '\\3',
1583 'try_next_proc' => FALSE,
1584 );
1585
1586 $iftable_processors['3com-any-100TX'] = array
1587 (
1588 'pattern' => '@^Ethernet(\d+)/(\d+)/(\d+)$@',
1589 'replacement' => '\\1/\\2/\\3',
1590 'dict_key' => '1-19',
1591 'label' => '\\3',
1592 'try_next_proc' => FALSE,
1593 );
1594
1595 $iftable_processors['3com-any-1000T'] = array
1596 (
1597 'pattern' => '@^GigabitEthernet(\d+)/(\d+)/(\d+)$@',
1598 'replacement' => '\\1/\\2/\\3',
1599 'dict_key' => 24,
1600 'label' => '\\3',
1601 'try_next_proc' => FALSE,
1602 );
1603
1604 $iftable_processors['tplink-21-to-24-combo-1000SFP'] = array
1605 (
1606 'pattern' => '@^.+ Port on unit .+ port (21|22|23|24)$@',
1607 'replacement' => 'g\\1',
1608 'dict_key' => '4-1077',
1609 'label' => '\\1',
1610 'try_next_proc' => TRUE,
1611 );
1612
1613 $iftable_processors['tplink-25-to-28-1000T'] = array
1614 (
1615 'pattern' => 'port (25|26|27|28): Gigabit Copper',
1616 'replacement' => 'g\\1',
1617 'dict_key' => 24,
1618 'label' => '\\1',
1619 'try_next_proc' => FALSE,
1620 );
1621
1622 $iftable_processors['tplink-27-to-28-combo-1000SFP'] = array
1623 (
1624 'pattern' => 'port (27|28): Gigabit Copper',
1625 'replacement' => 'g\\1',
1626 'dict_key' => '4-1077',
1627 'label' => '\\1',
1628 'try_next_proc' => TRUE,
1629 );
1630
1631 $iftable_processors['tplink-any-100T'] = array
1632 (
1633 'pattern' => 'port ([[:digit:]]+): 10/100 Copper',
1634 'replacement' => 'e\\1',
1635 'dict_key' => 24,
1636 'label' => '\\1',
1637 'try_next_proc' => FALSE,
1638 );
1639
1640 $iftable_processors['tplink-any-1000T'] = array
1641 (
1642 'pattern' => '@^.+ Port on unit .+ port ([[:digit:]]+)$@',
1643 'replacement' => 'g\\1',
1644 'dict_key' => 24,
1645 'label' => '\\1',
1646 'try_next_proc' => FALSE,
1647 );
1648
1649 $iftable_processors['motorola-rfs-any-1000T'] = array
1650 (
1651 'pattern' => '@^ge(\d+)$@',
1652 'replacement' => 'ge\\1',
1653 'dict_key' => '1-24',
1654 'label' => '\\1',
1655 'try_next_proc' => FALSE,
1656 );
1657
1658 $iftable_processors['motorola-rfs-uplink-comboSFP'] = array
1659 (
1660 'pattern' => '@^up(\d+)$@',
1661 'replacement' => 'up\\1',
1662 'dict_key' => '4-1077',
1663 'label' => 'uplink',
1664 'try_next_proc' => TRUE,
1665 );
1666
1667 $iftable_processors['motorola-rfs-uplink-comboT'] = array
1668 (
1669 'pattern' => '@^up(\d+)$@',
1670 'replacement' => 'up\\1',
1671 'dict_key' => '1-24',
1672 'label' => 'uplink',
1673 'try_next_proc' => FALSE,
1674 );
1675
1676 $iftable_processors['dlink-21-to-24-comboSFP'] = array
1677 (
1678 'pattern' => '@^Slot0/(21|22|23|24)$@',
1679 'replacement' => '\\1F',
1680 'dict_key' => '4-1077',
1681 'label' => '\\1F',
1682 'try_next_proc' => TRUE,
1683 );
1684
1685 $iftable_processors['dlink-21-to-24-comboT'] = array
1686 (
1687 'pattern' => '@^Slot0/(21|22|23|24)$@',
1688 'replacement' => '\\1T',
1689 'dict_key' => '1-24',
1690 'label' => '\\1T',
1691 'try_next_proc' => FALSE,
1692 );
1693
1694 $iftable_processors['dlink-any-1000T'] = array
1695 (
1696 'pattern' => '@^Slot0/(\d+)$@',
1697 'replacement' => '\\1',
1698 'dict_key' => '1-24',
1699 'label' => '\\1',
1700 'try_next_proc' => FALSE,
1701 );
1702
1703 $iftable_processors['dlink-rmon-any-100TX'] = array
1704 (
1705 'pattern' => '@^RMON Port (\d+) on Unit (\d+)$@',
1706 'replacement' => '\\2/\\1',
1707 'dict_key' => '1-19',
1708 'label' => 'unit \\2 port \\1',
1709 'try_next_proc' => FALSE,
1710 );
1711
1712 $iftable_processors['dlink-rmon-49-to-50-comboSFP'] = array
1713 (
1714 'pattern' => '@^RMON Port (49|50) on Unit (\d+)$@',
1715 'replacement' => '\\2/\\1',
1716 'dict_key' => '4-1077',
1717 'label' => 'unit \\2 port \\1',
1718 'try_next_proc' => TRUE,
1719 );
1720
1721 $iftable_processors['dlink-rmon-49-to-50-comboT'] = array
1722 (
1723 'pattern' => '@^RMON Port (49|50) on Unit (\d+)$@',
1724 'replacement' => '\\2/\\1',
1725 'dict_key' => '1-24',
1726 'label' => 'unit \\2 port \\1',
1727 'try_next_proc' => FALSE,
1728 );
1729
1730 $iftable_processors['dlink-rmon-51-to-52-1000T'] = array
1731 (
1732 'pattern' => '@^RMON Port (51|52) on Unit (\d+)$@',
1733 'replacement' => '\\2/\\1',
1734 'dict_key' => 24,
1735 'label' => 'unit \\2 port \\1',
1736 'try_next_proc' => FALSE,
1737 );
1738
1739 $iftable_processors['nec-mgmt'] = array
1740 (
1741 'pattern' => '@^MGMT0$@',
1742 'replacement' => 'mgmt 0', # note the space
1743 'dict_key' => '1-24',
1744 'label' => 'MNG',
1745 'try_next_proc' => FALSE,
1746 );
1747
1748 $iftable_processors['nec-any-1000T'] = array
1749 (
1750 'pattern' => '@^GigabitEther 0/(\d+)$@',
1751 'replacement' => 'gi 0/\\1', # note the space
1752 'dict_key' => '1-24',
1753 'label' => '\\1',
1754 'try_next_proc' => FALSE,
1755 );
1756
1757 $iftable_processors['nec-any-SFP+'] = array
1758 (
1759 'pattern' => '@^TenGigabitEther 0/(\d+)$@',
1760 'replacement' => 'te 0/\\1', # note the space
1761 'dict_key' => '9-1084',
1762 'label' => '\\1',
1763 'try_next_proc' => FALSE,
1764 );
1765
1766 $iftable_processors['ibm-mgmt'] = array
1767 (
1768 'pattern' => '@^Management1$@',
1769 'replacement' => 'mgmt',
1770 'dict_key' => '1-24',
1771 'label' => 'Mgmt',
1772 'try_next_proc' => FALSE,
1773 );
1774
1775 $iftable_processors['ibm-any-1000T'] = array
1776 (
1777 'pattern' => '@^Ethernet(\d+)$@',
1778 'replacement' => 'port \\1',
1779 'dict_key' => '1-24',
1780 'label' => '\\1',
1781 'try_next_proc' => FALSE,
1782 );
1783
1784 $iftable_processors['ibm-49-to-52-SFP+'] = array
1785 (
1786 'pattern' => '@^Ethernet(49|50|51|52)$@',
1787 'replacement' => 'port \\1',
1788 'dict_key' => '9-1084',
1789 'label' => '\\1',
1790 'try_next_proc' => FALSE,
1791 );
1792
1793 $iftable_processors['ibm-any-SFP+'] = array
1794 (
1795 'pattern' => '@^Ethernet(\d+)$@',
1796 'replacement' => 'port \\1',
1797 'dict_key' => '9-1084',
1798 'label' => '\\1',
1799 'try_next_proc' => FALSE,
1800 );
1801
1802 global $known_switches;
1803 $known_switches = array // key is system OID w/o "enterprises" prefix
1804 (
1805 '9.1.217' => array
1806 (
1807 'dict_key' => 124,
1808 'text' => 'WS-C2924-XL: 24 RJ-45/10-100TX',
1809 'processors' => array ('catalyst-chassis-any-100TX'),
1810 ),
1811 '9.1.220' => array
1812 (
1813 'dict_key' => 1719,
1814 'text' => 'WS-C2924M-XL: 24 RJ-45/10-100TX',
1815 'processors' => array ('catalyst-chassis-any-100TX'),
1816 ),
1817 '9.1.246' => array
1818 (
1819 'dict_key' => 391,
1820 'text' => 'WS-C3508G-XL: 8 GBIC/1000',
1821 'processors' => array ('catalyst-chassis-any-1000GBIC'),
1822 ),
1823 '9.1.248' => array
1824 (
1825 'dict_key' => 393,
1826 'text' => 'WS-C3524-XL: 24 RJ-45/10-100TX + 2 GBIC/1000',
1827 'processors' => array ('catalyst-chassis-any-1000GBIC', 'catalyst-chassis-any-100TX'),
1828 ),
1829 '9.1.278' => array
1830 (
1831 'dict_key' => 395,
1832 'text' => 'WS-C3548-XL: 48 RJ-45/10-100TX + 2 GBIC/1000',
1833 'processors' => array ('catalyst-chassis-any-1000GBIC', 'catalyst-chassis-any-100TX'),
1834 ),
1835 '9.1.282' => array
1836 (
1837 'dict_key' => 154,
1838 'text' => 'WS-C6506: modular device (INCOMPLETE!)',
1839 'processors' => array ('catalyst-chassis-any-1000T'),
1840 ),
1841 '9.1.323' => array
1842 (
1843 'dict_key' => 381,
1844 'text' => 'WS-C2950-12 12 RJ-45/10-100TX',
1845 'processors' => array ('catalyst-chassis-any-100TX'),
1846 ),
1847 '9.1.324' => array
1848 (
1849 'dict_key' => 380,
1850 'text' => 'WS-C2950-24: 24 RJ-45/10-100TX',
1851 'processors' => array ('catalyst-chassis-any-100TX'),
1852 ),
1853 '9.1.325' => array
1854 (
1855 'dict_key' => 382,
1856 'text' => 'WS-C2950C-24: 24 RJ-45/10-100TX + 2 MT-RJ/100FX fiber',
1857 'processors' => array ('catalyst-chassis-25-to-26-100FX/MT-RJ', 'catalyst-chassis-any-100TX'),
1858 ),
1859 '9.1.359' => array
1860 (
1861 'dict_key' => 386,
1862 'text' => 'WS-C2950T-24: 24 RJ-45/10-100TX + 2 1000T uplinks',
1863 'processors' => array ('catalyst-chassis-uplinks-1000T', 'catalyst-chassis-any-100TX'),
1864 ),
1865 '9.1.366' => array
1866 (
1867 'dict_key' => 400,
1868 'text' => 'WS-C3550-24: 24 RJ-45/10-100TX + 2 GBIC/1000',
1869 'processors' => array ('catalyst-chassis-any-1000GBIC', 'catalyst-chassis-any-100TX'),
1870 ),
1871 '9.1.367' => array
1872 (
1873 'dict_key' => 404,
1874 'text' => 'WS-C3550-48: 48 RJ-45/10-100TX + 2 GBIC/1000',
1875 'processors' => array ('catalyst-chassis-any-100TX', 'catalyst-chassis-any-1000GBIC'),
1876 ),
1877 '9.1.368' => array
1878 (
1879 'dict_key' => 398,
1880 'text' => 'WS-C3550-12T: 10 RJ-45/10-100-1000T(X) + 2 GBIC/1000',
1881 'processors' => array ('catalyst-1-to-10-1000T', 'catalyst-11-to-12-GBIC'),
1882 ),
1883 '9.1.428' => array
1884 (
1885 'dict_key' => 389,
1886 'text' => 'WS-C2950G-24: 24 RJ-45/10-100TX + 2 GBIC/1000',
1887 'processors' => array ('catalyst-chassis-any-1000GBIC', 'catalyst-chassis-any-100TX'),
1888 ),
1889 '9.1.429' => array
1890 (
1891 'dict_key' => 390,
1892 'text' => 'WS-C2950G-48: 48 RJ-45/10-100TX + 2 GBIC/1000',
1893 'processors' => array ('catalyst-chassis-any-1000GBIC', 'catalyst-chassis-any-100TX'),
1894 ),
1895 '9.1.431' => array
1896 (
1897 'dict_key' => 399,
1898 'text' => 'WS-C3550-12G: 10 GBIC/1000 + 2 RJ-45/10-100-1000T(X)',
1899 'processors' => array ('catalyst-blade-11-to-12-1000T', 'catalyst-chassis-any-1000GBIC'),
1900 ),
1901 '9.1.471' => array
1902 (
1903 'dict_key' => 270,
1904 'text' => '2651XM: 2 RJ-45/10-100TX',
1905 'processors' => array ('catalyst-chassis-any-100TX'),
1906 ),
1907 '9.1.472' => array
1908 (
1909 'dict_key' => 383,
1910 'text' => 'WS-C2950G-24-DC 24 RJ-45/10-100TX + 2 GBIC/1000',
1911 'processors' => array ('catalyst-chassis-any-1000GBIC','catalyst-chassis-any-100TX'),
1912 ),
1913 '9.1.480' => array
1914 (
1915 'dict_key' => 385,
1916 'text' => 'WS-C2950SX-24 24 RJ-45/10-100TX + 2 1000Base-SX',
1917 'processors' => array ('catalyst-chassis-uplinks-1000SX','catalyst-chassis-any-100TX'),
1918 ),
1919 '9.1.527' => array
1920 (
1921 'dict_key' => 210,
1922 'text' => 'WS-C2970G-24T: 24 RJ-45/10-100-1000T(X)',
1923 'processors' => array ('catalyst-chassis-any-1000T'),
1924 ),
1925 '9.1.559' => array
1926 (
1927 'dict_key' => 387,
1928 'text' => 'WS-C2950T-48: 48 RJ-45/10-100TX + 2 RJ-45/10-100-1000T(X)',
1929 'processors' => array ('catalyst-chassis-uplinks-1000T', 'catalyst-chassis-any-100TX'),
1930 ),
1931 '9.1.560' => array
1932 (
1933 'dict_key' => 384,
1934 'text' => 'WS-C2950SX-48: 48 RJ-45/10-100TX + 2 1000Base-SX',
1935 'processors' => array ('catalyst-chassis-uplinks-1000SX', 'catalyst-chassis-any-100TX'),
1936 ),
1937 '9.1.561' => array
1938 (
1939 'dict_key' => 115,
1940 'text' => 'WS-C2970G-24TS: 24 RJ-45/10-100-1000T(X) + 4 SFP/1000',
1941 'processors' => array ('catalyst-chassis-25-to-28-1000SFP', 'catalyst-chassis-any-1000T'),
1942 ),
1943 '9.1.563' => array
1944 (
1945 'dict_key' => 171,
1946 'text' => 'WS-C3560-24PS: 24 RJ-45/10-100TX + 2 SFP/1000',
1947 'processors' => array ('catalyst-chassis-any-1000SFP', 'catalyst-chassis-any-100TX'),
1948 ),
1949 '9.1.564' => array
1950 (
1951 'dict_key' => 172,
1952 'text' => 'WS-C3560-48PS: 48 RJ-45/10-100TX + 4 SFP/1000',
1953 'processors' => array ('catalyst-chassis-any-1000SFP', 'catalyst-chassis-any-100TX'),
1954 ),
1955 '9.1.569' => array
1956 (
1957 'dict_key' => 2024,
1958 'text' => 'Cisco 877 ISR: 4 RJ-45/10-100TX',
1959 'processors' => array ('catalyst-chassis-any-100TX'),
1960 ),
1961 '9.1.570' => array
1962 (
1963 'dict_key' => 2025,
1964 'text' => 'Cisco 878 ISR: 4 RJ-45/10-100TX',
1965 'processors' => array ('catalyst-chassis-any-100TX'),
1966 ),
1967 '9.1.614' => array
1968 (
1969 'dict_key' => 175,
1970 'text' => 'WS-C3560G-24PS: 24 RJ-45/10-100-1000T(X) + 4 SFP/1000',
1971 'processors' => array ('catalyst-chassis-25-to-28-1000SFP', 'catalyst-chassis-any-1000T'),
1972 ),
1973 '9.1.615' => array
1974 (
1975 'dict_key' => 173,
1976 'text' => 'WS-C3560G-24TS: 24 RJ-45/10-100-1000T(X) + 4 SFP/1000',
1977 'processors' => array ('catalyst-chassis-25-to-28-1000SFP', 'catalyst-chassis-any-1000T'),
1978 ),
1979 '9.1.616' => array
1980 (
1981 'dict_key' => 176,
1982 'text' => 'WS-C3560G-48PS: 48 RJ-45/10-100-1000T(X) + 4 SFP/1000',
1983 'processors' => array ('catalyst-chassis-49-to-52-1000SFP', 'catalyst-chassis-any-1000T'),
1984 ),
1985 '9.1.617' => array
1986 (
1987 'dict_key' => 174,
1988 'text' => 'WS-C3560G-48TS: 48 RJ-45/10-100-1000T(X) + 4 SFP/1000',
1989 'processors' => array ('catalyst-chassis-49-to-52-1000SFP', 'catalyst-chassis-any-1000T'),
1990 ),
1991 '9.1.626' => array
1992 (
1993 'dict_key' => 147,
1994 'text' => 'WS-C4948: 48 RJ-45/10-100-1000T(X) + 4 SFP/1000 + 1 RJ-45/100TX (OOB mgmt)',
1995 'processors' => array ('catalyst-chassis-45-to-48-combo-1000SFP', 'catalyst-chassis-any-1000T', 'catalyst-chassis-mgmt'),
1996 ),
1997 '9.1.633' => array
1998 (
1999 'dict_key' => 169,
2000 'text' => 'WS-C3560-24TS: 24 RJ-45/10-100TX + 2 SFP/1000',
2001 'processors' => array ('catalyst-chassis-any-1000SFP', 'catalyst-chassis-any-100TX'),
2002 ),
2003 '9.1.634' => array
2004 (
2005 'dict_key' => 170,
2006 'text' => 'WS-C3560-48TS: 48 RJ-45/10-100TX + 4 SFP/1000',
2007 'processors' => array ('catalyst-chassis-any-1000SFP', 'catalyst-chassis-any-100TX'),
2008 ),
2009 '9.1.659' => array
2010 (
2011 'dict_key' => 377,
2012 'text' => 'WS-C4948-10GE: 48 RJ-45/10-100-1000T(X) + 2 X2/10000 + 1 RJ-45/100TX (OOB mgmt)',
2013 'processors' => array ('catalyst-chassis-uplinks-10000X2', 'catalyst-chassis-uplinks-1000T', 'catalyst-chassis-mgmt'),
2014 ),
2015 '9.1.694' => array
2016 (
2017 'dict_key' => 1710,
2018 'text' => 'WS-C2960-24TC-L: 24 RJ-45/10-100TX + 2 combo-gig',
2019 'processors' => array ('catalyst-chassis-1-to-2-combo-1000SFP', 'catalyst-chassis-any-1000T', 'catalyst-chassis-any-100TX'),
2020 ),
2021 '9.1.695' => array
2022 (
2023 'dict_key' => 1590,
2024 'text' => 'WS-C2960-48TC-L: 48 RJ-45/10-100TX + 2 combo-gig',
2025 'processors' => array ('catalyst-chassis-1-to-2-combo-1000SFP', 'catalyst-chassis-any-1000T', 'catalyst-chassis-any-100TX'),
2026 ),
2027 '9.1.696' => array
2028 (
2029 'dict_key' => 167,
2030 'text' => 'WS-C2960G-24TC-L: 20 RJ-45/10-100-1000T(X) + 4 combo-gig',
2031 'processors' => array ('catalyst-chassis-21-to-24-combo-1000SFP', 'catalyst-chassis-any-1000T'),
2032 ),
2033 '9.1.697' => array
2034 (
2035 'dict_key' => 166,
2036 'text' => 'WS-C2960G-48TC-L: 44 RJ-45/10-100-1000T(X) + 4 combo-gig',
2037 'processors' => array ('catalyst-chassis-45-to-48-combo-1000SFP', 'catalyst-chassis-any-1000T'),
2038 ),
2039 '9.1.716' => array
2040 (
2041 'dict_key' => 164,
2042 'text' => 'WS-C2960-24TT-L: 24 RJ-45/10-100TX + 2 RJ-45/10-100-1000T(X)',
2043 'processors' => array ('catalyst-chassis-any-100TX', 'catalyst-chassis-any-1000T'),
2044 ),
2045 '9.1.717' => array
2046 (
2047 'dict_key' => 1572,
2048 'text' => 'WS-C2960-48TT-L: 48 RJ-45/10-100TX + 2 RJ-45/10-100-1000T(X)',
2049 'processors' => array ('catalyst-chassis-any-100TX', 'catalyst-chassis-any-1000T'),
2050 ),
2051 '9.1.724' => array
2052 (
2053 'dict_key' => 160,
2054 'text' => 'WS-CE500-24TT: 24 RJ-45/10-100TX + 2 RJ-45/10-100-1000T(X)',
2055 'processors' => array ('catalyst-any-100TX', 'catalyst-any-1000T'),
2056 ),
2057 '9.1.727' => array
2058 (
2059 'dict_key' => 161,
2060 'text' => 'WS-CE500G-12TC: 8 RJ-45/10-100/1000T(X) + 4 combo',
2061 'processors' => array ('catalyst-9-to-12-combo-1000SFP', 'catalyst-9-to-12-1000T', 'catalyst-any-1000T'),
2062 ),
2063 '9.1.749' => array
2064 (
2065 'dict_key' => 989,
2066 'text' => 'WS-CBS3030-DEL: 10 internal/10-100-1000T(X) + 2 RJ-45/10-100-1000T(X) + 4 SFP/1000',
2067 'processors' => array ('catalyst-blade-11-to-12-1000T', 'catalyst-blade-13-to-16-1000SFP', 'catalyst-blade-any-bp/1000T'),
2068 ),
2069 '9.1.793' => array
2070 (
2071 'dict_key' => 1575,
2072 'text' => 'WS-C3560E-24TD: 24 RJ-45/10-100-1000T(X) + 2 X2/10000 w/TwinGig + OOBM',
2073 'processors' => array
2074 (
2075 'catalyst-chassis-25-to-28-1000SFP', // TwinGig
2076 'catalyst-chassis-any-1000T',
2077 'catalyst-chassis-uplinks-10000X2',
2078 'catalyst-chassis-mgmt',
2079 ),
2080 ),
2081 '9.1.794' => array
2082 (
2083 'dict_key' => 1574,
2084 'text' => 'WS-C3560E-48TD: 48 RJ-45/10-100-1000T(X) + 2 X2/10000 w/TwinGig + OOBM',
2085 'processors' => array
2086 (
2087 'catalyst-chassis-49-to-52-1000SFP', // TwinGig
2088 'catalyst-chassis-any-1000T',
2089 'catalyst-chassis-uplinks-10000X2',
2090 'catalyst-chassis-mgmt',
2091 ),
2092 ),
2093 '9.1.797' => array
2094 (
2095 'dict_key' => 139,
2096 'text' => 'WS-C3560-8PC 8 RJ-45/10-100TX + 1 combo-gig',
2097 'processors' => array ('catalyst-chassis-1-to-2-combo-1000SFP', 'catalyst-chassis-any-1000T', 'catalyst-chassis-any-100TX'),
2098 ),
2099 '9.1.798' => array
2100 (
2101 'dict_key' => 165,
2102 'text' => 'WS-C2960-8TC-L 8 RJ-45/10-100TX + 1 combo-gig',
2103 'processors' => array ('catalyst-chassis-1-to-2-combo-1000SFP', 'catalyst-chassis-any-1000T', 'catalyst-chassis-any-100TX'),
2104 ),
2105 '9.1.799' => array
2106 (
2107 'dict_key' => 168,
2108 'text' => 'WS-C2960G-8TC-L: 7 RJ-45/10-100-1000T(X) + 1 combo-gig',
2109 'processors' => array ('catalyst-chassis-8-combo-1000SFP', 'catalyst-chassis-any-1000T'),
2110 ),
2111 '9.1.920' => array
2112 (
2113 'dict_key' => 795,
2114 'text' => 'WS-CBS3032-DEL: 16 internal/10-100-1000T(X) + 4 RJ-45/10-100-1000T(X) + 4 SFP/1000',
2115 'processors' => array ('catalyst-blade-17-to-20-1000T', 'catalyst-blade-21-to-24-1000SFP', 'catalyst-blade-any-bp/1000T'),
2116 ),
2117 '9.1.927' => array
2118 (
2119 'dict_key' => 140,
2120 'text' => 'WS-C2960-48TC-S: 48 RJ-45/10-100TX + 2 combo-gig',
2121 'processors' => array ('catalyst-chassis-1-to-2-combo-1000SFP', 'catalyst-chassis-any-1000T', 'catalyst-chassis-any-100TX'),
2122 ),
2123 '9.1.928' => array
2124 (
2125 'dict_key' => 1894,
2126 'text' => 'WS-C2960-24TC-S: 24 RJ-45/10-100TX + 2 combo-gig',
2127 'processors' => array ('catalyst-chassis-1-to-2-combo-1000SFP', 'catalyst-chassis-any-100TX'),
2128 ),
2129 '9.1.930' => array
2130 (
2131 'dict_key' => 1607,
2132 'text' => 'WS-C3560E-12D-S: 12 X2/10000 w/TwinGig + OOBM',
2133 'processors' => array
2134 (
2135 'catalyst-chassis-any-1000SFP',
2136 'catalyst-chassis-uplinks-10000X2',
2137 'catalyst-chassis-mgmt',
2138 ),
2139 ),
2140 '9.1.950' => array
2141 (
2142 'dict_key' => 1347,
2143 'text' => 'WS-C2960-24PC-L: 24 RJ-45/10-100TX + 2 combo-gig',
2144 'processors' => array ('catalyst-chassis-1-to-2-combo-1000SFP', 'catalyst-chassis-any-1000T', 'catalyst-chassis-any-100TX'),
2145 ),
2146 '9.1.956' => array
2147 (
2148 'dict_key' => 1721,
2149 'text' => 'WS-C3560E-12SD: 12 SFP/1000 +2 X2/10000 + OOBM',
2150 'processors' => array
2151 (
2152 'catalyst-chassis-any-1000SFP',
2153 'catalyst-chassis-uplinks-10000X2',
2154 'catalyst-chassis-mgmt',
2155 ),
2156 ),
2157 '9.1.999' => array
2158 (
2159 'dict_key' => 2038,
2160 'text' => 'WS-CBS3012-IBM 14 10-100-1000T + 1 10/100T + 4 RJ45/10/100/1000T(X)',
2161 'processors' => array ('catalyst-chassis-any-1000T','catalyst-chassis-any-100TX'),
2162 ),
2163 '9.1.1000' => array
2164 (
2165 'dict_key' => 2038,
2166 'text' => 'WS-CBS3012-IBM-I 14 10-100-1000T + 1 10/100T + 4 RJ45/10/100/1000T(X)',
2167 'processors' => array ('catalyst-chassis-any-1000T','catalyst-chassis-any-100TX'),
2168 ),
2169 '9.1.1005' => array
2170 (
2171 'dict_key' => 1573,
2172 'text' => 'WS-C2960-48TT-S: 48 RJ-45/10-100TX + 2 RJ-45/10-100-1000T(X)',
2173 'processors' => array ('catalyst-chassis-any-100TX', 'catalyst-chassis-any-1000T'),
2174 ),
2175 '9.1.1007' => array
2176 (
2177 'dict_key' => 2030,
2178 'text' => 'ME-3400EG-2CS-A: 2 combo ports + 4 SFP',
2179 'processors' => array ('catalyst-chassis-1-to-2-combo-1000T', 'catalyst-chassis-any-1000SFP', 'catalyst-chassis-mgmt'),
2180 ),
2181 '9.1.1016' => array
2182 (
2183 'dict_key' => 1370,
2184 'text' => 'WS-C2960-48PST-L: 48 RJ-45/10-100TX PoE + 2 SFP/1000 + 2 RJ-45/10-100-1000T(X)',
2185 'processors' => array
2186 (
2187 'catalyst-chassis-any-100TX',
2188 'catalyst-chassis-1-to-2-1000SFP',
2189 'catalyst-chassis-uplinks-1000T',
2190 ),
2191 ),
2192 '9.1.1021' => array
2193 (
2194 'dict_key' => 1806,
2195 'text' => 'WS-C3560V2-24PS: 24 RJ-45/10-100TX + 2 SFP/1000',
2196 'processors' => array ('catalyst-chassis-1-to-2-1000SFP', 'catalyst-chassis-any-100TX'),
2197 ),
2198 '9.1.1024' => array
2199 (
2200 'dict_key' => 1805,
2201 'text' => 'WS-C3560V2-48TS: 48 RJ-45/10-100TX + 4 SFP/1000',
2202 'processors' => array ('catalyst-chassis-any-1000SFP', 'catalyst-chassis-any-100TX'),
2203 ),
2204 '9.1.1025' => array
2205 (
2206 'dict_key' => 1807,
2207 'text' => 'WS-C3560V2-48PS: 48 RJ-45/10-100TX + 4 SFP/1000',
2208 'processors' => array ('catalyst-chassis-any-1000SFP', 'catalyst-chassis-any-100TX'),
2209 ),
2210 '9.1.1104' => array
2211 (
2212 'dict_key' => 1348,
2213 'text' => 'WS-C2350-48TD: 48 RJ-45/10-100-1000T(X) + 2 X2/10000 w/TwinGig option',
2214 'processors' => array
2215 (
2216 'catalyst-chassis-49-to-52-1000SFP', // TwinGig actually
2217 'catalyst-chassis-any-1000T',
2218 'catalyst-chassis-uplinks-10000X2',
2219 'catalyst-chassis-mgmt',
2220 ),
2221 ),
2222 '9.1.1147' => array
2223 (
2224 'dict_key' => 1897,
2225 'text' => 'WS-C2960-24PC-S: 24 RJ-45/10-100TX + 2 combo-gig',
2226 'processors' => array ('catalyst-chassis-1-to-2-combo-1000SFP', 'catalyst-chassis-any-1000T', 'catalyst-chassis-any-100TX'),
2227 ),
2228 '9.1.1208' => array
2229 (
2230 'dict_key' => 1394,
2231 'text' => 'WS-C2960S-24PS-L: 24 RJ-45/10-100-1000T(X) PoE+ + 4 SFP/1000',
2232 'processors' => array
2233 (
2234 'catalyst-chassis-mgmt',
2235 'catalyst-stack-25-to-28-SFP',
2236 'catalyst-stack-any-1000T',
2237 ),
2238 ),
2239 '9.1.1227' => array
2240 (
2241 'dict_key' => 1577,
2242 'text' => 'WS-C3560X-48T: 48 RJ-45/10-100-1000T(X) + network module + OOBM',
2243 'processors' => array
2244 (
2245 'C3KX-NM-10000',
2246 'C3KX-NM-1000',
2247 'catalyst-chassis-any-1000T',
2248 'catalyst-chassis-mgmt',
2249 ),
2250 ),
2251 '9.1.1257' => array
2252 (
2253 'dict_key' => 1391,
2254 'text' => 'WS-C2960G-24TS-S: 24 RJ-45/10-100-1000T(X)',
2255 'processors' => array ('catalyst-chassis-25-to-26-1000SFP', 'catalyst-chassis-mgmt', 'catalyst-chassis-any-1000T'),
2256 ),
2257 '9.1.1265' => array
2258 (
2259 'dict_key' => 1394,
2260 'text' => 'WS-C2960S-24PS-L: 24 RJ-45/10-100-1000T(X) + 4 SFP/1000',
2261 'processors' => array ('catalyst-stack-25-to-28-SFP', 'catalyst-chassis-mgmt', 'catalyst-stack-any-1000T'),
2262 ),
2263 '9.1.1292' => array
2264 (
2265 'dict_key' => 1606,
2266 'text' => 'WS-C2360-48TD: 48 RJ-45 GigE + 4 SFP+/10000',
2267 'processors' => array ('catalyst-chassis-any-1000T', 'catalyst-chassis-mgmt', 'catalyst-chassis-uplinks-10000SFP+'),
2268 ),
2269 '9.1.1316' => array
2270 (
2271 'dict_key' => 2029,
2272 'text' => 'WS-C2960CG-8TC-L: 8 RJ-45/10-100-1000T(X) + 2 combo ports',
2273 'processors' => array ('catalyst-9-to-10-combo-1000SFP', 'catalyst-chassis-any-1000T'),
2274 ),
2275 '9.1.1317' => array
2276 (
2277 'dict_key' => 2059,
2278 'text' => 'WS-C3560CG-8PC-S: 8 RJ-45/10-100-1000T(X) + 2 combo ports',
2279 'processors' => array ('catalyst-9-to-10-combo-1000SFP', 'catalyst-chassis-any-1000T'),
2280 ),
2281 '9.1.1327' => array
2282 (
2283 'dict_key' => 2026,
2284 'text' => 'WS-C4948E: 48 RJ-45/10-100-1000T(X) + 4 SFP+/10000 + 1 RJ-45/100TX (OOB mgmt)',
2285 'processors' => array ('catalyst-chassis-uplinks-10000SFP+', 'catalyst-chassis-uplinks-1000T', 'catalyst-chassis-mgmt'),
2286 ),
2287 '9.1.1650' => array
2288 (
2289 'dict_key' => 1903,
2290 'text' => 'WS-C2960S-F48LPS-L: 48 RJ-45/10-100TX + 4 SFP/1000',
2291 'processors' => array ('catalyst-stack-1-to-4-SFP', 'catalyst-chassis-mgmt', 'catalyst-stack-any-100TX'),
2292 ),
2293 '9.5.18' => array
2294 (
2295 'dict_key' => 2094,
2296 'text' => 'WS-C1924-A: 24 RJ-45/10TX + 2 100TX',
2297 'processors' => array ('catalyst-a-to-b-100TX', 'catalyst-any-10TX'),
2298 ),
2299 '9.5.42' => array
2300 (
2301 'dict_key' => 1796,
2302 'text' => 'WS-C2948G-L3: 48 RJ-45/10-100TX + 2 SFP/1000 ports',
2303 'processors' => array ('catalyst-2948-49-to-50-SFP', 'catalyst-2948-any-100TX'),
2304 'ifDescrOID' => 'entPhysicalName',
2305 ),
2306 '9.6.1.82.8.3' => array
2307 (
2308 'dict_key' => 2091,
2309 'text' => 'SF 302-08MP: 8 RJ-45/10/100TX PWR + 2 combo-gig',
2310 'processors' => array
2311 (
2312 'generic-gi-1-to-2-combo-1000SFP',
2313 'generic-gi-1-to-2-1000T',
2314 'generic-fa-any-100TX',
2315 ),
2316 'ifDescrOID' => 'ifName',
2317 ),
2318 '9.6.1.82.24.2' => array
2319 (
2320 'dict_key' => 1784,
2321 'text' => 'SF 300-24P: RJ-45/10/100 + 2 RJ-45/10/100/1000T(X) + 2 combo-gig',
2322 'processors' => array
2323 (
2324 'generic-gi-3-to-4-combo-1000SFP',
2325 'generic-gi-3-to-4-combo-1000T',
2326 'generic-gi-1-to-2-1000T',
2327 'generic-fa-any-100TX',
2328 ),
2329 'ifDescrOID' => 'ifName',
2330 ),
2331 '9.6.1.82.48.1' => array
2332 (
2333 'dict_key' => 1612,
2334 'text' => 'SF 300-48: 48 RJ-45/10/100 + 2 RJ-45/10-100-1000T(X) + 2 combo-gig',
2335 'processors' => array
2336 (
2337 'generic-gi-3-to-4-combo-1000SFP',
2338 'generic-gi-3-to-4-combo-1000T',
2339 'generic-gi-1-to-2-1000T',
2340 'generic-fa-any-100TX',
2341 ),
2342 'ifDescrOID' => 'ifName',
2343 ),
2344 '9.6.1.83.10.1' => array
2345 (
2346 'dict_key' => 1785,
2347 'text' => 'SG 300-10: 8 RJ-45/10/100/1000T(X) + 2 combo-gig',
2348 'processors' => array
2349 (
2350 'generic-gi-9-to-10-combo-1000SFP',
2351 'generic-gi-9-to-10-combo-1000T',
2352 'generic-gi-any-1000T',
2353 ),
2354 'ifDescrOID' => 'ifName',
2355 ),
2356 '9.6.1.83.52.1' => array
2357 (
2358 'dict_key' => 1783,
2359 'text' => 'SG 300-52: 50 RJ-45/10/100/1000T(X) + 2 combo-gig',
2360 'processors' => array
2361 (
2362 'generic-gi-51-to-52-combo-1000SFP',
2363 'generic-gi-51-to-52-combo-1000T',
2364 'generic-gi-any-1000T',
2365 ),
2366 'ifDescrOID' => 'ifName',
2367 ),
2368 '9.12.3.1.3.719' => array
2369 (
2370 'dict_key' => 960,
2371 'text' => 'N5K-C5020: 40 SFP+/10000',
2372 'processors' => array ('nexus-any-10000SFP+', 'nexus-mgmt'),
2373 ),
2374 '9.12.3.1.3.798' => array
2375 (
2376 'dict_key' => 959,
2377 'text' => 'N5K-C5010: 20 SFP+/10000',
2378 'processors' => array ('nexus-any-10000SFP+', 'nexus-mgmt'),
2379 ),
2380 '9.12.3.1.3.1008' => array
2381 (
2382 'dict_key' => 1412,
2383 'text' => 'N5K-C5548P: 32 SFP+/10000',
2384 'processors' => array ('nexus-any-10000SFP+', 'nexus-mgmt'),
2385 ),
2386 '9.12.3.1.3.1084' => array
2387 (
2388 'dict_key' => 1412,
2389 'text' => 'N5K-C5548P: 32 SFP+/10000',
2390 'processors' => array ('nexus-any-10000SFP+', 'nexus-mgmt'),
2391 ),
2392 '11.2.3.7.11.9' => array
2393 (
2394 'dict_key' => 1086,
2395 'text' => 'J4121A: modular system',
2396 'processors' => array ('procurve-modular-100TX'),
2397 ),
2398 '11.2.3.7.11.19' => array
2399 (
2400 'dict_key' => 859,
2401 'text' => 'J4813A: 24 RJ-45/10-100TX + 2 modules of varying type',
2402 'processors' => array ('procurve-chassis-100TX'),
2403 ),
2404 '11.2.3.7.11.29' => array
2405 (
2406 'dict_key' => 866,
2407 'text' => 'J4899A: 48 RJ-45/10-100TX + 2 RJ-45/10-100-1000T(X)',
2408 'processors' => array ('procurve-49-to-50-1000T', 'procurve-chassis-100TX'),
2409 ),
2410 '11.2.3.7.11.31' => array
2411 (
2412 'dict_key' => 870,
2413 'text' => 'J4903A: 24 RJ-45/10-100-1000T(X)',
2414 'processors' => array ('procurve-chassis-1000T'),
2415 ),
2416 '11.2.3.7.11.32' => array
2417 (
2418 'dict_key' => 871,
2419 'text' => 'J4904A: 48 RJ-45/10-100-1000T(X)',
2420 'processors' => array ('procurve-chassis-1000T'),
2421 ),
2422 '11.2.3.7.11.33.4.1.1' => array
2423 (
2424 'dict_key' => 1605,
2425 'text' => 'HP GbE2c w/SFP',
2426 'processors' => array
2427 (
2428 'gbe2csfp-1-to-16',
2429 'gbe2csfp-17',
2430 'gbe2csfp-18',
2431 'gbe2csfp-19',
2432 'gbe2csfp-20',
2433 'gbe2csfp-21sfp',
2434 'gbe2csfp-22sfp',
2435 'gbe2csfp-23sfp',
2436 'gbe2csfp-24sfp',
2437 'gbe2csfp-21',
2438 'gbe2csfp-22',
2439 'gbe2csfp-23',
2440 'gbe2csfp-24',
2441 ),
2442 ),
2443 '11.2.3.7.11.34' => array
2444 (
2445 'dict_key' => 864,
2446 'text' => 'J4900A: 24 RJ-45/10-100TX + 2 combo-gig',
2447 'processors' => array ('procurve-25-to-26-combo-1000SFP', 'procurve-25-to-26-1000T', 'procurve-chassis-100TX'),
2448 ),
2449 '11.2.3.7.11.35' => array
2450 (
2451 'dict_key' => 867,
2452 'text' => 'J8165A: 48 RJ-45/10-100TX PoE + 2 RJ-45/10-100-1000T(X)',
2453 'processors' => array ('procurve-49-to-50-1000T', 'procurve-chassis-100TX'),
2454 ),
2455 '11.2.3.7.11.36' => array
2456 (
2457 'dict_key' => 865,
2458 'text' => 'J8164A: 24 RJ-45/10-100TX PoE + 2 RJ-45/10-100-1000T(X)',
2459 'processors' => array ('procurve-25-to-26-1000T', 'procurve-chassis-100TX'),
2460 ),
2461 '11.2.3.7.11.44' => array
2462 (
2463 'dict_key' => 866,
2464 'text' => 'J4899B: 48 RJ-45/10-100TX + 2 RJ-45/10-100-1000T(X)',
2465 'processors' => array ('procurve-49-to-50-1000T', 'procurve-chassis-100TX'),
2466 ),
2467 '11.2.3.7.11.45' => array
2468 (
2469 'dict_key' => 864,
2470 'text' => 'J4900B: 24 RJ-45/10-100TX + 2 combo-gig',
2471 'processors' => array ('procurve-25-to-26-combo-1000SFP', 'procurve-25-to-26-1000T', 'procurve-chassis-100TX'),
2472 ),
2473 '11.2.3.7.11.53' => array
2474 (
2475 'dict_key' => 881,
2476 'text' => 'J8773A: modular system',
2477 'processors' => array ('procurve-modular-1000T'),
2478 ),
2479 '11.2.3.7.11.58' => array
2480 (
2481 'dict_key' => 876,
2482 'text' => 'J8692A: 20 RJ-45/10-100-1000T(X) + 4 combo-gig',
2483 'processors' => array ('procurve-21-to-24-combo-1000SFP', 'procurve-chassis-1000T'),
2484 ),
2485 '11.2.3.7.11.62' => array
2486 (
2487 'dict_key' => 855,
2488 'text' => 'J9020A: 48 RJ-45/10-100TX + 2 RJ-45/10-1000-1000T(X) + 2 SFP-1000',
2489 'processors' => array ('procurve-51-to-52-1000SFP', 'procurve-49-to-50-1000T', 'procurve-chassis-100TX'),
2490 ),
2491 '11.2.3.7.11.63' => array
2492 (
2493 'dict_key' => 868,
2494 'text' => 'J9021A: 20 RJ-45/10-100-1000T(X) + 4 combo-gig',
2495 'processors' => array ('procurve-21-to-24-combo-1000SFP', 'procurve-chassis-1000T'),
2496 ),
2497 '11.2.3.7.11.64' => array
2498 (
2499 'dict_key' => 869,
2500 'text' => 'J9022A: 44 RJ-45/10-100-1000T(X) + 4 combo-gig',
2501 'processors' => array ('procurve-45-to-48-combo-1000SFP', 'procurve-chassis-1000T'),
2502 ),
2503 '11.2.3.7.11.65' => array
2504 (
2505 'dict_key' => 850,
2506 'text' => 'J9028A: 22 RJ-45/10-100-1000T(X) + 2 combo-gig',
2507 'processors' => array ('smc2-combo-23-to-24', 'smc2-any-1000T'),
2508 ),
2509 '11.2.3.7.11.68' => array
2510 (
2511 'dict_key' => 873,
2512 'text' => 'J9050A: 48 RJ-45/10-100-1000T',
2513 'processors' => array ('procurve-chassis-1000T'),
2514 ),
2515 '11.2.3.7.11.76' => array
2516 (
2517 'dict_key' => 860,
2518 'text' => 'J9085A: 24 RJ-45/10-100TX + 2 1000T + 2 SFP-1000',
2519 'processors' => array ('procurve-25-to-26-1000T', 'procurve-27-to-28-1000SFP', 'procurve-chassis-100TX'),
2520 ),
2521 '11.2.3.7.11.78' => array
2522 (
2523 'dict_key' => 861,
2524 'text' => 'J9087A: 24 RJ-45/10-100TX PoE + 2 1000T + 2 SFP-1000',
2525 'processors' => array ('procurve-25-to-26-1000T', 'procurve-27-to-28-1000SFP', 'procurve-chassis-100TX'),
2526 ),
2527 '11.2.3.7.11.79' => array
2528 (
2529 'dict_key' => 863,
2530 'text' => 'J9089A: 48 RJ-45/10-100TX PoE + 2 1000T + 2 SFP-1000',
2531 'processors' => array ('procurve-49-to-50-1000T', 'procurve-51-to-52-1000SFP', 'procurve-chassis-100TX'),
2532 ),
2533 '11.2.3.7.11.80' => array
2534 (
2535 'dict_key' => 1570,
2536 'text' => 'J9086A: 24 RJ-45/10-100TX 12 PoE + 2 1000T + 2 SFP-1000',
2537 'processors' => array ('procurve-25-to-26-1000T', 'procurve-27-to-28-1000SFP', 'procurve-chassis-100TX'),
2538 ),
2539 '11.2.3.7.11.81' => array
2540 (
2541 'dict_key' => 850,
2542 'text' => 'J9028B: 22 RJ-45/10-100-1000T(X) + 2 combo-gig',
2543 'processors' => array ('smc2-combo-23-to-24', 'smc2-any-1000T'),
2544 ),
2545 '11.2.3.7.11.84' => array
2546 (
2547 'dict_key' => 2096,
2548 'text' => 'J9146A: 20 RJ-45/10-100-1000T(X) + 4 combo-gig + varying uplinks',
2549 'processors' => array ('procurve-21-to-24-combo-1000SFP', 'procurve-chassis-1000T'),
2550 ),
2551 '11.2.3.7.11.85' => array
2552 (
2553 'dict_key' => 1600,
2554 'text' => 'J9148A: 44 RJ-45/10-100-1000T(X) + 4 combo-gig + varying uplinks',
2555 'processors' => array ('procurve-45-to-48-combo-1000SFP', 'procurve-chassis-1000T'),
2556 ),
2557 '11.2.3.7.11.86' => array
2558 (
2559 'dict_key' => 1571,
2560 'text' => 'J9145A: 20 RJ-45/10-100-1000T(X) + 4 combo-gig + varying uplinks',
2561 'processors' => array ('procurve-21-to-24-combo-1000SFP', 'procurve-chassis-1000T'),
2562 ),
2563 '11.2.3.7.11.87' => array
2564 (
2565 'dict_key' => 1349,
2566 'text' => 'J9147A: 44 RJ-45/10-100-1000T(X) + 4 combo-gig + varying uplinks',
2567 'processors' => array ('procurve-45-to-48-combo-1000SFP', 'procurve-chassis-1000T'),
2568 ),
2569 '11.2.3.7.11.88' => array
2570 (
2571 'dict_key' => 1349,
2572 'text' => 'J9279A: 22 RJ-45/10-100-1000T(X) + 2 combo-gig + varying uplinks',
2573 'processors' => array ('procurve-23-to-24-combo-1000SFP', 'procurve-chassis-1000T'),
2574 ),
2575 '11.2.3.7.11.89' => array
2576 (
2577 'dict_key' => 857,
2578 'text' => 'J9280A: 44 RJ-45/10-100-1000T(X) + 4 combo-gig + varying uplinks',
2579 'processors' => array ('procurve-45-to-48-combo-1000SFP', 'procurve-chassis-1000T'),
2580 ),
2581 '11.2.3.7.11.94' => array
2582 (
2583 'dict_key' => 1967,
2584 'text' => 'J9137A: 8 RJ-45/10-100TX PoE + 2 combo-gig',
2585 'processors' => array ('procurve-9-to-10-combo-1000SFP', 'procurve-9-to-10-1000T', 'procurve-chassis-100TX'),
2586 ),
2587 '11.2.3.7.11.95' => array
2588 (
2589 'dict_key' => 1711,
2590 'text' => 'J9138A: 24 RJ-45/10-100TX PoE + 2 1000T + 2 combo-gig',
2591 'processors' => array ('procurve-25-to-26-1000T', 'procurve-27-to-28-combo-1000SFP', 'procurve-27-to-28-1000T', 'procurve-chassis-100TX'),
2592 ),
2593 '11.2.3.7.11.105' => array
2594 (
2595 'dict_key' => 1641,
2596 'text' => 'J9452A: 48 RJ-45/10-100-1000T + 2 SFP-10000+',
2597 'processors' => array ('procurve-49-to-52-10000SFP+', 'procurve-chassis-1000T'),
2598 ),
2599 '43.1.16.4.3.8' => array
2600 (
2601 'dict_key' => 780,
2602 'text' => '5500G-EI 48-Port: 44 RJ-45/10-100-1000T(X) + 4 combo-gig',
2603 'processors' => array ('3com-49-to-50-1000SFP', '3com-51-to-52-1000SFP', '3com-any-1000T'),
2604 ),
2605 '43.1.16.4.3.21' => array
2606 (
2607 'dict_key' => 766,
2608 'text' => '4500 26-port: 24 100TX + 2 SFP/1000T combo',
2609 'processors' => array ('3com-27-to-28-1000T', '3com-25-to-26-1000SFP', '3com-any-100TX'),
2610 ),
2611 '43.1.16.4.3.22' => array
2612 (
2613 'dict_key' => 767,
2614 'text' => '4500 52-port: 48 100TX + 2 SFP/1000T combo',
2615 'processors' => array ('3com-49-to-50-1000SFP', '3com-51-to-52-1000T', '3com-any-100TX'),
2616 ),
2617 '43.1.16.4.3.23' => array
2618 (
2619 'dict_key' => 768,
2620 'text' => '4500-PWR 26-port: 24 100TX + 2 SFP/1000T combo',
2621 'processors' => array ('3com-27-to-28-1000T', '3com-25-to-26-1000SFP', '3com-any-100TX'),
2622 ),
2623 '43.1.16.4.3.24' => array
2624 (
2625 'dict_key' => 769,
2626 'text' => '4500-PWR 52-port: 48 100TX + 2 SFP/1000T combo',
2627 'processors' => array ('3com-49-to-50-1000SFP', '3com-51-to-52-1000T', '3com-any-100TX'),
2628 ),
2629 '43.1.16.4.3.29' => array
2630 (
2631 'dict_key' => 758,
2632 'text' => '4200G 48-port: 44 RJ-45/10-100-1000T(X) + 4 combo-gig',
2633 'processors' => array ('3com-49-to-50-1000SFP', '3com-51-to-52-1000SFP', '3com-any-1000T'),
2634 ),
2635 '43.1.16.4.3.31' => array
2636 (
2637 'dict_key' => 771,
2638 'text' => '4500G 48-port: 44 RJ-45/10-100-1000T(X) + 4 combo-gig',
2639 'processors' => array ('3com-49-to-50-1000SFP', '3com-51-to-52-1000SFP', '3com-any-1000T'),
2640 ),
2641 '43.1.16.4.3.45' => array
2642 (
2643 'dict_key' => 760,
2644 'text' => '4210 52-port: 48 100TX + 2 1000T + 2 SFP',
2645 'processors' => array ('3com-49-to-50-1000T', '3com-51-to-52-1000SFP', '3com-any-100TX'),
2646 ),
2647 '43.1.16.4.3.83' => array
2648 (
2649 'dict_key' => 2092,
2650 'text' => '4510G 24-port: 24 RJ-45/10-100-1000T(X) + 4 SFP combo-gig',
2651 'processors' => array ('3com-25-to-26-1000SFP', '3com-27-to-28-1000SFP', '3com-any-1000T'),
2652 ),
2653 '45.3.68.5' => array
2654 (
2655 'dict_key' => 1085,
2656 'text' => 'BES50GE-12T PWR: 12 RJ-45/10-100-1000T(X)',
2657 'processors' => array ('nortel-any-1000T'),
2658 ),
2659 '119.1.203.2.2.41' => array
2660 (
2661 'dict_key' => 1810,
2662 'text' => 'PF5240: 48 RJ-45/10-100-1000T(X) + 4 SFP+',
2663 'processors' => array ('nec-any-1000T', 'nec-any-SFP+', 'nec-mgmt'),
2664 ),
2665 '171.10.63.8' => array
2666 (
2667 'dict_key' => 616,
2668 'text' => 'DES-3052: 48 RJ-45/10-100TX + 2 RJ-45/10-100-1000T(X) + 2 combo ports',
2669 'processors' => array ('dlink-rmon-49-to-50-comboSFP', 'dlink-rmon-49-to-50-comboT', 'dlink-rmon-51-to-52-1000T', 'dlink-rmon-any-100TX'),
2670 ),
2671 '171.10.76.10' => array
2672 (
2673 'dict_key' => 1799,
2674 'text' => 'DGS-1210-24: 20 RJ-45/10-100-1000T(X) + 4 combo ports',
2675 'processors' => array ('dlink-21-to-24-comboSFP', 'dlink-21-to-24-comboT', 'dlink-any-1000T'),
2676 'ifDescrOID' => 'ifName',
2677 ),
2678 '202.20.59' => array
2679 (
2680 'dict_key' => 1371,
2681 'text' => 'SMC8124L2: 20 RJ-45/10-100-1000T(X) + 4 combo ports',
2682 'processors' => array ('smc2-combo-21-to-24', 'smc2-any-1000T'),
2683 ),
2684 '202.20.66' => array
2685 (
2686 'dict_key' => 1567,
2687 'text' => 'SMC6128L2: 24 RJ-45/10-100TX + 4 combo-gig ports',
2688 'processors' => array ('smc2-combo-25-to-28', 'smc2-1000T-25-to-28', 'smc2-any-100TX'),
2689 ),
2690 '202.20.68' => array
2691 (
2692 'dict_key' => 1374,
2693 'text' => 'SMC8150L2: 46 RJ-45/10-100-1000T(X) + 4 combo ports',
2694 'processors' => array ('smc-combo-45-to-48', 'nortel-any-1000T'),
2695 ),
2696 '207.1.4' => array
2697 (
2698 'dict_key' => 2095,
2699 'text' => 'AT-GS950/24: 20 RJ-45/10-100-1000T(X) + 4 combo ports',
2700 'processors' => array ('generic-21-to-24-combo-1000SFP', 'generic-any-1000T'),
2701 ),
2702 '207.1.14.53' => array
2703 (
2704 'dict_key' => 1720,
2705 'text' => 'AT9924T: 24 RJ-45/10-100-1000T(X) ports',
2706 'processors' => array ('generic-port-any-1000T'),
2707 ),
2708 '388.18' => array
2709 (
2710 'dict_key' => 1795,
2711 'text' => 'RFS 4000: 5 RJ-45/10-100-1000T(X) + 1 combo uplink ports',
2712 'processors' => array ('motorola-rfs-uplink-comboSFP', 'motorola-rfs-uplink-comboT', 'motorola-rfs-any-1000T'),
2713 ),
2714 '674.10895.4' => array
2715 (
2716 'dict_key' => 1622,
2717 'text' => 'PowerConnect 5224: 20 RJ-45/10-100-1000T(X) + 4 combo ports',
2718 'processors' => array ('dell-5224-21-to-24-combo-1000SFP', 'dell-52xx-any-1000T'),
2719 ),
2720 '674.10895.3000' => array
2721 (
2722 'dict_key' => 1623,
2723 'text' => 'PowerConnect 6024F: 16 SFP + 8 combo ports',
2724 'processors' => array ('dell-g17-to-g24-combo-1000T', 'dell-any-1000SFP'),
2725 'ifDescrOID' => 'ifName',
2726 ),
2727 '674.10895.3003' => array
2728 (
2729 'dict_key' => 1611,
2730 'text' => 'PowerConnect 3348: 48 RJ-45/10-100TX + 2 combo ports',
2731 'processors' => array ('dell-33xx-any-combo-1000SFP', 'dell-33xx-any-1000T', 'dell-33xx-any-100TX'),
2732 'ifDescrOID' => 'entPhysicalName',
2733 ),
2734 '674.10895.3004' => array
2735 (
2736 'dict_key' => 349,
2737 'text' => 'PowerConnect 5324: 20 RJ-45/10-100-1000T(X) + 4 combo ports',
2738 'processors' => array ('dell-g21-to-g24-combo-1000SFP', 'generic-g-any-1000T'),
2739 'ifDescrOID' => 'ifName',
2740 ),
2741 '674.10895.3007' => array
2742 (
2743 'dict_key' => 347,
2744 'text' => 'PowerConnect 3448: 48 RJ-45/10-100TX + 2 SFP/1000 + 2 RJ-45/10-100-1000T(X) ports',
2745 'processors' => array ('dell-g1-to-g2-1000SFP', 'dell-g3-to-g4-1000T', 'generic-e-any-100TX'),
2746 'ifDescrOID' => 'ifName',
2747 ),
2748 '674.10895.3009' => array
2749 (
2750 'dict_key' => 348,
2751 'text' => 'PowerConnect 3448P: 48 RJ-45/10-100TX PoE + 2 SFP/1000 + 2 RJ-45/10-100-1000T(X) ports',
2752 'processors' => array ('dell-g1-to-g2-1000SFP', 'dell-g3-to-g4-1000T', 'generic-e-any-100TX'),
2753 'ifDescrOID' => 'ifName',
2754 ),
2755 '674.10895.3010' => array
2756 (
2757 'dict_key' => 350,
2758 'text' => 'PowerConnect 6224: 20 RJ-45/10-100-1000T(X) + 4 combo-gig',
2759 'processors' => array ('netgear-chassis-21-to-24-1000SFP', 'netgear-chassis-21-to-24-1000Tcombo', 'netgear-chassis-any-1000T'),
2760 ),
2761 '674.10895.3011' => array
2762 (
2763 'dict_key' => 353,
2764 'text' => 'PowerConnect 6248: 44 RJ-45/10-100-1000T(X) + 4 combo-gig + optional uplinks',
2765 # 10G uplinks actually may be SFP+, T, CX4 or XFP
2766 'processors' => array ('netgear-chassis-45-to-48-1000SFPcombo', 'netgear-chassis-any-1000T', 'netgear-chassis-any-SFP+'),
2767 ),
2768 '674.10895.3014' => array
2769 (
2770 'dict_key' => 352,
2771 'text' => 'PowerConnect 6224F: 20 SFP + 4 combo-gig',
2772 'processors' => array ('netgear-chassis-21-to-24-1000SFP', 'netgear-chassis-21-to-24-1000Tcombo', 'netgear-chassis-any-1000SFP'),
2773 ),
2774 '674.10895.3015' => array
2775 (
2776 'dict_key' => 1532,
2777 'text' => 'PowerConnect M6220 blade cabinet switch',
2778 'processors' => array ('dell-m6220-gigabitethernet'),
2779 'ifDescrOID' => 'ifDescr',
2780 ),
2781 '674.10895.3017' => array
2782 (
2783 'dict_key' => 1067,
2784 'text' => 'PowerConnect 3548: 48 RJ-45/10-100TX + 2 SFP/1000 + 2 RJ-45/10-100-1000T(X) ports',
2785 'processors' => array ('dell-g1-to-g2-1000SFP', 'dell-g3-to-g4-1000T', 'generic-e-any-100TX'),
2786 ),
2787 '674.10895.3019' => array
2788 (
2789 'dict_key' => 1068,
2790 'text' => 'PowerConnect 3548P: 48 RJ-45/10-100TX PoE + 2 SFP/1000 + 2 RJ-45/10-100-1000T(X) ports',
2791 'processors' => array ('dell-g1-to-g2-1000SFP', 'dell-g3-to-g4-1000T', 'generic-e-any-100TX'),
2792 ),
2793 '674.10895.3020' => array
2794 (
2795 'dict_key' => 1069,
2796 'text' => 'PowerConnect 5424: 20 RJ-45/10-100-1000T(X) + 4 combo ports',
2797 'processors' => array ('dell-g21-to-g24-combo-1000SFP', 'generic-g-any-1000T'),
2798 'ifDescrOID' => 'ifName',
2799 ),
2800 '674.10895.3021' => array
2801 (
2802 'dict_key' => 1070,
2803 'text' => 'PowerConnect 5448: 44 RJ-45/10-100-1000T(X) + 4 combo ports',
2804 'processors' => array ('generic-g45-to-g48-combo-1000SFP', 'generic-g-any-1000T'),
2805 'ifDescrOID' => 'ifName',
2806 ),
2807 '674.10895.3028' => array
2808 (
2809 'dict_key' => 1063,
2810 'text' => 'PowerConnect 2824: 22 RJ-45/10-100-1000T(X) + 2 combo ports',
2811 'processors' => array ('dell-g23-to-g24-combo-1000SFP', 'generic-g-any-1000T'),
2812 'ifDescrOID' => 'ifName',
2813 ),
2814 '1916.2.71' => array
2815 (
2816 'dict_key' => 694,
2817 'text' => 'X450a-24t: 20 RJ-45/10-100-1000T(X) + 4 combo-gig + XFP uplinks slot',
2818 'processors' => array ('summit-25-to-26-XFP-uplinks', 'summit-21-to-24-comboSFP', 'summit-any-1000T', 'summit-management'),
2819 ),
2820 '1916.2.139' => array
2821 (
2822 'dict_key' => 1353,
2823 'text' => 'X480-24x: 12 SFP-1000 + 12 combo-gig + 2 XFP + VIM slot',
2824 'processors' => array
2825 (
2826 'summit-27-to-30-XFP-uplinks',
2827 'summit-25-to-26-XFP-uplinks',
2828 'summit-13-to-24-comboT',
2829 'summit-any-SFP',
2830 'summit-management'
2831 ),
2832 ),
2833 '1991.1.3.45.2.1.1.1' => array
2834 (
2835 'dict_key' => 127,
2836 'text' => 'FGS648P: 48 RJ-45/10-100-1000T(X) + 4 combo-gig + uplink slot',
2837 'processors' => array ('fgs-1-to-4-comboSFP', 'fgs-any-1000T', 'fgs-uplinks'),
2838 ),
2839 '1991.1.3.45.2.2.1.1' => array
2840 (
2841 'dict_key' => 131,
2842 'text' => 'FGS648P-POE: 48 RJ-45/10-100-1000T(X) + 4 combo-gig + uplink slot',
2843 'processors' => array ('fgs-1-to-4-comboSFP', 'fgs-any-1000T', 'fgs-uplinks'),
2844 ),
2845 '1991.1.3.46.1.1.1.1' => array
2846 (
2847 'dict_key' => 413,
2848 'text' => 'FLS 624: 20 RJ-45/10-100-1000T(X) + 4 combo-gig + 3 optional 10G modules',
2849 'processors' => array ('fls624-combo', 'fgs-any-1000T', 'fls-uplinks'),
2850 ),
2851 '1991.1.3.46.2.1.1.1' => array
2852 (
2853 'dict_key' => 414,
2854 'text' => 'FLS 648: 44 RJ-45/10-100-1000T(X) + 4 combo-gig + 2 optional 10G modules',
2855 'processors' => array ('fls648-combo', 'fgs-any-1000T', 'fls-uplinks'),
2856 ),
2857 '1991.1.3.52.2.2.1.1' => array
2858 (
2859 'dict_key' => 1032,
2860 'text' => 'FWS648G: 4 combo-gig + 44 RJ-45/10-100-1000T(X)',
2861 'processors' => array ('fgs-1-to-4-comboSFP', 'fgs-any-1000T'),
2862 ),
2863 '1991.1.3.53.1.2' => array
2864 (
2865 'dict_key' => 1044,
2866 'text' => 'TurboIron 24X : 4 10/100/1000T RJ-45, 24 10000 SFP+, 1 10/100/1000 RJ-45 + 1 Db9 Serial Mgmt',
2867 'processors' => array ('turboiron-any-10000SFP+', 'turboiron-any-10-100-1000T', 'fcx-management'),
2868 ),
2869 '1991.1.3.54.2.4.1.1' => array # L2 software
2870 (
2871 'dict_key' => 1362,
2872 'text' => 'FCX 648: 48 RJ-45/10-100-1000T(X) + uplink slot with 4 SFP+',
2873 'processors' => array ('fgs-any-1000T', 'fcx-uplinks', 'fcx-management'),
2874 ),
2875 '1991.1.3.54.2.4.1.3' => array # L3 software
2876 (
2877 'dict_key' => 1362,
2878 'text' => 'FCX 648: 48 RJ-45/10-100-1000T(X) + uplink slot with 4 SFP+',
2879 'processors' => array ('fgs-any-1000T', 'fcx-uplinks', 'fcx-management'),
2880 ),
2881 '2011.2.23.94' => array
2882 (
2883 'dict_key' => 1619,
2884 'text' => 'S2352P-EI: 48 RJ-45/10-100TX + 4 SFP-1000',
2885 'processors' => array ('quidway-any-100TX', 'quidway-any-1000SFP'),
2886 ),
2887 '2011.2.23.95' => array
2888 (
2889 'dict_key' => 1335,
2890 'text' => 'S5328C-EI: 20 RJ-45/10-100-1000T(X) + 4 combo-gig + 2 XFP slots',
2891 'processors' => array ('quidway-21-to-24-comboSFP', 'quidway-any-1000T', 'quidway-XFP', 'quidway-mgmt'),
2892 ),
2893 '2011.2.23.96' => array
2894 (
2895 'dict_key' => 1321,
2896 'text' => 'S5328C-EI-24S: 20 SFP-1000 + 4 combo-gig + 2 XFP slots',
2897 'processors' => array ('quidway-21-to-24-comboT', 'quidway-any-1000SFP', 'quidway-XFP', 'quidway-mgmt'),
2898 ),
2899 '2011.2.23.97' => array
2900 (
2901 'dict_key' => 1337,
2902 'text' => 'S5352C-EI: 48 RJ-45/10-100-1000T(X) + optional 2xXFP/4xSFP slots',
2903 'processors' => array ('quidway-slot1-SFP', 'quidway-any-1000T', 'quidway-XFP', 'quidway-mgmt'),
2904 ),
2905 '2011.2.23.102' => array
2906 (
2907 'dict_key' => 1339,
2908 'text' => 'S5328C-SI: 20 RJ-45/10-100-1000T(X) + 4 combo-gig + 2 XFP slots',
2909 'processors' => array ('quidway-21-to-24-comboSFP', 'quidway-any-1000T', 'quidway-XFP', 'quidway-mgmt'),
2910 ),
2911 '2011.2.23.103' => array
2912 (
2913 'dict_key' => 1341,
2914 'text' => 'S5352C-SI: 48 RJ-45/10-100-1000T(X) + optional 2xXFP/4xSFP slots',
2915 'processors' => array ('quidway-slot1-SFP', 'quidway-any-1000T', 'quidway-XFP', 'quidway-mgmt'),
2916 ),
2917 '2011.2.23.119' => array
2918 (
2919 'dict_key' => 1914,
2920 'text' => 'S2700-52P-EI: 48 RJ-45/10-100TX + 4 SFP-1000',
2921 'processors' => array ('quidway-any-100TX', 'quidway-any-1000SFP'),
2922 ),
2923 '2011.2.239.4' => array
2924 (
2925 'dict_key' => 1769,
2926 'text' => 'CE5850-48T4S2Q-EI: 48 RJ-45/10-100-1000T(X) + 4 SFP+ slots + 2 QSFP+ slots',
2927 'processors' => array ('hce-any-1000T', 'hce-any-SFP', 'hce-any-QSFP', 'quidway-mgmt'),
2928 ),
2929 '2636.1.1.1.2.29' => array
2930 (
2931 'dict_key' => 925,
2932 'text' => 'MX240 modular router',
2933 'processors' => array ('juniper-DPCE-R-4XGE-XFP'),
2934 ),
2935 // Juniper Networks assigns single SNMP OID per series:
2936 // EX2200 2636.1.1.1.1.43
2937 // EX3200 2636.1.1.1.2.30
2938 // EX4200 2636.1.1.1.2.31
2939 // EX4500 2636.1.1.1.1.44
2940 // There is a special workaround in code below to derive specific
2941 // product number from sysDescr string.
2942 '2636.1.1.1.2.30' => array
2943 (
2944 'dict_key' => 900,
2945 'text' => 'Juniper EX3200 series',
2946 'processors' => array ('juniper-ex-pic0-1000T', 'juniper-ex-mgmt'),
2947 ),
2948 '2636.1.1.1.2.31' => array
2949 (
2950 'dict_key' => 905,
2951 'text' => 'Juniper EX4200 series',
2952 'processors' => array ('juniper-ex-pic0-1000T', 'juniper-ex-mgmt'),
2953 ),
2954 '3955.6.1.2048.1' => array
2955 (
2956 'dict_key' => 1624,
2957 'text' => 'Linksys SRW2048: 44 RJ-45/10-100-1000T(X) + 4 combo ports',
2958 'processors' => array ('generic-g45-to-g48-combo-1000SFP', 'generic-g-any-1000T'),
2959 'ifDescrOID' => 'ifName',
2960 ),
2961 '3955.6.5024' => array
2962 (
2963 'dict_key' => 1966,
2964 'text' => 'Linksys SRW224G4: 24-port 10/100 + 4-Port Gigabit Switch with WebView',
2965 'processors' => array ('generic-g-1-to-2-1000T', 'generic-g-3-to-4-combo-1000SFP', 'generic-g-3-to-4-combo-1000T', 'generic-e-any-100TX'),
2966 'ifDescrOID' => 'ifName',
2967 ),
2968 '3955.6.5048' => array
2969 (
2970 'dict_key' => 2093,
2971 'text' => 'Linksys SRW248G4: 48-port 10/100 + 4-Port Gigabit Switch with WebView',
2972 'processors' => array ('generic-g-1-to-2-1000T', 'generic-g-3-to-4-combo-1000SFP', 'generic-g-3-to-4-combo-1000T', 'generic-e-any-100TX'),
2973 'ifDescrOID' => 'ifName',
2974 ),
2975 '4526.100.1.1' => array
2976 (
2977 'dict_key' => 587,
2978 'text' => 'FSM7328S: 24 RJ-45/10-100TX + 4 combo-gig',
2979 'processors' => array ('netgear-chassis-any-100TX', 'netgear-chassis-any-1000SFPcombo', 'netgear-chassis-any-1000T'),
2980 ),
2981 '4526.100.2.2' => array
2982 (
2983 'dict_key' => 562,
2984 'text' => 'GSM7224: 20 RJ-45/10-100-1000T(X) + 4 combo-gig',
2985 'processors' => array ('netgear-chassis-21-to-24-1000SFP', 'netgear-chassis-21-to-24-1000Tcombo', 'netgear-chassis-any-1000T'),
2986 ),
2987 '4526.100.2.3' => array
2988 (
2989 'dict_key' => 559,
2990 'text' => 'GSM7212: 12 combo-gig',
2991 'processors' => array ('netgear-chassis-any-1000SFPcombo', 'netgear-chassis-any-1000T'),
2992 ),
2993 '4526.100.1.13' => array
2994 (
2995 'dict_key' => 1601,
2996 'text' => 'GSM7328Sv2: 20 RJ-45/10-100-1000T(X) + 4 combo-gig',
2997 'processors' => array ('netgear-chassis-21-to-24-1000SFP', 'netgear-chassis-21-to-24-1000Tcombo', 'netgear-chassis-any-1000T'),
2998 ),
2999 '4526.100.1.14' => array
3000 (
3001 'dict_key' => 1794,
3002 'text' => 'GSM7352Sv2: 44 RJ-45/10-100-1000T(X) + 4 combo-gig + SFP+ uplinks',
3003 'processors' => array ('netgear-chassis-45-to-48-1000SFPcombo', 'netgear-chassis-any-1000T', 'netgear-chassis-any-SFP+'),
3004 ),
3005 '4526.100.4.6' => array
3006 (
3007 'dict_key' => 578,
3008 'text' => 'FS726TP: 24 RJ-45/10-100TX + 2 combo-gig',
3009 'processors' => array ('netgear-fs726tp-1000SFPcombo', 'netgear-fs726tp-1000T', 'netgear-fs726tp-100TX'),
3010 ),
3011 '4526.100.4.10' => array
3012 (
3013 'dict_key' => 565,
3014 'text' => 'GS724TP: 24 RJ-45/10-100-1000T + 2 combo-gig SFP',
3015 'ifDescrOID' => 'ifName',
3016 'processors' => array ('netgear-23-to-24-1000SPFcombo', 'netgear-any-1000T'),
3017 ),
3018 '4526.100.11.1' => array
3019 (
3020 'dict_key' => 557,
3021 'text' => 'GSM7224R: 20 RJ-45/10-100-1000T(X) + 4 combo-gig',
3022 'processors' => array ('netgear-chassis-21-to-24-1000SFP', 'netgear-chassis-21-to-24-1000Tcombo', 'netgear-chassis-any-1000T'),
3023 ),
3024 '4526.100.11.5' => array
3025 (
3026 'dict_key' => 1602,
3027 'text' => 'GSM7224v2: 20 RJ-45/10-100-1000T(X) + 4 combo-gig',
3028 'processors' => array ('netgear-chassis-21-to-24-1000SFP', 'netgear-chassis-21-to-24-1000Tcombo', 'netgear-chassis-any-1000T'),
3029 ),
3030 '6027.1.3.12' => array
3031 (
3032 'dict_key' => 1471,
3033 'text' => 'Force10 S60: 44 RJ-45/10-100-1000T(X) + 4 SFP-1000 ports + 0/2/4 SFP+ ports',
3034 'processors' => array ('ftos-44-to-47-1000SFP', 'ftos-any-1000T', 'ftos-any-10000SFP+', 'ftos-mgmt'),
3035 ),
3036 '6027.1.3.13' => array
3037 (
3038 'dict_key' => 1470,
3039 'text' => 'Force10 S55: 44 RJ-45/10-100-1000T(X) + 4 SFP-1000 ports + 0/2/4 SFP+ ports',
3040 'processors' => array ('ftos-44-to-47-1000SFP', 'ftos-any-1000T', 'ftos-any-10000SFP+', 'ftos-mgmt'),
3041 ),
3042 '6027.1.3.14' => array
3043 (
3044 'dict_key' => 1472,
3045 'text' => 'Force10 S4810: 48 SFP+-1000/10000 + 4 QSFP-40000 ports',
3046 'processors' => array ('ftos-any-10000SFP+', 'ftos-any-QSFP+', 'ftos-mgmt'),
3047 ),
3048 '10977.11825.11833.97.25451.12800.100.4.4' => array
3049 (
3050 'dict_key' => 577,
3051 'text' => 'FS750T2: 48 RJ-45/10-100TX + 2 combo-gig',
3052 'processors' => array ('netgear-49-to-50-combo-1000SFP', 'netgear-49-to-50-combo-1000T', 'netgear-any-100TX'),
3053 ),
3054 '11863.1.1.1' => array
3055 (
3056 'dict_key' => 2058,
3057 'text' => 'TL-SL5428E: 24 RJ-45/10-100TX + 2 1000T + 2 combo ports',
3058 'processors' => array ('tplink-27-to-28-combo-1000SFP', 'tplink-25-to-28-1000T', 'tplink-any-100T'),
3059 ),
3060 '11863.6.10.58' => array
3061 (
3062 'dict_key' => 1793,
3063 'text' => 'TL-SG5426: 22 RJ-45/10-100-1000T(X) + 4 combo ports',
3064 'processors' => array ('tplink-21-to-24-combo-1000SFP', 'tplink-any-1000T'),
3065 ),
3066 '12356.101.1.3002'=> array
3067 (
3068 'dict_key' => 1609,
3069 'text' => 'FG310B: 10 RJ-45/10-1000T',
3070 'processors' => array('generic-port-any-1000T'),
3071 ),
3072 '26543.1.7.6' => array
3073 (
3074 'dict_key' => 1888,
3075 'text' => 'G8264: 48 SFP+ + 4 QSFP+ w/breakout',
3076 'processors' => array ('ibm-any-SFP+', 'ibm-mgmt'),
3077 ),
3078 '26543.1.7.7' => array
3079 (
3080 'dict_key' => 1887,
3081 'text' => 'G8052: 48 RJ-45/10-100-1000T(X) + 4 SFP+',
3082 'processors' => array ('ibm-49-to-52-SFP+', 'ibm-any-1000T'),
3083 ),
3084 '30065.1.3011.7048.427.3648' => array
3085 (
3086 'dict_key' => 1726,
3087 'text' => 'DCS-7048T-A: 48 1000T + 4 SFP+/10000',
3088 'processors' => array ('arista-49-to-52-SFP+', 'arista-any-1000T', 'arista-management'),
3089 ),
3090 '30065.1.3011.7050.3282.52' => array
3091 (
3092 'dict_key' => 1731,
3093 'text' => 'DCS-7050S-52: 52 SFP+',
3094 'processors' => array ('arista-any-SFP+', 'arista-management'),
3095 ),
3096 '30065.1.3011.7124.3282' => array
3097 (
3098 'dict_key' => 1610,
3099 'text' => 'DCS-7124S: 24 SFP+/10000',
3100 'processors' => array ('arista-any-SFP+', 'arista-management'),
3101 ),
3102 );
3103
3104 global $swtype_pcre;
3105 $swtype_pcre = array
3106 (
3107 '/Huawei Versatile Routing Platform Software.+VRP.+Software, Version 5\.30 /s' => 1360,
3108 '/Huawei Versatile Routing Platform Software.+VRP.+Software, Version 5\.50 /s' => 1361,
3109 '/Huawei Versatile Routing Platform Software.+VRP.+Software,\s*Version 5\.70 /is' => 1369,
3110 '/Huawei Versatile Routing Platform Software.+VRP.+Software,\s*Version 5\.110 /is' => 2080,
3111 '/Huawei Versatile Routing Platform Software.+VRP.+Software,\s*Version 5\.120 /is' => 2081,
3112 '/Huawei Versatile Routing Platform Software.+VRP.+Software,\s*Version 8\.50 /is' => 2027,
3113 // FIXME: get sysDescr for IronWare 5 and add a pattern
3114 '/^Brocade Communications Systems.+, IronWare Version 07\./' => 1364,
3115 '/^Juniper Networks,.+JUNOS 9\./' => 1366,
3116 '/^Juniper Networks,.+JUNOS 10\./' => 1367,
3117 '/^Arista Networks EOS version 4\./' => 1675,
3118 '/^Dell Force10 OS\b.*\bApplication Software Version: 8(\.\d+){3}/' => 1594,
3119 );
3120
3121 function updateStickerForCell ($cell, $attr_id, $new_value)
3122 {
3123 if
3124 (
3125 isset ($cell['attrs'][$attr_id])
3126 and !strlen ($cell['attrs'][$attr_id]['value'])
3127 and strlen ($new_value)
3128 )
3129 commitUpdateAttrValue ($cell['id'], $attr_id, $new_value);
3130 }
3131
3132 // Accept "X-Y" on input and make sure, that PortInterfaceCompat contains
3133 // a record with IIF id = X and OIF id = Y.
3134 function checkPIC ($port_type_id)
3135 {
3136 // cache PortInterfaceCompat
3137 static $compat_array = NULL;
3138 if (! isset ($compat_array))
3139 {
3140 $compat_array = array();
3141 foreach (getPortInterfaceCompat() as $record)
3142 {
3143 $key = $record['iif_id'] . '-' . $record['oif_id'];
3144 $compat_array[$key] = 1;
3145 }
3146 }
3147
3148 if (preg_match ('/^(?:(\d+)-)?(\d+)$/', $port_type_id, $m))
3149 {
3150 $iif_id = $m[1];
3151 $oif_id = $m[2];
3152 if (empty ($iif_id))
3153 {
3154 $iif_id = 1;
3155 $port_type_id = $iif_id . '-' . $port_type_id;
3156 }
3157 if (! array_key_exists ($port_type_id, $compat_array))
3158 {
3159 commitSupplementPIC ($iif_id, $oif_id);
3160 $compat_array[$port_type_id] = 1;
3161 }
3162 }
3163 }
3164
3165 $msgcode['doSNMPmining']['ERR1'] = 161;
3166 $msgcode['doSNMPmining']['ERR2'] = 162;
3167 function doSNMPmining ($object_id, $snmpsetup)
3168 {
3169 $objectInfo = spotEntity ('object', $object_id);
3170 $objectInfo['attrs'] = getAttrValues ($object_id);
3171 $endpoints = findAllEndpoints ($object_id, $objectInfo['name']);
3172 if (count ($endpoints) == 0)
3173 {
3174 showFuncMessage (__FUNCTION__, 'ERR1'); // endpoint not found
3175 return;
3176 }
3177 if (count ($endpoints) > 1)
3178 {
3179 showFuncMessage (__FUNCTION__, 'ERR2'); // can't pick an address
3180 return;
3181 }
3182
3183 switch ($objectInfo['objtype_id'])
3184 {
3185 case 7: // Router
3186 case 8: // Network switch
3187 case 965: // Wireless
3188 $device = new RTSNMPDevice ($endpoints[0], $snmpsetup);
3189 return doSwitchSNMPmining ($objectInfo, $device);
3190 case 2:
3191 $device = new APCPowerSwitch ($endpoints[0], $snmpsetup);
3192 return doPDUSNMPmining ($objectInfo, $device);
3193 }
3194 }
3195
3196 $msgcode['doSwitchSNMPmining']['ERR3'] = 188;
3197 $msgcode['doSwitchSNMPmining']['ERR4'] = 189;
3198 function doSwitchSNMPmining ($objectInfo, $device)
3199 {
3200 global $known_switches, $iftable_processors;
3201
3202 if (FALSE === ($sysObjectID = $device->snmpget ('sysObjectID.0')))
3203 {
3204 showFuncMessage (__FUNCTION__, 'ERR3'); // // fatal SNMP failure
3205 return;
3206 }
3207 $sysObjectID = preg_replace ('/^.*(enterprises\.|joint-iso-ccitt\.)([\.[:digit:]]+)$/', '\\2', $sysObjectID);
3208 if (!isset ($known_switches[$sysObjectID]))
3209 {
3210 showFuncMessage (__FUNCTION__, 'ERR4', array ($sysObjectID)); // unknown OID
3211 return;
3212 }
3213 $sysName = substr ($device->snmpget ('sysName.0'), strlen ('STRING: '));
3214 $sysDescr = substr ($device->snmpget ('sysDescr.0'), strlen ('STRING: '));
3215 $sysDescr = str_replace (array ("\n", "\r"), " ", $sysDescr); // Make it one line
3216 $ifDescr_tablename = array_fetch ($known_switches[$sysObjectID], 'ifDescrOID', 'ifDescr');
3217 showSuccess ($known_switches[$sysObjectID]['text']);
3218 foreach (array_keys ($known_switches[$sysObjectID]['processors']) as $pkey)
3219 if (!array_key_exists ($known_switches[$sysObjectID]['processors'][$pkey], $iftable_processors))
3220 {
3221 showWarning ('processor "' . $known_switches[$sysObjectID]['processors'][$pkey] . '" not found');
3222 unset ($known_switches[$sysObjectID]['processors'][$pkey]);
3223 }
3224 updateStickerForCell ($objectInfo, 2, $known_switches[$sysObjectID]['dict_key']);
3225 updateStickerForCell ($objectInfo, 3, $sysName);
3226 detectSoftwareType ($objectInfo, $sysDescr);
3227 switch (1)
3228 {
3229 case preg_match ('/^9\.1\./', $sysObjectID): // Catalyst w/one AC port
3230 case preg_match ('/^9\.5\.18/', $sysObjectID):
3231 $exact_release = preg_replace ('/^.*, Version ([^ ]+), .*$/', '\\1', $sysDescr);
3232 $major_line = preg_replace ('/^([[:digit:]]+\.[[:digit:]]+)[^[:digit:]].*/', '\\1', $exact_release);
3233 $ios_codes = array
3234 (
3235 '12.0' => 244,
3236 '12.1' => 251,
3237 '12.2' => 252,
3238 '15.0' => 1901,
3239 '15.1' => 2082,
3240 );
3241 updateStickerForCell ($objectInfo, 5, $exact_release);
3242 if (array_key_exists ($major_line, $ios_codes))
3243 updateStickerForCell ($objectInfo, 4, $ios_codes[$major_line]);
3244 $sysChassi = $device->snmpget ('1.3.6.1.4.1.9.3.6.3.0');
3245 if ($sysChassi !== FALSE or $sysChassi !== NULL)
3246 updateStickerForCell ($objectInfo, 1, str_replace ('"', '', substr ($sysChassi, strlen ('STRING: '))));
3247 checkPIC ('1-29');
3248 commitAddPort ($objectInfo['id'], 'con0', '1-29', 'console', ''); // RJ-45 RS-232 console
3249 if (preg_match ('/Cisco IOS Software, C2600/', $sysDescr))
3250 commitAddPort ($objectInfo['id'], 'aux0', '1-29', 'auxillary', ''); // RJ-45 RS-232 aux port
3251 if ($sysObjectID == '9.1.956')
3252 {
3253 // models with two AC inputs
3254 checkPIC ('1-16');
3255 commitAddPort ($objectInfo['id'], 'AC-in-1', '1-16', 'AC1', '');
3256 commitAddPort ($objectInfo['id'], 'AC-in-2', '1-16', 'AC2', '');
3257 }
3258 elseif ($sysObjectID != '9.1.749' and $sysObjectID != '9.1.920')
3259 {
3260 // assume the rest have one AC input, but exclude blade devices
3261 checkPIC ('1-16'); // AC input
3262 commitAddPort ($objectInfo['id'], 'AC-in', '1-16', '', '');
3263 }
3264 break;
3265 case preg_match ('/^9\.5\.42/', $sysObjectID): // Catalyst 2948 running CatOS
3266 case preg_match ('/^9\.6\.1\./', $sysObjectID): // Cisco SF series
3267 case preg_match ('/^2011\.2\.239?\./', $sysObjectID): // Huawei
3268 checkPIC ('1-681');
3269 commitAddPort ($objectInfo['id'], 'con0', '1-681', 'console', ''); // DB-9 RS-232 console
3270 checkPIC ('1-16');
3271 commitAddPort ($objectInfo['id'], 'AC-in', '1-16', '', '');
3272 break;
3273 case preg_match ('/^9\.12\.3\.1\.3\./', $sysObjectID): // Nexus
3274 $exact_release = preg_replace ('/^.*, Version ([^ ]+), .*$/', '\\1', $sysDescr);