123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611 |
- // Copyright 2012 Google, Inc. All rights reserved.
- //
- // Use of this source code is governed by a BSD-style license
- // that can be found in the LICENSE file in the root of the source
- // tree.
- // Enum types courtesy of...
- // http://anonsvn.wireshark.org/wireshark/trunk/epan/dissectors/packet-ndp.c
- package layers
- import (
- "fmt"
- "github.com/google/gopacket"
- "net"
- )
- type NDPChassisType uint8
- // Nortel Chassis Types
- const (
- NDPChassisother NDPChassisType = 1
- NDPChassis3000 NDPChassisType = 2
- NDPChassis3030 NDPChassisType = 3
- NDPChassis2310 NDPChassisType = 4
- NDPChassis2810 NDPChassisType = 5
- NDPChassis2912 NDPChassisType = 6
- NDPChassis2914 NDPChassisType = 7
- NDPChassis271x NDPChassisType = 8
- NDPChassis2813 NDPChassisType = 9
- NDPChassis2814 NDPChassisType = 10
- NDPChassis2915 NDPChassisType = 11
- NDPChassis5000 NDPChassisType = 12
- NDPChassis2813SA NDPChassisType = 13
- NDPChassis2814SA NDPChassisType = 14
- NDPChassis810M NDPChassisType = 15
- NDPChassisEthercell NDPChassisType = 16
- NDPChassis5005 NDPChassisType = 17
- NDPChassisAlcatelEWC NDPChassisType = 18
- NDPChassis2715SA NDPChassisType = 20
- NDPChassis2486 NDPChassisType = 21
- NDPChassis28000series NDPChassisType = 22
- NDPChassis23000series NDPChassisType = 23
- NDPChassis5DN00xseries NDPChassisType = 24
- NDPChassisBayStackEthernet NDPChassisType = 25
- NDPChassis23100series NDPChassisType = 26
- NDPChassis100BaseTHub NDPChassisType = 27
- NDPChassis3000FastEthernet NDPChassisType = 28
- NDPChassisOrionSwitch NDPChassisType = 29
- NDPChassisDDS NDPChassisType = 31
- NDPChassisCentillion6slot NDPChassisType = 32
- NDPChassisCentillion12slot NDPChassisType = 33
- NDPChassisCentillion1slot NDPChassisType = 34
- NDPChassisBayStack301 NDPChassisType = 35
- NDPChassisBayStackTokenRingHub NDPChassisType = 36
- NDPChassisFVCMultimediaSwitch NDPChassisType = 37
- NDPChassisSwitchNode NDPChassisType = 38
- NDPChassisBayStack302Switch NDPChassisType = 39
- NDPChassisBayStack350Switch NDPChassisType = 40
- NDPChassisBayStack150EthernetHub NDPChassisType = 41
- NDPChassisCentillion50NSwitch NDPChassisType = 42
- NDPChassisCentillion50TSwitch NDPChassisType = 43
- NDPChassisBayStack303304Switches NDPChassisType = 44
- NDPChassisBayStack200EthernetHub NDPChassisType = 45
- NDPChassisBayStack25010100EthernetHub NDPChassisType = 46
- NDPChassisBayStack450101001000Switches NDPChassisType = 48
- NDPChassisBayStack41010100Switches NDPChassisType = 49
- NDPChassisPassport1200L3Switch NDPChassisType = 50
- NDPChassisPassport1250L3Switch NDPChassisType = 51
- NDPChassisPassport1100L3Switch NDPChassisType = 52
- NDPChassisPassport1150L3Switch NDPChassisType = 53
- NDPChassisPassport1050L3Switch NDPChassisType = 54
- NDPChassisPassport1051L3Switch NDPChassisType = 55
- NDPChassisPassport8610L3Switch NDPChassisType = 56
- NDPChassisPassport8606L3Switch NDPChassisType = 57
- NDPChassisPassport8010 NDPChassisType = 58
- NDPChassisPassport8006 NDPChassisType = 59
- NDPChassisBayStack670wirelessaccesspoint NDPChassisType = 60
- NDPChassisPassport740 NDPChassisType = 61
- NDPChassisPassport750 NDPChassisType = 62
- NDPChassisPassport790 NDPChassisType = 63
- NDPChassisBusinessPolicySwitch200010100Switches NDPChassisType = 64
- NDPChassisPassport8110L2Switch NDPChassisType = 65
- NDPChassisPassport8106L2Switch NDPChassisType = 66
- NDPChassisBayStack3580GigSwitch NDPChassisType = 67
- NDPChassisBayStack10PowerSupplyUnit NDPChassisType = 68
- NDPChassisBayStack42010100Switch NDPChassisType = 69
- NDPChassisOPTeraMetro1200EthernetServiceModule NDPChassisType = 70
- NDPChassisOPTera8010co NDPChassisType = 71
- NDPChassisOPTera8610coL3Switch NDPChassisType = 72
- NDPChassisOPTera8110coL2Switch NDPChassisType = 73
- NDPChassisOPTera8003 NDPChassisType = 74
- NDPChassisOPTera8603L3Switch NDPChassisType = 75
- NDPChassisOPTera8103L2Switch NDPChassisType = 76
- NDPChassisBayStack380101001000Switch NDPChassisType = 77
- NDPChassisEthernetSwitch47048T NDPChassisType = 78
- NDPChassisOPTeraMetro1450EthernetServiceModule NDPChassisType = 79
- NDPChassisOPTeraMetro1400EthernetServiceModule NDPChassisType = 80
- NDPChassisAlteonSwitchFamily NDPChassisType = 81
- NDPChassisEthernetSwitch46024TPWR NDPChassisType = 82
- NDPChassisOPTeraMetro8010OPML2Switch NDPChassisType = 83
- NDPChassisOPTeraMetro8010coOPML2Switch NDPChassisType = 84
- NDPChassisOPTeraMetro8006OPML2Switch NDPChassisType = 85
- NDPChassisOPTeraMetro8003OPML2Switch NDPChassisType = 86
- NDPChassisAlteon180e NDPChassisType = 87
- NDPChassisAlteonAD3 NDPChassisType = 88
- NDPChassisAlteon184 NDPChassisType = 89
- NDPChassisAlteonAD4 NDPChassisType = 90
- NDPChassisPassport1424L3Switch NDPChassisType = 91
- NDPChassisPassport1648L3Switch NDPChassisType = 92
- NDPChassisPassport1612L3Switch NDPChassisType = 93
- NDPChassisPassport1624L3Switch NDPChassisType = 94
- NDPChassisBayStack38024FFiber1000Switch NDPChassisType = 95
- NDPChassisEthernetRoutingSwitch551024T NDPChassisType = 96
- NDPChassisEthernetRoutingSwitch551048T NDPChassisType = 97
- NDPChassisEthernetSwitch47024T NDPChassisType = 98
- NDPChassisNortelNetworksWirelessLANAccessPoint2220 NDPChassisType = 99
- NDPChassisPassportRBS2402L3Switch NDPChassisType = 100
- NDPChassisAlteonApplicationSwitch2424 NDPChassisType = 101
- NDPChassisAlteonApplicationSwitch2224 NDPChassisType = 102
- NDPChassisAlteonApplicationSwitch2208 NDPChassisType = 103
- NDPChassisAlteonApplicationSwitch2216 NDPChassisType = 104
- NDPChassisAlteonApplicationSwitch3408 NDPChassisType = 105
- NDPChassisAlteonApplicationSwitch3416 NDPChassisType = 106
- NDPChassisNortelNetworksWirelessLANSecuritySwitch2250 NDPChassisType = 107
- NDPChassisEthernetSwitch42548T NDPChassisType = 108
- NDPChassisEthernetSwitch42524T NDPChassisType = 109
- NDPChassisNortelNetworksWirelessLANAccessPoint2221 NDPChassisType = 110
- NDPChassisNortelMetroEthernetServiceUnit24TSPFswitch NDPChassisType = 111
- NDPChassisNortelMetroEthernetServiceUnit24TLXDCswitch NDPChassisType = 112
- NDPChassisPassport830010slotchassis NDPChassisType = 113
- NDPChassisPassport83006slotchassis NDPChassisType = 114
- NDPChassisEthernetRoutingSwitch552024TPWR NDPChassisType = 115
- NDPChassisEthernetRoutingSwitch552048TPWR NDPChassisType = 116
- NDPChassisNortelNetworksVPNGateway3050 NDPChassisType = 117
- NDPChassisAlteonSSL31010100 NDPChassisType = 118
- NDPChassisAlteonSSL31010100Fiber NDPChassisType = 119
- NDPChassisAlteonSSL31010100FIPS NDPChassisType = 120
- NDPChassisAlteonSSL410101001000 NDPChassisType = 121
- NDPChassisAlteonSSL410101001000Fiber NDPChassisType = 122
- NDPChassisAlteonApplicationSwitch2424SSL NDPChassisType = 123
- NDPChassisEthernetSwitch32524T NDPChassisType = 124
- NDPChassisEthernetSwitch32524G NDPChassisType = 125
- NDPChassisNortelNetworksWirelessLANAccessPoint2225 NDPChassisType = 126
- NDPChassisNortelNetworksWirelessLANSecuritySwitch2270 NDPChassisType = 127
- NDPChassis24portEthernetSwitch47024TPWR NDPChassisType = 128
- NDPChassis48portEthernetSwitch47048TPWR NDPChassisType = 129
- NDPChassisEthernetRoutingSwitch553024TFD NDPChassisType = 130
- NDPChassisEthernetSwitch351024T NDPChassisType = 131
- NDPChassisNortelMetroEthernetServiceUnit12GACL3Switch NDPChassisType = 132
- NDPChassisNortelMetroEthernetServiceUnit12GDCL3Switch NDPChassisType = 133
- NDPChassisNortelSecureAccessSwitch NDPChassisType = 134
- NDPChassisNortelNetworksVPNGateway3070 NDPChassisType = 135
- NDPChassisOPTeraMetro3500 NDPChassisType = 136
- NDPChassisSMBBES101024T NDPChassisType = 137
- NDPChassisSMBBES101048T NDPChassisType = 138
- NDPChassisSMBBES102024TPWR NDPChassisType = 139
- NDPChassisSMBBES102048TPWR NDPChassisType = 140
- NDPChassisSMBBES201024T NDPChassisType = 141
- NDPChassisSMBBES201048T NDPChassisType = 142
- NDPChassisSMBBES202024TPWR NDPChassisType = 143
- NDPChassisSMBBES202048TPWR NDPChassisType = 144
- NDPChassisSMBBES11024T NDPChassisType = 145
- NDPChassisSMBBES11048T NDPChassisType = 146
- NDPChassisSMBBES12024TPWR NDPChassisType = 147
- NDPChassisSMBBES12048TPWR NDPChassisType = 148
- NDPChassisSMBBES21024T NDPChassisType = 149
- NDPChassisSMBBES21048T NDPChassisType = 150
- NDPChassisSMBBES22024TPWR NDPChassisType = 151
- NDPChassisSMBBES22048TPWR NDPChassisType = 152
- NDPChassisOME6500 NDPChassisType = 153
- NDPChassisEthernetRoutingSwitch4548GT NDPChassisType = 154
- NDPChassisEthernetRoutingSwitch4548GTPWR NDPChassisType = 155
- NDPChassisEthernetRoutingSwitch4550T NDPChassisType = 156
- NDPChassisEthernetRoutingSwitch4550TPWR NDPChassisType = 157
- NDPChassisEthernetRoutingSwitch4526FX NDPChassisType = 158
- NDPChassisEthernetRoutingSwitch250026T NDPChassisType = 159
- NDPChassisEthernetRoutingSwitch250026TPWR NDPChassisType = 160
- NDPChassisEthernetRoutingSwitch250050T NDPChassisType = 161
- NDPChassisEthernetRoutingSwitch250050TPWR NDPChassisType = 162
- )
- type NDPBackplaneType uint8
- // Nortel Backplane Types
- const (
- NDPBackplaneOther NDPBackplaneType = 1
- NDPBackplaneEthernet NDPBackplaneType = 2
- NDPBackplaneEthernetTokenring NDPBackplaneType = 3
- NDPBackplaneEthernetFDDI NDPBackplaneType = 4
- NDPBackplaneEthernetTokenringFDDI NDPBackplaneType = 5
- NDPBackplaneEthernetTokenringRedundantPower NDPBackplaneType = 6
- NDPBackplaneEthernetTokenringFDDIRedundantPower NDPBackplaneType = 7
- NDPBackplaneTokenRing NDPBackplaneType = 8
- NDPBackplaneEthernetTokenringFastEthernet NDPBackplaneType = 9
- NDPBackplaneEthernetFastEthernet NDPBackplaneType = 10
- NDPBackplaneEthernetTokenringFastEthernetRedundantPower NDPBackplaneType = 11
- NDPBackplaneEthernetFastEthernetGigabitEthernet NDPBackplaneType = 12
- )
- type NDPState uint8
- // Device State
- const (
- NDPStateTopology NDPState = 1
- NDPStateHeartbeat NDPState = 2
- NDPStateNew NDPState = 3
- )
- // NortelDiscovery is a packet layer containing the Nortel Discovery Protocol.
- type NortelDiscovery struct {
- BaseLayer
- IPAddress net.IP
- SegmentID []byte
- Chassis NDPChassisType
- Backplane NDPBackplaneType
- State NDPState
- NumLinks uint8
- }
- // LayerType returns gopacket.LayerTypeNortelDiscovery.
- func (c *NortelDiscovery) LayerType() gopacket.LayerType {
- return LayerTypeNortelDiscovery
- }
- func decodeNortelDiscovery(data []byte, p gopacket.PacketBuilder) error {
- c := &NortelDiscovery{}
- if len(data) < 11 {
- return fmt.Errorf("Invalid NortelDiscovery packet length %d", len(data))
- }
- c.IPAddress = data[0:4]
- c.SegmentID = data[4:7]
- c.Chassis = NDPChassisType(data[7])
- c.Backplane = NDPBackplaneType(data[8])
- c.State = NDPState(data[9])
- c.NumLinks = uint8(data[10])
- p.AddLayer(c)
- return nil
- }
- func (t NDPChassisType) String() (s string) {
- switch t {
- case NDPChassisother:
- s = "other"
- case NDPChassis3000:
- s = "3000"
- case NDPChassis3030:
- s = "3030"
- case NDPChassis2310:
- s = "2310"
- case NDPChassis2810:
- s = "2810"
- case NDPChassis2912:
- s = "2912"
- case NDPChassis2914:
- s = "2914"
- case NDPChassis271x:
- s = "271x"
- case NDPChassis2813:
- s = "2813"
- case NDPChassis2814:
- s = "2814"
- case NDPChassis2915:
- s = "2915"
- case NDPChassis5000:
- s = "5000"
- case NDPChassis2813SA:
- s = "2813SA"
- case NDPChassis2814SA:
- s = "2814SA"
- case NDPChassis810M:
- s = "810M"
- case NDPChassisEthercell:
- s = "Ethercell"
- case NDPChassis5005:
- s = "5005"
- case NDPChassisAlcatelEWC:
- s = "Alcatel Ethernet workgroup conc."
- case NDPChassis2715SA:
- s = "2715SA"
- case NDPChassis2486:
- s = "2486"
- case NDPChassis28000series:
- s = "28000 series"
- case NDPChassis23000series:
- s = "23000 series"
- case NDPChassis5DN00xseries:
- s = "5DN00x series"
- case NDPChassisBayStackEthernet:
- s = "BayStack Ethernet"
- case NDPChassis23100series:
- s = "23100 series"
- case NDPChassis100BaseTHub:
- s = "100Base-T Hub"
- case NDPChassis3000FastEthernet:
- s = "3000 Fast Ethernet"
- case NDPChassisOrionSwitch:
- s = "Orion switch"
- case NDPChassisDDS:
- s = "DDS"
- case NDPChassisCentillion6slot:
- s = "Centillion (6 slot)"
- case NDPChassisCentillion12slot:
- s = "Centillion (12 slot)"
- case NDPChassisCentillion1slot:
- s = "Centillion (1 slot)"
- case NDPChassisBayStack301:
- s = "BayStack 301"
- case NDPChassisBayStackTokenRingHub:
- s = "BayStack TokenRing Hub"
- case NDPChassisFVCMultimediaSwitch:
- s = "FVC Multimedia Switch"
- case NDPChassisSwitchNode:
- s = "Switch Node"
- case NDPChassisBayStack302Switch:
- s = "BayStack 302 Switch"
- case NDPChassisBayStack350Switch:
- s = "BayStack 350 Switch"
- case NDPChassisBayStack150EthernetHub:
- s = "BayStack 150 Ethernet Hub"
- case NDPChassisCentillion50NSwitch:
- s = "Centillion 50N switch"
- case NDPChassisCentillion50TSwitch:
- s = "Centillion 50T switch"
- case NDPChassisBayStack303304Switches:
- s = "BayStack 303 and 304 Switches"
- case NDPChassisBayStack200EthernetHub:
- s = "BayStack 200 Ethernet Hub"
- case NDPChassisBayStack25010100EthernetHub:
- s = "BayStack 250 10/100 Ethernet Hub"
- case NDPChassisBayStack450101001000Switches:
- s = "BayStack 450 10/100/1000 Switches"
- case NDPChassisBayStack41010100Switches:
- s = "BayStack 410 10/100 Switches"
- case NDPChassisPassport1200L3Switch:
- s = "Passport 1200 L3 Switch"
- case NDPChassisPassport1250L3Switch:
- s = "Passport 1250 L3 Switch"
- case NDPChassisPassport1100L3Switch:
- s = "Passport 1100 L3 Switch"
- case NDPChassisPassport1150L3Switch:
- s = "Passport 1150 L3 Switch"
- case NDPChassisPassport1050L3Switch:
- s = "Passport 1050 L3 Switch"
- case NDPChassisPassport1051L3Switch:
- s = "Passport 1051 L3 Switch"
- case NDPChassisPassport8610L3Switch:
- s = "Passport 8610 L3 Switch"
- case NDPChassisPassport8606L3Switch:
- s = "Passport 8606 L3 Switch"
- case NDPChassisPassport8010:
- s = "Passport 8010"
- case NDPChassisPassport8006:
- s = "Passport 8006"
- case NDPChassisBayStack670wirelessaccesspoint:
- s = "BayStack 670 wireless access point"
- case NDPChassisPassport740:
- s = "Passport 740"
- case NDPChassisPassport750:
- s = "Passport 750"
- case NDPChassisPassport790:
- s = "Passport 790"
- case NDPChassisBusinessPolicySwitch200010100Switches:
- s = "Business Policy Switch 2000 10/100 Switches"
- case NDPChassisPassport8110L2Switch:
- s = "Passport 8110 L2 Switch"
- case NDPChassisPassport8106L2Switch:
- s = "Passport 8106 L2 Switch"
- case NDPChassisBayStack3580GigSwitch:
- s = "BayStack 3580 Gig Switch"
- case NDPChassisBayStack10PowerSupplyUnit:
- s = "BayStack 10 Power Supply Unit"
- case NDPChassisBayStack42010100Switch:
- s = "BayStack 420 10/100 Switch"
- case NDPChassisOPTeraMetro1200EthernetServiceModule:
- s = "OPTera Metro 1200 Ethernet Service Module"
- case NDPChassisOPTera8010co:
- s = "OPTera 8010co"
- case NDPChassisOPTera8610coL3Switch:
- s = "OPTera 8610co L3 switch"
- case NDPChassisOPTera8110coL2Switch:
- s = "OPTera 8110co L2 switch"
- case NDPChassisOPTera8003:
- s = "OPTera 8003"
- case NDPChassisOPTera8603L3Switch:
- s = "OPTera 8603 L3 switch"
- case NDPChassisOPTera8103L2Switch:
- s = "OPTera 8103 L2 switch"
- case NDPChassisBayStack380101001000Switch:
- s = "BayStack 380 10/100/1000 Switch"
- case NDPChassisEthernetSwitch47048T:
- s = "Ethernet Switch 470-48T"
- case NDPChassisOPTeraMetro1450EthernetServiceModule:
- s = "OPTera Metro 1450 Ethernet Service Module"
- case NDPChassisOPTeraMetro1400EthernetServiceModule:
- s = "OPTera Metro 1400 Ethernet Service Module"
- case NDPChassisAlteonSwitchFamily:
- s = "Alteon Switch Family"
- case NDPChassisEthernetSwitch46024TPWR:
- s = "Ethernet Switch 460-24T-PWR"
- case NDPChassisOPTeraMetro8010OPML2Switch:
- s = "OPTera Metro 8010 OPM L2 Switch"
- case NDPChassisOPTeraMetro8010coOPML2Switch:
- s = "OPTera Metro 8010co OPM L2 Switch"
- case NDPChassisOPTeraMetro8006OPML2Switch:
- s = "OPTera Metro 8006 OPM L2 Switch"
- case NDPChassisOPTeraMetro8003OPML2Switch:
- s = "OPTera Metro 8003 OPM L2 Switch"
- case NDPChassisAlteon180e:
- s = "Alteon 180e"
- case NDPChassisAlteonAD3:
- s = "Alteon AD3"
- case NDPChassisAlteon184:
- s = "Alteon 184"
- case NDPChassisAlteonAD4:
- s = "Alteon AD4"
- case NDPChassisPassport1424L3Switch:
- s = "Passport 1424 L3 switch"
- case NDPChassisPassport1648L3Switch:
- s = "Passport 1648 L3 switch"
- case NDPChassisPassport1612L3Switch:
- s = "Passport 1612 L3 switch"
- case NDPChassisPassport1624L3Switch:
- s = "Passport 1624 L3 switch"
- case NDPChassisBayStack38024FFiber1000Switch:
- s = "BayStack 380-24F Fiber 1000 Switch"
- case NDPChassisEthernetRoutingSwitch551024T:
- s = "Ethernet Routing Switch 5510-24T"
- case NDPChassisEthernetRoutingSwitch551048T:
- s = "Ethernet Routing Switch 5510-48T"
- case NDPChassisEthernetSwitch47024T:
- s = "Ethernet Switch 470-24T"
- case NDPChassisNortelNetworksWirelessLANAccessPoint2220:
- s = "Nortel Networks Wireless LAN Access Point 2220"
- case NDPChassisPassportRBS2402L3Switch:
- s = "Passport RBS 2402 L3 switch"
- case NDPChassisAlteonApplicationSwitch2424:
- s = "Alteon Application Switch 2424"
- case NDPChassisAlteonApplicationSwitch2224:
- s = "Alteon Application Switch 2224"
- case NDPChassisAlteonApplicationSwitch2208:
- s = "Alteon Application Switch 2208"
- case NDPChassisAlteonApplicationSwitch2216:
- s = "Alteon Application Switch 2216"
- case NDPChassisAlteonApplicationSwitch3408:
- s = "Alteon Application Switch 3408"
- case NDPChassisAlteonApplicationSwitch3416:
- s = "Alteon Application Switch 3416"
- case NDPChassisNortelNetworksWirelessLANSecuritySwitch2250:
- s = "Nortel Networks Wireless LAN SecuritySwitch 2250"
- case NDPChassisEthernetSwitch42548T:
- s = "Ethernet Switch 425-48T"
- case NDPChassisEthernetSwitch42524T:
- s = "Ethernet Switch 425-24T"
- case NDPChassisNortelNetworksWirelessLANAccessPoint2221:
- s = "Nortel Networks Wireless LAN Access Point 2221"
- case NDPChassisNortelMetroEthernetServiceUnit24TSPFswitch:
- s = "Nortel Metro Ethernet Service Unit 24-T SPF switch"
- case NDPChassisNortelMetroEthernetServiceUnit24TLXDCswitch:
- s = " Nortel Metro Ethernet Service Unit 24-T LX DC switch"
- case NDPChassisPassport830010slotchassis:
- s = "Passport 8300 10-slot chassis"
- case NDPChassisPassport83006slotchassis:
- s = "Passport 8300 6-slot chassis"
- case NDPChassisEthernetRoutingSwitch552024TPWR:
- s = "Ethernet Routing Switch 5520-24T-PWR"
- case NDPChassisEthernetRoutingSwitch552048TPWR:
- s = "Ethernet Routing Switch 5520-48T-PWR"
- case NDPChassisNortelNetworksVPNGateway3050:
- s = "Nortel Networks VPN Gateway 3050"
- case NDPChassisAlteonSSL31010100:
- s = "Alteon SSL 310 10/100"
- case NDPChassisAlteonSSL31010100Fiber:
- s = "Alteon SSL 310 10/100 Fiber"
- case NDPChassisAlteonSSL31010100FIPS:
- s = "Alteon SSL 310 10/100 FIPS"
- case NDPChassisAlteonSSL410101001000:
- s = "Alteon SSL 410 10/100/1000"
- case NDPChassisAlteonSSL410101001000Fiber:
- s = "Alteon SSL 410 10/100/1000 Fiber"
- case NDPChassisAlteonApplicationSwitch2424SSL:
- s = "Alteon Application Switch 2424-SSL"
- case NDPChassisEthernetSwitch32524T:
- s = "Ethernet Switch 325-24T"
- case NDPChassisEthernetSwitch32524G:
- s = "Ethernet Switch 325-24G"
- case NDPChassisNortelNetworksWirelessLANAccessPoint2225:
- s = "Nortel Networks Wireless LAN Access Point 2225"
- case NDPChassisNortelNetworksWirelessLANSecuritySwitch2270:
- s = "Nortel Networks Wireless LAN SecuritySwitch 2270"
- case NDPChassis24portEthernetSwitch47024TPWR:
- s = "24-port Ethernet Switch 470-24T-PWR"
- case NDPChassis48portEthernetSwitch47048TPWR:
- s = "48-port Ethernet Switch 470-48T-PWR"
- case NDPChassisEthernetRoutingSwitch553024TFD:
- s = "Ethernet Routing Switch 5530-24TFD"
- case NDPChassisEthernetSwitch351024T:
- s = "Ethernet Switch 3510-24T"
- case NDPChassisNortelMetroEthernetServiceUnit12GACL3Switch:
- s = "Nortel Metro Ethernet Service Unit 12G AC L3 switch"
- case NDPChassisNortelMetroEthernetServiceUnit12GDCL3Switch:
- s = "Nortel Metro Ethernet Service Unit 12G DC L3 switch"
- case NDPChassisNortelSecureAccessSwitch:
- s = "Nortel Secure Access Switch"
- case NDPChassisNortelNetworksVPNGateway3070:
- s = "Nortel Networks VPN Gateway 3070"
- case NDPChassisOPTeraMetro3500:
- s = "OPTera Metro 3500"
- case NDPChassisSMBBES101024T:
- s = "SMB BES 1010 24T"
- case NDPChassisSMBBES101048T:
- s = "SMB BES 1010 48T"
- case NDPChassisSMBBES102024TPWR:
- s = "SMB BES 1020 24T PWR"
- case NDPChassisSMBBES102048TPWR:
- s = "SMB BES 1020 48T PWR"
- case NDPChassisSMBBES201024T:
- s = "SMB BES 2010 24T"
- case NDPChassisSMBBES201048T:
- s = "SMB BES 2010 48T"
- case NDPChassisSMBBES202024TPWR:
- s = "SMB BES 2020 24T PWR"
- case NDPChassisSMBBES202048TPWR:
- s = "SMB BES 2020 48T PWR"
- case NDPChassisSMBBES11024T:
- s = "SMB BES 110 24T"
- case NDPChassisSMBBES11048T:
- s = "SMB BES 110 48T"
- case NDPChassisSMBBES12024TPWR:
- s = "SMB BES 120 24T PWR"
- case NDPChassisSMBBES12048TPWR:
- s = "SMB BES 120 48T PWR"
- case NDPChassisSMBBES21024T:
- s = "SMB BES 210 24T"
- case NDPChassisSMBBES21048T:
- s = "SMB BES 210 48T"
- case NDPChassisSMBBES22024TPWR:
- s = "SMB BES 220 24T PWR"
- case NDPChassisSMBBES22048TPWR:
- s = "SMB BES 220 48T PWR"
- case NDPChassisOME6500:
- s = "OME 6500"
- case NDPChassisEthernetRoutingSwitch4548GT:
- s = "Ethernet Routing Switch 4548GT"
- case NDPChassisEthernetRoutingSwitch4548GTPWR:
- s = "Ethernet Routing Switch 4548GT-PWR"
- case NDPChassisEthernetRoutingSwitch4550T:
- s = "Ethernet Routing Switch 4550T"
- case NDPChassisEthernetRoutingSwitch4550TPWR:
- s = "Ethernet Routing Switch 4550T-PWR"
- case NDPChassisEthernetRoutingSwitch4526FX:
- s = "Ethernet Routing Switch 4526FX"
- case NDPChassisEthernetRoutingSwitch250026T:
- s = "Ethernet Routing Switch 2500-26T"
- case NDPChassisEthernetRoutingSwitch250026TPWR:
- s = "Ethernet Routing Switch 2500-26T-PWR"
- case NDPChassisEthernetRoutingSwitch250050T:
- s = "Ethernet Routing Switch 2500-50T"
- case NDPChassisEthernetRoutingSwitch250050TPWR:
- s = "Ethernet Routing Switch 2500-50T-PWR"
- default:
- s = "Unknown"
- }
- return
- }
- func (t NDPBackplaneType) String() (s string) {
- switch t {
- case NDPBackplaneOther:
- s = "Other"
- case NDPBackplaneEthernet:
- s = "Ethernet"
- case NDPBackplaneEthernetTokenring:
- s = "Ethernet and Tokenring"
- case NDPBackplaneEthernetFDDI:
- s = "Ethernet and FDDI"
- case NDPBackplaneEthernetTokenringFDDI:
- s = "Ethernet, Tokenring and FDDI"
- case NDPBackplaneEthernetTokenringRedundantPower:
- s = "Ethernet and Tokenring with redundant power"
- case NDPBackplaneEthernetTokenringFDDIRedundantPower:
- s = "Ethernet, Tokenring, FDDI with redundant power"
- case NDPBackplaneTokenRing:
- s = "Token Ring"
- case NDPBackplaneEthernetTokenringFastEthernet:
- s = "Ethernet, Tokenring and Fast Ethernet"
- case NDPBackplaneEthernetFastEthernet:
- s = "Ethernet and Fast Ethernet"
- case NDPBackplaneEthernetTokenringFastEthernetRedundantPower:
- s = "Ethernet, Tokenring, Fast Ethernet with redundant power"
- case NDPBackplaneEthernetFastEthernetGigabitEthernet:
- s = "Ethernet, Fast Ethernet and Gigabit Ethernet"
- default:
- s = "Unknown"
- }
- return
- }
- func (t NDPState) String() (s string) {
- switch t {
- case NDPStateTopology:
- s = "Topology Change"
- case NDPStateHeartbeat:
- s = "Heartbeat"
- case NDPStateNew:
- s = "New"
- default:
- s = "Unknown"
- }
- return
- }
|