github.com/gopacket/gopacket@v1.1.0/layers/ndp.go (about) 1 // Copyright 2012 Google, Inc. All rights reserved. 2 // 3 // Use of this source code is governed by a BSD-style license 4 // that can be found in the LICENSE file in the root of the source 5 // tree. 6 7 // Enum types courtesy of... 8 // http://anonsvn.wireshark.org/wireshark/trunk/epan/dissectors/packet-ndp.c 9 10 package layers 11 12 import ( 13 "fmt" 14 "net" 15 16 "github.com/gopacket/gopacket" 17 ) 18 19 type NDPChassisType uint8 20 21 // Nortel Chassis Types 22 const ( 23 NDPChassisother NDPChassisType = 1 24 NDPChassis3000 NDPChassisType = 2 25 NDPChassis3030 NDPChassisType = 3 26 NDPChassis2310 NDPChassisType = 4 27 NDPChassis2810 NDPChassisType = 5 28 NDPChassis2912 NDPChassisType = 6 29 NDPChassis2914 NDPChassisType = 7 30 NDPChassis271x NDPChassisType = 8 31 NDPChassis2813 NDPChassisType = 9 32 NDPChassis2814 NDPChassisType = 10 33 NDPChassis2915 NDPChassisType = 11 34 NDPChassis5000 NDPChassisType = 12 35 NDPChassis2813SA NDPChassisType = 13 36 NDPChassis2814SA NDPChassisType = 14 37 NDPChassis810M NDPChassisType = 15 38 NDPChassisEthercell NDPChassisType = 16 39 NDPChassis5005 NDPChassisType = 17 40 NDPChassisAlcatelEWC NDPChassisType = 18 41 NDPChassis2715SA NDPChassisType = 20 42 NDPChassis2486 NDPChassisType = 21 43 NDPChassis28000series NDPChassisType = 22 44 NDPChassis23000series NDPChassisType = 23 45 NDPChassis5DN00xseries NDPChassisType = 24 46 NDPChassisBayStackEthernet NDPChassisType = 25 47 NDPChassis23100series NDPChassisType = 26 48 NDPChassis100BaseTHub NDPChassisType = 27 49 NDPChassis3000FastEthernet NDPChassisType = 28 50 NDPChassisOrionSwitch NDPChassisType = 29 51 NDPChassisDDS NDPChassisType = 31 52 NDPChassisCentillion6slot NDPChassisType = 32 53 NDPChassisCentillion12slot NDPChassisType = 33 54 NDPChassisCentillion1slot NDPChassisType = 34 55 NDPChassisBayStack301 NDPChassisType = 35 56 NDPChassisBayStackTokenRingHub NDPChassisType = 36 57 NDPChassisFVCMultimediaSwitch NDPChassisType = 37 58 NDPChassisSwitchNode NDPChassisType = 38 59 NDPChassisBayStack302Switch NDPChassisType = 39 60 NDPChassisBayStack350Switch NDPChassisType = 40 61 NDPChassisBayStack150EthernetHub NDPChassisType = 41 62 NDPChassisCentillion50NSwitch NDPChassisType = 42 63 NDPChassisCentillion50TSwitch NDPChassisType = 43 64 NDPChassisBayStack303304Switches NDPChassisType = 44 65 NDPChassisBayStack200EthernetHub NDPChassisType = 45 66 NDPChassisBayStack25010100EthernetHub NDPChassisType = 46 67 NDPChassisBayStack450101001000Switches NDPChassisType = 48 68 NDPChassisBayStack41010100Switches NDPChassisType = 49 69 NDPChassisPassport1200L3Switch NDPChassisType = 50 70 NDPChassisPassport1250L3Switch NDPChassisType = 51 71 NDPChassisPassport1100L3Switch NDPChassisType = 52 72 NDPChassisPassport1150L3Switch NDPChassisType = 53 73 NDPChassisPassport1050L3Switch NDPChassisType = 54 74 NDPChassisPassport1051L3Switch NDPChassisType = 55 75 NDPChassisPassport8610L3Switch NDPChassisType = 56 76 NDPChassisPassport8606L3Switch NDPChassisType = 57 77 NDPChassisPassport8010 NDPChassisType = 58 78 NDPChassisPassport8006 NDPChassisType = 59 79 NDPChassisBayStack670wirelessaccesspoint NDPChassisType = 60 80 NDPChassisPassport740 NDPChassisType = 61 81 NDPChassisPassport750 NDPChassisType = 62 82 NDPChassisPassport790 NDPChassisType = 63 83 NDPChassisBusinessPolicySwitch200010100Switches NDPChassisType = 64 84 NDPChassisPassport8110L2Switch NDPChassisType = 65 85 NDPChassisPassport8106L2Switch NDPChassisType = 66 86 NDPChassisBayStack3580GigSwitch NDPChassisType = 67 87 NDPChassisBayStack10PowerSupplyUnit NDPChassisType = 68 88 NDPChassisBayStack42010100Switch NDPChassisType = 69 89 NDPChassisOPTeraMetro1200EthernetServiceModule NDPChassisType = 70 90 NDPChassisOPTera8010co NDPChassisType = 71 91 NDPChassisOPTera8610coL3Switch NDPChassisType = 72 92 NDPChassisOPTera8110coL2Switch NDPChassisType = 73 93 NDPChassisOPTera8003 NDPChassisType = 74 94 NDPChassisOPTera8603L3Switch NDPChassisType = 75 95 NDPChassisOPTera8103L2Switch NDPChassisType = 76 96 NDPChassisBayStack380101001000Switch NDPChassisType = 77 97 NDPChassisEthernetSwitch47048T NDPChassisType = 78 98 NDPChassisOPTeraMetro1450EthernetServiceModule NDPChassisType = 79 99 NDPChassisOPTeraMetro1400EthernetServiceModule NDPChassisType = 80 100 NDPChassisAlteonSwitchFamily NDPChassisType = 81 101 NDPChassisEthernetSwitch46024TPWR NDPChassisType = 82 102 NDPChassisOPTeraMetro8010OPML2Switch NDPChassisType = 83 103 NDPChassisOPTeraMetro8010coOPML2Switch NDPChassisType = 84 104 NDPChassisOPTeraMetro8006OPML2Switch NDPChassisType = 85 105 NDPChassisOPTeraMetro8003OPML2Switch NDPChassisType = 86 106 NDPChassisAlteon180e NDPChassisType = 87 107 NDPChassisAlteonAD3 NDPChassisType = 88 108 NDPChassisAlteon184 NDPChassisType = 89 109 NDPChassisAlteonAD4 NDPChassisType = 90 110 NDPChassisPassport1424L3Switch NDPChassisType = 91 111 NDPChassisPassport1648L3Switch NDPChassisType = 92 112 NDPChassisPassport1612L3Switch NDPChassisType = 93 113 NDPChassisPassport1624L3Switch NDPChassisType = 94 114 NDPChassisBayStack38024FFiber1000Switch NDPChassisType = 95 115 NDPChassisEthernetRoutingSwitch551024T NDPChassisType = 96 116 NDPChassisEthernetRoutingSwitch551048T NDPChassisType = 97 117 NDPChassisEthernetSwitch47024T NDPChassisType = 98 118 NDPChassisNortelNetworksWirelessLANAccessPoint2220 NDPChassisType = 99 119 NDPChassisPassportRBS2402L3Switch NDPChassisType = 100 120 NDPChassisAlteonApplicationSwitch2424 NDPChassisType = 101 121 NDPChassisAlteonApplicationSwitch2224 NDPChassisType = 102 122 NDPChassisAlteonApplicationSwitch2208 NDPChassisType = 103 123 NDPChassisAlteonApplicationSwitch2216 NDPChassisType = 104 124 NDPChassisAlteonApplicationSwitch3408 NDPChassisType = 105 125 NDPChassisAlteonApplicationSwitch3416 NDPChassisType = 106 126 NDPChassisNortelNetworksWirelessLANSecuritySwitch2250 NDPChassisType = 107 127 NDPChassisEthernetSwitch42548T NDPChassisType = 108 128 NDPChassisEthernetSwitch42524T NDPChassisType = 109 129 NDPChassisNortelNetworksWirelessLANAccessPoint2221 NDPChassisType = 110 130 NDPChassisNortelMetroEthernetServiceUnit24TSPFswitch NDPChassisType = 111 131 NDPChassisNortelMetroEthernetServiceUnit24TLXDCswitch NDPChassisType = 112 132 NDPChassisPassport830010slotchassis NDPChassisType = 113 133 NDPChassisPassport83006slotchassis NDPChassisType = 114 134 NDPChassisEthernetRoutingSwitch552024TPWR NDPChassisType = 115 135 NDPChassisEthernetRoutingSwitch552048TPWR NDPChassisType = 116 136 NDPChassisNortelNetworksVPNGateway3050 NDPChassisType = 117 137 NDPChassisAlteonSSL31010100 NDPChassisType = 118 138 NDPChassisAlteonSSL31010100Fiber NDPChassisType = 119 139 NDPChassisAlteonSSL31010100FIPS NDPChassisType = 120 140 NDPChassisAlteonSSL410101001000 NDPChassisType = 121 141 NDPChassisAlteonSSL410101001000Fiber NDPChassisType = 122 142 NDPChassisAlteonApplicationSwitch2424SSL NDPChassisType = 123 143 NDPChassisEthernetSwitch32524T NDPChassisType = 124 144 NDPChassisEthernetSwitch32524G NDPChassisType = 125 145 NDPChassisNortelNetworksWirelessLANAccessPoint2225 NDPChassisType = 126 146 NDPChassisNortelNetworksWirelessLANSecuritySwitch2270 NDPChassisType = 127 147 NDPChassis24portEthernetSwitch47024TPWR NDPChassisType = 128 148 NDPChassis48portEthernetSwitch47048TPWR NDPChassisType = 129 149 NDPChassisEthernetRoutingSwitch553024TFD NDPChassisType = 130 150 NDPChassisEthernetSwitch351024T NDPChassisType = 131 151 NDPChassisNortelMetroEthernetServiceUnit12GACL3Switch NDPChassisType = 132 152 NDPChassisNortelMetroEthernetServiceUnit12GDCL3Switch NDPChassisType = 133 153 NDPChassisNortelSecureAccessSwitch NDPChassisType = 134 154 NDPChassisNortelNetworksVPNGateway3070 NDPChassisType = 135 155 NDPChassisOPTeraMetro3500 NDPChassisType = 136 156 NDPChassisSMBBES101024T NDPChassisType = 137 157 NDPChassisSMBBES101048T NDPChassisType = 138 158 NDPChassisSMBBES102024TPWR NDPChassisType = 139 159 NDPChassisSMBBES102048TPWR NDPChassisType = 140 160 NDPChassisSMBBES201024T NDPChassisType = 141 161 NDPChassisSMBBES201048T NDPChassisType = 142 162 NDPChassisSMBBES202024TPWR NDPChassisType = 143 163 NDPChassisSMBBES202048TPWR NDPChassisType = 144 164 NDPChassisSMBBES11024T NDPChassisType = 145 165 NDPChassisSMBBES11048T NDPChassisType = 146 166 NDPChassisSMBBES12024TPWR NDPChassisType = 147 167 NDPChassisSMBBES12048TPWR NDPChassisType = 148 168 NDPChassisSMBBES21024T NDPChassisType = 149 169 NDPChassisSMBBES21048T NDPChassisType = 150 170 NDPChassisSMBBES22024TPWR NDPChassisType = 151 171 NDPChassisSMBBES22048TPWR NDPChassisType = 152 172 NDPChassisOME6500 NDPChassisType = 153 173 NDPChassisEthernetRoutingSwitch4548GT NDPChassisType = 154 174 NDPChassisEthernetRoutingSwitch4548GTPWR NDPChassisType = 155 175 NDPChassisEthernetRoutingSwitch4550T NDPChassisType = 156 176 NDPChassisEthernetRoutingSwitch4550TPWR NDPChassisType = 157 177 NDPChassisEthernetRoutingSwitch4526FX NDPChassisType = 158 178 NDPChassisEthernetRoutingSwitch250026T NDPChassisType = 159 179 NDPChassisEthernetRoutingSwitch250026TPWR NDPChassisType = 160 180 NDPChassisEthernetRoutingSwitch250050T NDPChassisType = 161 181 NDPChassisEthernetRoutingSwitch250050TPWR NDPChassisType = 162 182 ) 183 184 type NDPBackplaneType uint8 185 186 // Nortel Backplane Types 187 const ( 188 NDPBackplaneOther NDPBackplaneType = 1 189 NDPBackplaneEthernet NDPBackplaneType = 2 190 NDPBackplaneEthernetTokenring NDPBackplaneType = 3 191 NDPBackplaneEthernetFDDI NDPBackplaneType = 4 192 NDPBackplaneEthernetTokenringFDDI NDPBackplaneType = 5 193 NDPBackplaneEthernetTokenringRedundantPower NDPBackplaneType = 6 194 NDPBackplaneEthernetTokenringFDDIRedundantPower NDPBackplaneType = 7 195 NDPBackplaneTokenRing NDPBackplaneType = 8 196 NDPBackplaneEthernetTokenringFastEthernet NDPBackplaneType = 9 197 NDPBackplaneEthernetFastEthernet NDPBackplaneType = 10 198 NDPBackplaneEthernetTokenringFastEthernetRedundantPower NDPBackplaneType = 11 199 NDPBackplaneEthernetFastEthernetGigabitEthernet NDPBackplaneType = 12 200 ) 201 202 type NDPState uint8 203 204 // Device State 205 const ( 206 NDPStateTopology NDPState = 1 207 NDPStateHeartbeat NDPState = 2 208 NDPStateNew NDPState = 3 209 ) 210 211 // NortelDiscovery is a packet layer containing the Nortel Discovery Protocol. 212 type NortelDiscovery struct { 213 BaseLayer 214 IPAddress net.IP 215 SegmentID []byte 216 Chassis NDPChassisType 217 Backplane NDPBackplaneType 218 State NDPState 219 NumLinks uint8 220 } 221 222 // LayerType returns gopacket.LayerTypeNortelDiscovery. 223 func (c *NortelDiscovery) LayerType() gopacket.LayerType { 224 return LayerTypeNortelDiscovery 225 } 226 227 func decodeNortelDiscovery(data []byte, p gopacket.PacketBuilder) error { 228 c := &NortelDiscovery{} 229 if len(data) < 11 { 230 return fmt.Errorf("Invalid NortelDiscovery packet length %d", len(data)) 231 } 232 c.IPAddress = data[0:4] 233 c.SegmentID = data[4:7] 234 c.Chassis = NDPChassisType(data[7]) 235 c.Backplane = NDPBackplaneType(data[8]) 236 c.State = NDPState(data[9]) 237 c.NumLinks = uint8(data[10]) 238 p.AddLayer(c) 239 return nil 240 } 241 242 func (t NDPChassisType) String() (s string) { 243 switch t { 244 case NDPChassisother: 245 s = "other" 246 case NDPChassis3000: 247 s = "3000" 248 case NDPChassis3030: 249 s = "3030" 250 case NDPChassis2310: 251 s = "2310" 252 case NDPChassis2810: 253 s = "2810" 254 case NDPChassis2912: 255 s = "2912" 256 case NDPChassis2914: 257 s = "2914" 258 case NDPChassis271x: 259 s = "271x" 260 case NDPChassis2813: 261 s = "2813" 262 case NDPChassis2814: 263 s = "2814" 264 case NDPChassis2915: 265 s = "2915" 266 case NDPChassis5000: 267 s = "5000" 268 case NDPChassis2813SA: 269 s = "2813SA" 270 case NDPChassis2814SA: 271 s = "2814SA" 272 case NDPChassis810M: 273 s = "810M" 274 case NDPChassisEthercell: 275 s = "Ethercell" 276 case NDPChassis5005: 277 s = "5005" 278 case NDPChassisAlcatelEWC: 279 s = "Alcatel Ethernet workgroup conc." 280 case NDPChassis2715SA: 281 s = "2715SA" 282 case NDPChassis2486: 283 s = "2486" 284 case NDPChassis28000series: 285 s = "28000 series" 286 case NDPChassis23000series: 287 s = "23000 series" 288 case NDPChassis5DN00xseries: 289 s = "5DN00x series" 290 case NDPChassisBayStackEthernet: 291 s = "BayStack Ethernet" 292 case NDPChassis23100series: 293 s = "23100 series" 294 case NDPChassis100BaseTHub: 295 s = "100Base-T Hub" 296 case NDPChassis3000FastEthernet: 297 s = "3000 Fast Ethernet" 298 case NDPChassisOrionSwitch: 299 s = "Orion switch" 300 case NDPChassisDDS: 301 s = "DDS" 302 case NDPChassisCentillion6slot: 303 s = "Centillion (6 slot)" 304 case NDPChassisCentillion12slot: 305 s = "Centillion (12 slot)" 306 case NDPChassisCentillion1slot: 307 s = "Centillion (1 slot)" 308 case NDPChassisBayStack301: 309 s = "BayStack 301" 310 case NDPChassisBayStackTokenRingHub: 311 s = "BayStack TokenRing Hub" 312 case NDPChassisFVCMultimediaSwitch: 313 s = "FVC Multimedia Switch" 314 case NDPChassisSwitchNode: 315 s = "Switch Node" 316 case NDPChassisBayStack302Switch: 317 s = "BayStack 302 Switch" 318 case NDPChassisBayStack350Switch: 319 s = "BayStack 350 Switch" 320 case NDPChassisBayStack150EthernetHub: 321 s = "BayStack 150 Ethernet Hub" 322 case NDPChassisCentillion50NSwitch: 323 s = "Centillion 50N switch" 324 case NDPChassisCentillion50TSwitch: 325 s = "Centillion 50T switch" 326 case NDPChassisBayStack303304Switches: 327 s = "BayStack 303 and 304 Switches" 328 case NDPChassisBayStack200EthernetHub: 329 s = "BayStack 200 Ethernet Hub" 330 case NDPChassisBayStack25010100EthernetHub: 331 s = "BayStack 250 10/100 Ethernet Hub" 332 case NDPChassisBayStack450101001000Switches: 333 s = "BayStack 450 10/100/1000 Switches" 334 case NDPChassisBayStack41010100Switches: 335 s = "BayStack 410 10/100 Switches" 336 case NDPChassisPassport1200L3Switch: 337 s = "Passport 1200 L3 Switch" 338 case NDPChassisPassport1250L3Switch: 339 s = "Passport 1250 L3 Switch" 340 case NDPChassisPassport1100L3Switch: 341 s = "Passport 1100 L3 Switch" 342 case NDPChassisPassport1150L3Switch: 343 s = "Passport 1150 L3 Switch" 344 case NDPChassisPassport1050L3Switch: 345 s = "Passport 1050 L3 Switch" 346 case NDPChassisPassport1051L3Switch: 347 s = "Passport 1051 L3 Switch" 348 case NDPChassisPassport8610L3Switch: 349 s = "Passport 8610 L3 Switch" 350 case NDPChassisPassport8606L3Switch: 351 s = "Passport 8606 L3 Switch" 352 case NDPChassisPassport8010: 353 s = "Passport 8010" 354 case NDPChassisPassport8006: 355 s = "Passport 8006" 356 case NDPChassisBayStack670wirelessaccesspoint: 357 s = "BayStack 670 wireless access point" 358 case NDPChassisPassport740: 359 s = "Passport 740" 360 case NDPChassisPassport750: 361 s = "Passport 750" 362 case NDPChassisPassport790: 363 s = "Passport 790" 364 case NDPChassisBusinessPolicySwitch200010100Switches: 365 s = "Business Policy Switch 2000 10/100 Switches" 366 case NDPChassisPassport8110L2Switch: 367 s = "Passport 8110 L2 Switch" 368 case NDPChassisPassport8106L2Switch: 369 s = "Passport 8106 L2 Switch" 370 case NDPChassisBayStack3580GigSwitch: 371 s = "BayStack 3580 Gig Switch" 372 case NDPChassisBayStack10PowerSupplyUnit: 373 s = "BayStack 10 Power Supply Unit" 374 case NDPChassisBayStack42010100Switch: 375 s = "BayStack 420 10/100 Switch" 376 case NDPChassisOPTeraMetro1200EthernetServiceModule: 377 s = "OPTera Metro 1200 Ethernet Service Module" 378 case NDPChassisOPTera8010co: 379 s = "OPTera 8010co" 380 case NDPChassisOPTera8610coL3Switch: 381 s = "OPTera 8610co L3 switch" 382 case NDPChassisOPTera8110coL2Switch: 383 s = "OPTera 8110co L2 switch" 384 case NDPChassisOPTera8003: 385 s = "OPTera 8003" 386 case NDPChassisOPTera8603L3Switch: 387 s = "OPTera 8603 L3 switch" 388 case NDPChassisOPTera8103L2Switch: 389 s = "OPTera 8103 L2 switch" 390 case NDPChassisBayStack380101001000Switch: 391 s = "BayStack 380 10/100/1000 Switch" 392 case NDPChassisEthernetSwitch47048T: 393 s = "Ethernet Switch 470-48T" 394 case NDPChassisOPTeraMetro1450EthernetServiceModule: 395 s = "OPTera Metro 1450 Ethernet Service Module" 396 case NDPChassisOPTeraMetro1400EthernetServiceModule: 397 s = "OPTera Metro 1400 Ethernet Service Module" 398 case NDPChassisAlteonSwitchFamily: 399 s = "Alteon Switch Family" 400 case NDPChassisEthernetSwitch46024TPWR: 401 s = "Ethernet Switch 460-24T-PWR" 402 case NDPChassisOPTeraMetro8010OPML2Switch: 403 s = "OPTera Metro 8010 OPM L2 Switch" 404 case NDPChassisOPTeraMetro8010coOPML2Switch: 405 s = "OPTera Metro 8010co OPM L2 Switch" 406 case NDPChassisOPTeraMetro8006OPML2Switch: 407 s = "OPTera Metro 8006 OPM L2 Switch" 408 case NDPChassisOPTeraMetro8003OPML2Switch: 409 s = "OPTera Metro 8003 OPM L2 Switch" 410 case NDPChassisAlteon180e: 411 s = "Alteon 180e" 412 case NDPChassisAlteonAD3: 413 s = "Alteon AD3" 414 case NDPChassisAlteon184: 415 s = "Alteon 184" 416 case NDPChassisAlteonAD4: 417 s = "Alteon AD4" 418 case NDPChassisPassport1424L3Switch: 419 s = "Passport 1424 L3 switch" 420 case NDPChassisPassport1648L3Switch: 421 s = "Passport 1648 L3 switch" 422 case NDPChassisPassport1612L3Switch: 423 s = "Passport 1612 L3 switch" 424 case NDPChassisPassport1624L3Switch: 425 s = "Passport 1624 L3 switch" 426 case NDPChassisBayStack38024FFiber1000Switch: 427 s = "BayStack 380-24F Fiber 1000 Switch" 428 case NDPChassisEthernetRoutingSwitch551024T: 429 s = "Ethernet Routing Switch 5510-24T" 430 case NDPChassisEthernetRoutingSwitch551048T: 431 s = "Ethernet Routing Switch 5510-48T" 432 case NDPChassisEthernetSwitch47024T: 433 s = "Ethernet Switch 470-24T" 434 case NDPChassisNortelNetworksWirelessLANAccessPoint2220: 435 s = "Nortel Networks Wireless LAN Access Point 2220" 436 case NDPChassisPassportRBS2402L3Switch: 437 s = "Passport RBS 2402 L3 switch" 438 case NDPChassisAlteonApplicationSwitch2424: 439 s = "Alteon Application Switch 2424" 440 case NDPChassisAlteonApplicationSwitch2224: 441 s = "Alteon Application Switch 2224" 442 case NDPChassisAlteonApplicationSwitch2208: 443 s = "Alteon Application Switch 2208" 444 case NDPChassisAlteonApplicationSwitch2216: 445 s = "Alteon Application Switch 2216" 446 case NDPChassisAlteonApplicationSwitch3408: 447 s = "Alteon Application Switch 3408" 448 case NDPChassisAlteonApplicationSwitch3416: 449 s = "Alteon Application Switch 3416" 450 case NDPChassisNortelNetworksWirelessLANSecuritySwitch2250: 451 s = "Nortel Networks Wireless LAN SecuritySwitch 2250" 452 case NDPChassisEthernetSwitch42548T: 453 s = "Ethernet Switch 425-48T" 454 case NDPChassisEthernetSwitch42524T: 455 s = "Ethernet Switch 425-24T" 456 case NDPChassisNortelNetworksWirelessLANAccessPoint2221: 457 s = "Nortel Networks Wireless LAN Access Point 2221" 458 case NDPChassisNortelMetroEthernetServiceUnit24TSPFswitch: 459 s = "Nortel Metro Ethernet Service Unit 24-T SPF switch" 460 case NDPChassisNortelMetroEthernetServiceUnit24TLXDCswitch: 461 s = " Nortel Metro Ethernet Service Unit 24-T LX DC switch" 462 case NDPChassisPassport830010slotchassis: 463 s = "Passport 8300 10-slot chassis" 464 case NDPChassisPassport83006slotchassis: 465 s = "Passport 8300 6-slot chassis" 466 case NDPChassisEthernetRoutingSwitch552024TPWR: 467 s = "Ethernet Routing Switch 5520-24T-PWR" 468 case NDPChassisEthernetRoutingSwitch552048TPWR: 469 s = "Ethernet Routing Switch 5520-48T-PWR" 470 case NDPChassisNortelNetworksVPNGateway3050: 471 s = "Nortel Networks VPN Gateway 3050" 472 case NDPChassisAlteonSSL31010100: 473 s = "Alteon SSL 310 10/100" 474 case NDPChassisAlteonSSL31010100Fiber: 475 s = "Alteon SSL 310 10/100 Fiber" 476 case NDPChassisAlteonSSL31010100FIPS: 477 s = "Alteon SSL 310 10/100 FIPS" 478 case NDPChassisAlteonSSL410101001000: 479 s = "Alteon SSL 410 10/100/1000" 480 case NDPChassisAlteonSSL410101001000Fiber: 481 s = "Alteon SSL 410 10/100/1000 Fiber" 482 case NDPChassisAlteonApplicationSwitch2424SSL: 483 s = "Alteon Application Switch 2424-SSL" 484 case NDPChassisEthernetSwitch32524T: 485 s = "Ethernet Switch 325-24T" 486 case NDPChassisEthernetSwitch32524G: 487 s = "Ethernet Switch 325-24G" 488 case NDPChassisNortelNetworksWirelessLANAccessPoint2225: 489 s = "Nortel Networks Wireless LAN Access Point 2225" 490 case NDPChassisNortelNetworksWirelessLANSecuritySwitch2270: 491 s = "Nortel Networks Wireless LAN SecuritySwitch 2270" 492 case NDPChassis24portEthernetSwitch47024TPWR: 493 s = "24-port Ethernet Switch 470-24T-PWR" 494 case NDPChassis48portEthernetSwitch47048TPWR: 495 s = "48-port Ethernet Switch 470-48T-PWR" 496 case NDPChassisEthernetRoutingSwitch553024TFD: 497 s = "Ethernet Routing Switch 5530-24TFD" 498 case NDPChassisEthernetSwitch351024T: 499 s = "Ethernet Switch 3510-24T" 500 case NDPChassisNortelMetroEthernetServiceUnit12GACL3Switch: 501 s = "Nortel Metro Ethernet Service Unit 12G AC L3 switch" 502 case NDPChassisNortelMetroEthernetServiceUnit12GDCL3Switch: 503 s = "Nortel Metro Ethernet Service Unit 12G DC L3 switch" 504 case NDPChassisNortelSecureAccessSwitch: 505 s = "Nortel Secure Access Switch" 506 case NDPChassisNortelNetworksVPNGateway3070: 507 s = "Nortel Networks VPN Gateway 3070" 508 case NDPChassisOPTeraMetro3500: 509 s = "OPTera Metro 3500" 510 case NDPChassisSMBBES101024T: 511 s = "SMB BES 1010 24T" 512 case NDPChassisSMBBES101048T: 513 s = "SMB BES 1010 48T" 514 case NDPChassisSMBBES102024TPWR: 515 s = "SMB BES 1020 24T PWR" 516 case NDPChassisSMBBES102048TPWR: 517 s = "SMB BES 1020 48T PWR" 518 case NDPChassisSMBBES201024T: 519 s = "SMB BES 2010 24T" 520 case NDPChassisSMBBES201048T: 521 s = "SMB BES 2010 48T" 522 case NDPChassisSMBBES202024TPWR: 523 s = "SMB BES 2020 24T PWR" 524 case NDPChassisSMBBES202048TPWR: 525 s = "SMB BES 2020 48T PWR" 526 case NDPChassisSMBBES11024T: 527 s = "SMB BES 110 24T" 528 case NDPChassisSMBBES11048T: 529 s = "SMB BES 110 48T" 530 case NDPChassisSMBBES12024TPWR: 531 s = "SMB BES 120 24T PWR" 532 case NDPChassisSMBBES12048TPWR: 533 s = "SMB BES 120 48T PWR" 534 case NDPChassisSMBBES21024T: 535 s = "SMB BES 210 24T" 536 case NDPChassisSMBBES21048T: 537 s = "SMB BES 210 48T" 538 case NDPChassisSMBBES22024TPWR: 539 s = "SMB BES 220 24T PWR" 540 case NDPChassisSMBBES22048TPWR: 541 s = "SMB BES 220 48T PWR" 542 case NDPChassisOME6500: 543 s = "OME 6500" 544 case NDPChassisEthernetRoutingSwitch4548GT: 545 s = "Ethernet Routing Switch 4548GT" 546 case NDPChassisEthernetRoutingSwitch4548GTPWR: 547 s = "Ethernet Routing Switch 4548GT-PWR" 548 case NDPChassisEthernetRoutingSwitch4550T: 549 s = "Ethernet Routing Switch 4550T" 550 case NDPChassisEthernetRoutingSwitch4550TPWR: 551 s = "Ethernet Routing Switch 4550T-PWR" 552 case NDPChassisEthernetRoutingSwitch4526FX: 553 s = "Ethernet Routing Switch 4526FX" 554 case NDPChassisEthernetRoutingSwitch250026T: 555 s = "Ethernet Routing Switch 2500-26T" 556 case NDPChassisEthernetRoutingSwitch250026TPWR: 557 s = "Ethernet Routing Switch 2500-26T-PWR" 558 case NDPChassisEthernetRoutingSwitch250050T: 559 s = "Ethernet Routing Switch 2500-50T" 560 case NDPChassisEthernetRoutingSwitch250050TPWR: 561 s = "Ethernet Routing Switch 2500-50T-PWR" 562 default: 563 s = "Unknown" 564 } 565 return 566 } 567 568 func (t NDPBackplaneType) String() (s string) { 569 switch t { 570 case NDPBackplaneOther: 571 s = "Other" 572 case NDPBackplaneEthernet: 573 s = "Ethernet" 574 case NDPBackplaneEthernetTokenring: 575 s = "Ethernet and Tokenring" 576 case NDPBackplaneEthernetFDDI: 577 s = "Ethernet and FDDI" 578 case NDPBackplaneEthernetTokenringFDDI: 579 s = "Ethernet, Tokenring and FDDI" 580 case NDPBackplaneEthernetTokenringRedundantPower: 581 s = "Ethernet and Tokenring with redundant power" 582 case NDPBackplaneEthernetTokenringFDDIRedundantPower: 583 s = "Ethernet, Tokenring, FDDI with redundant power" 584 case NDPBackplaneTokenRing: 585 s = "Token Ring" 586 case NDPBackplaneEthernetTokenringFastEthernet: 587 s = "Ethernet, Tokenring and Fast Ethernet" 588 case NDPBackplaneEthernetFastEthernet: 589 s = "Ethernet and Fast Ethernet" 590 case NDPBackplaneEthernetTokenringFastEthernetRedundantPower: 591 s = "Ethernet, Tokenring, Fast Ethernet with redundant power" 592 case NDPBackplaneEthernetFastEthernetGigabitEthernet: 593 s = "Ethernet, Fast Ethernet and Gigabit Ethernet" 594 default: 595 s = "Unknown" 596 } 597 return 598 } 599 600 func (t NDPState) String() (s string) { 601 switch t { 602 case NDPStateTopology: 603 s = "Topology Change" 604 case NDPStateHeartbeat: 605 s = "Heartbeat" 606 case NDPStateNew: 607 s = "New" 608 default: 609 s = "Unknown" 610 } 611 return 612 }