.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Info::Layer3::Passport 3pm" .TH Info::Layer3::Passport 3pm "2011-09-28" "perl v5.12.4" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" SNMP::Info::Layer3::Passport \- SNMP Interface to modular Nortel Ethernet Routing Switches (formerly Passport / Accelar) .SH "AUTHOR" .IX Header "AUTHOR" Eric Miller .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 9 \& # Let SNMP::Info determine the correct subclass for you. \& my $passport = new SNMP::Info( \& AutoSpecify => 1, \& Debug => 1, \& DestHost => \*(Aqmyswitch\*(Aq, \& Community => \*(Aqpublic\*(Aq, \& Version => 2 \& ) \& or die "Can\*(Aqt connect to DestHost.\en"; \& \& my $class = $passport\->class(); \& print "SNMP::Info determined this device to fall under subclass : $class\en"; .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Abstraction subclass for modular Nortel Ethernet Routing Switches (formerly Passport and Accelar Series Switches). .PP These devices have some of the same characteristics as the stackable Nortel Ethernet Switches (Baystack). For example, extended interface information is gleaned from \fIRAPID-CITY\fR. .PP For speed or debugging purposes you can call the subclass directly, but not after determining a more specific class using the method above. .PP .Vb 1 \& my $passport = new SNMP::Info::Layer3::Passport(...); .Ve .SS "Inherited Classes" .IX Subsection "Inherited Classes" .IP "SNMP::Info::SONMP" 4 .IX Item "SNMP::Info::SONMP" .PD 0 .IP "SNMP::Info::RapidCity" 4 .IX Item "SNMP::Info::RapidCity" .IP "SNMP::Info::Layer3" 4 .IX Item "SNMP::Info::Layer3" .PD .SS "Required MIBs" .IX Subsection "Required MIBs" .IP "Inherited Classes' MIBs" 4 .IX Item "Inherited Classes' MIBs" See \*(L"Required MIBs\*(R" in SNMP::Info::SONMP for its own \s-1MIB\s0 requirements. .Sp See \*(L"Required MIBs\*(R" in SNMP::Info::RapidCity for its own \s-1MIB\s0 requirements. .Sp See \*(L"Required MIBs\*(R" in SNMP::Info::Layer3 for its own \s-1MIB\s0 requirements. .SH "GLOBALS" .IX Header "GLOBALS" These are methods that return scalar value from \s-1SNMP\s0 .ie n .IP "$passport\->\fImodel()\fR" 4 .el .IP "\f(CW$passport\fR\->\fImodel()\fR" 4 .IX Item "$passport->model()" Returns model type. Checks \f(CW$passport\fR\->\fIid()\fR against the \&\fIRAPID-CITY-MIB\fR and then parses out \f(CW\*(C`rcA\*(C'\fR. .ie n .IP "$passport\->\fIvendor()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIvendor()\fR" 4 .IX Item "$passport->vendor()" Returns 'nortel' .ie n .IP "$passport\->\fIos()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIos()\fR" 4 .IX Item "$passport->os()" Returns 'passport' .ie n .IP "$passport\->\fIos_ver()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIos_ver()\fR" 4 .IX Item "$passport->os_ver()" Returns the software version extracted from \f(CW\*(C`sysDescr\*(C'\fR .ie n .IP "$passport\->\fIserial()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIserial()\fR" 4 .IX Item "$passport->serial()" Returns (\f(CW\*(C`rcChasSerialNumber\*(C'\fR) .ie n .IP "$passport\->\fIroot_ip()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIroot_ip()\fR" 4 .IX Item "$passport->root_ip()" Returns the primary \s-1IP\s0 used to communicate with the device. Returns the first found: \s-1CLIP\s0 (CircuitLess \s-1IP\s0), Management Virtual \s-1IP\s0 (\f(CW\*(C`rcSysVirtualIpAddr\*(C'\fR), \&\s-1OSPF\s0 Router \s-1ID\s0 (\f(CW\*(C`ospfRouterId\*(C'\fR), \s-1SONMP\s0 Advertised \s-1IP\s0 Address. .SS "Overrides" .IX Subsection "Overrides" .ie n .IP "$passport\->\fIindex_factor()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIindex_factor()\fR" 4 .IX Item "$passport->index_factor()" Required by SNMP::Info::SONMP. Returns 64 for 8600, 16 for Accelar. .ie n .IP "$passport\->\fIport_offset()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIport_offset()\fR" 4 .IX Item "$passport->port_offset()" Required by SNMP::Info::SONMP. Returns 1. .ie n .IP "$passport\->\fIslot_offset()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIslot_offset()\fR" 4 .IX Item "$passport->slot_offset()" Required by SNMP::Info::SONMP. Returns 0. .SS "Global Methods imported from SNMP::Info::SONMP" .IX Subsection "Global Methods imported from SNMP::Info::SONMP" See documentation in \*(L"\s-1GLOBALS\s0\*(R" in SNMP::Info::SONMP for details. .SS "Global Methods imported from SNMP::Info::RapidCity" .IX Subsection "Global Methods imported from SNMP::Info::RapidCity" See documentation in \*(L"\s-1GLOBALS\s0\*(R" in SNMP::Info::RapidCity for details. .SS "Globals imported from SNMP::Info::Layer3" .IX Subsection "Globals imported from SNMP::Info::Layer3" See documentation in \*(L"\s-1GLOBALS\s0\*(R" in SNMP::Info::Layer3 for details. .SH "TABLE METHODS" .IX Header "TABLE METHODS" These are methods that return tables of information in the form of a reference to a hash. .SS "Overrides" .IX Subsection "Overrides" .ie n .IP "$passport\->\fIi_index()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIi_index()\fR" 4 .IX Item "$passport->i_index()" Returns \s-1SNMP\s0 \s-1IID\s0 to Interface index. Extends (\f(CW\*(C`ifIndex\*(C'\fR) by adding the index of the \s-1CPU\s0 virtual management \s-1IP\s0 (if present), each \s-1CPU\s0 Ethernet port, and each \s-1VLAN\s0 to ensure the virtual router ports are captured. .ie n .IP "$passport\->\fIinterfaces()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIinterfaces()\fR" 4 .IX Item "$passport->interfaces()" Returns reference to the map between \s-1IID\s0 and physical Port. .Sp Slot and port numbers on the Passport switches are determined by the formula: port = (\f(CW\*(C`ifIndex % index_factor\*(C'\fR) + port_offset, slot = int(\f(CW\*(C`ifIndex / index_factor\*(C'\fR). .Sp The physical port name is returned as slot.port. \s-1CPU\s0 Ethernet ports are prefixed with \s-1CPU\s0 and \s-1VLAN\s0 interfaces are returned as the \s-1VLAN\s0 \s-1ID\s0 prefixed with Vlan. .ie n .IP "$passport\->\fIi_mac()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIi_mac()\fR" 4 .IX Item "$passport->i_mac()" \&\s-1MAC\s0 address of the interface. Note this is just the \s-1MAC\s0 of the port, not anything connected to it. .ie n .IP "$passport\->\fIi_description()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIi_description()\fR" 4 .IX Item "$passport->i_description()" Description of the interface. Usually a little longer single word name that is both human and machine friendly. Not always. .ie n .IP "$passport\->\fIi_name()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIi_name()\fR" 4 .IX Item "$passport->i_name()" Crosses \fIrc_alias()\fR (\f(CW\*(C`rcPortName\*(C'\fR) with \fIifAlias()\fR and returns the human set port name if exists. .ie n .IP "$passport\->\fIip_index()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIip_index()\fR" 4 .IX Item "$passport->ip_index()" Maps the \s-1IP\s0 Table to the \s-1IID\s0. Extends (\f(CW\*(C`ipAdEntIfIndex\*(C'\fR) by adding the index of the \s-1CPU\s0 virtual management \s-1IP\s0 (if present) and each \s-1CPU\s0 Ethernet port. .ie n .IP "$passport\->\fIip_netmask()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIip_netmask()\fR" 4 .IX Item "$passport->ip_netmask()" Extends (\f(CW\*(C`ipAdEntNetMask\*(C'\fR) by adding the mask of the \s-1CPU\s0 virtual management \&\s-1IP\s0 (if present) and each \s-1CPU\s0 Ethernet port. .ie n .IP "$passport\->\fIbp_index()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIbp_index()\fR" 4 .IX Item "$passport->bp_index()" Returns reference to hash of bridge port table entries map back to interface identifier (iid) .Sp Returns (\f(CW\*(C`ifIndex\*(C'\fR) for both key and value since some devices seem to have problems with \fIBRIDGE-MIB\fR .SS "Pseudo \fIENTITY-MIB\fP information" .IX Subsection "Pseudo ENTITY-MIB information" These devices do not support \fIENTITY-MIB\fR. These methods emulate Physical Table methods using the \fIRAPID-CITY \s-1MIB\s0\fR. .ie n .IP "$passport\->\fIe_index()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIe_index()\fR" 4 .IX Item "$passport->e_index()" Returns reference to hash. Key and Value: Integer. The index is created by combining the slot, module, and position into a five or six digit integer. Slot can be either one or two digits while the module and position are each two digits padded with leading zero if required. .ie n .IP "$passport\->\fIe_class()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIe_class()\fR" 4 .IX Item "$passport->e_class()" Returns reference to hash. Key: \s-1IID\s0, Value: General hardware type. This class only returns container, module, and power supply types. .ie n .IP "$passport\->\fIe_descr()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIe_descr()\fR" 4 .IX Item "$passport->e_descr()" Returns reference to hash. Key: \s-1IID\s0, Value: Human friendly name. .ie n .IP "$passport\->\fIe_name()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIe_name()\fR" 4 .IX Item "$passport->e_name()" Returns reference to hash. Key: \s-1IID\s0, Value: Human friendly name. .ie n .IP "$passport\->\fIe_hwver()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIe_hwver()\fR" 4 .IX Item "$passport->e_hwver()" Returns reference to hash. Key: \s-1IID\s0, Value: Hardware version. .ie n .IP "$passport\->\fIe_vendor()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIe_vendor()\fR" 4 .IX Item "$passport->e_vendor()" Returns reference to hash. Key: \s-1IID\s0, Value: nortel. .ie n .IP "$passport\->\fIe_serial()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIe_serial()\fR" 4 .IX Item "$passport->e_serial()" Returns reference to hash. Key: \s-1IID\s0, Value: Serial number. .ie n .IP "$passport\->\fIe_pos()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIe_pos()\fR" 4 .IX Item "$passport->e_pos()" Returns reference to hash. Key: \s-1IID\s0, Value: The relative position among all entities sharing the same parent. .ie n .IP "$passport\->\fIe_type()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIe_type()\fR" 4 .IX Item "$passport->e_type()" Returns reference to hash. Key: \s-1IID\s0, Value: Type of component/sub\-component. .ie n .IP "$passport\->\fIe_parent()\fR" 4 .el .IP "\f(CW$passport\fR\->\fIe_parent()\fR" 4 .IX Item "$passport->e_parent()" Returns reference to hash. Key: \s-1IID\s0, Value: The value of \fIe_index()\fR for the entity which 'contains' this entity. A value of zero indicates this entity is not contained in any other entity. .SS "Table Methods imported from SNMP::Info::SONMP" .IX Subsection "Table Methods imported from SNMP::Info::SONMP" See documentation in \*(L"\s-1TABLE\s0 \s-1METHODS\s0\*(R" in SNMP::Info::SONMP for details. .SS "Table Methods imported from SNMP::Info::RapidCity" .IX Subsection "Table Methods imported from SNMP::Info::RapidCity" See documentation in \*(L"\s-1TABLE\s0 \s-1METHODS\s0\*(R" in SNMP::Info::RapidCity for details. .SS "Table Methods imported from SNMP::Info::Layer3" .IX Subsection "Table Methods imported from SNMP::Info::Layer3" See documentation in \*(L"\s-1TABLE\s0 \s-1METHODS\s0\*(R" in SNMP::Info::Layer3 for details.