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