README.developer - Information on extending the UCD-SNMP package to support the INTEL-LAN-ADAPTERS MIB. Overview: --------- The SNMP agent extension extends the UCD-SNMP agent for Linux. It provides information on the Intel PRO LAN adapters (10/100/1000), through the adapter drivers (e100, e1000). It also provides information on advanced features, including teaming and VLANs, through the Advanced Networking Services (ANS) module. This file describes how to enable the UCD-SNMP package to support the INTEL-LAN-ADAPTERS MIB. It is intended for users who need to compile their own SNMP agent. (Users running a Linux distribution unsupported by the RPM packaged pre-compiled agent provided, or users who need to extend/tailor their SNMP agent with additional MIBS for their own needs.) Pre-Requisites: ------------ The SNMP agent package will work best when the Intel PRO LAN adapter drivers (e100, e1000) and/or the Intel ANS module (ians) are installed and loaded on the system. However, the package will work with any combination of the 3 modules mentioned above. Compiling your own Agent: ------------------------- Get UCD-SNMP-4.1.2.tar.gz clean original sources and the inic-SNMP-X.X.X.tar.gz file. These files are available both from the web and the bundled software CD. To extend the UCD-SNMP agent you will need to patch the UCD-SNMP sources with the UCD-SNMP-4.1.2-intel-lan-adapters.patch patch. 1. Change to the directory containing the UCD-SNMP-4.1.2 source directory. 2. Copy the patch file to that directory. 3. Copy libinicSNMP.a to the same directory. 4. Type: "patch -p0 < UCD-SNMP-4.1.2.intel-lan-adapters.patch" This will patch your UCD-SNMP sources (usually including modified source). If the patch fails, please apply it to a fresh UCD-SNMP source tree and then apply the changes to your modified source tree. Once the patch has been applied 5. Change to the directory UCD-SNMP-4.1.2. 6. Run "autoconf". 7. Follow the steps documented in UCD-SNMP package to compile it. For example you should run "./configure" with the relevant options and then issue the "make" or "make install" command. For more information concerning the UCD-SNMP (NET-SNMP) package, contact http://net-SNMP.sourceforge.net License: -------- The following license does not apply to modifications of original files in the UCD-SNMP source code. Look at the UCD-SNMP source code files for the relevant License statement. Copyright (c) 1999 - 2001, Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistribution's of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistribution's in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of Intel Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Functionality: ------------- The SNMP extension implements the following MIB branch. The branch is located under the Intel branch at: .intel.products.nic-products.intel-lan-adapters (Full OID: .1.3.6.1.4.1.343.2.7.2). +--intel-lan-adapters(2) | +--component-description(1) | | | +-- -R-- String company(1) | | Textual Convention: DisplayString | | Size: 0..255 | +-- -R-- String description(2) | | Textual Convention: DisplayString | | Size: 0..255 | +-- -R-- String operatingSystem(3) | | Textual Convention: DisplayString | | Size: 0..255 | +-- -R-- String mibVersion1-0-0(4) | | Textual Convention: DisplayString | | Size: 0..255 | +-- -R-- String mibVersionSupported(5) | | Textual Convention: DisplayString | | Size: 0..255 | +-- -R-- String agentExtensionVersion(6) | | Textual Convention: DisplayString | | Size: 0..255 | +-- -R-- EnumVal status(7) | Values: baseDriverNotLoadedAnsNotLoaded(0),baseDriverLoadedAnsNotLoaded(1), baseDriverNotLoadedAnsLoaded(2), baseDriverLoadedAnsLoaded(3) | +--adapterTables(2) | | | +--genericAdapterAttrTables(1) | | | | | +--genericAdapterAttrTable(1) | | | | | | | +--genericAdapterAttrEntry(1) | | | | | | | +-- -R-- Integer adapterIndex(1) | | | | Textual Convention: InterfaceIndex | | | | Range: 1..2147483647 | | | +-- -R-- String adapterName(2) | | | | Textual Convention: DisplayString | | | | Size: 0..255 | | | +-- -R-- EnumVal adapterType(3) | | | Values: standAlone(0), teamMember(1), virtual(2) | | | | | +--genericAdapterAttrDriversTable(2) | | | | | | | +--genericAdapterAttrDriversEntry(1) | | | | | | | +-- -R-- String adapterDriverName(1) | | | | Textual Convention: DisplayString | | | | Size: 0..255 | | | +-- -R-- String adapterDriverInfo(2) | | | | Textual Convention: DisplayString | | | | Size: 0..255 | | | +-- -R-- String adapterDriverVersion(3) | | | | Textual Convention: DisplayString | | | | Size: 0..255 | | | +-- -R-- String adapterDriverPath(4) | | | | Textual Convention: DisplayString | | | | Size: 0..255 | | | +-- -R-- String adapterDriverDate(5) | | | | Textual Convention: DisplayString | | | | Size: 0..255 | | | +-- -R-- String adapterDriverSize(6) | | | Textual Convention: DisplayString | | | Size: 0..255 | | | | | +--genericAdapterAttrTrafficStatsTable(3) | | | | | +--genericAdapterAttrTrafficStatsEntry(1) | | | | | +-- -R-- Counter adapterRxPackets(1) | | +-- -R-- Counter adapterTxPackets(2) | | +-- -R-- Counter adapterRxBytes(3) | | +-- -R-- Counter adapterTxBytes(4) | | +-- -R-- Counter adapterRxErrors(5) | | +-- -R-- Counter adapterTxErrors(6) | | +-- -R-- Counter adapterRxDropped(7) | | +-- -R-- Counter adapterTxDropped(8) | | +-- -R-- Counter adapterRxMulticast(9) | | +-- -R-- Counter adapterCollisions(10) | | | +--physicalAdapterAttrTables(2) | | | | | +--physicalAdapterAttrTable(1) | | | | | | | +--physicalAdapterAttrEntry(1) | | | | | | | +-- -R-- Integer physicalAdapterIndex(1) | | | | Textual Convention: InterfaceIndex | | | | Range: 1..2147483647 | | | +-- -R-- EnumVal physicalAdapterLinkStatus(2) | | | | Values: link-up(0), link-down(1) | | | +-- -RW- Counter physicalAdapterLinkStatusChangesCounter(3) | | | +-- -R-- Gauge physicalAdapterSpeed(4) | | | +-- -R-- EnumVal physicalAdapterDplxMode(5) | | | | Values: not-available(0), half(1), full(2) | | | +-- -R-- EnumVal physicalAdapterAutoNegotiation(6) | | | | Values: on(0), off(1) | | | +-- -R-- Integer physicalAdapterPciBus(7) | | | +-- -R-- Integer physicalAdapterPciSlot(8) | | | +-- -R-- Integer physicalAdapterIrq(9) | | | +-- -R-- String physicalAdapterCurrentNA(10) | | | | Textual Convention: PhysAddress | | | +-- -R-- String physicalAdapterPermanentNA(11) | | | Textual Convention: PhysAddress | | | | | +--physicalAdapterAttrChecksumOffloadTable(2) | | | | | +--physicalAdapterAttrChecksumOffloadEntry(1) | | | | | +-- -R-- EnumVal physicalAdapterTcpRxChecksumOffLoadEnable(1) | | | Values: enabled(0), disabled(1) | | +-- -R-- Counter physicalAdapterTcpRxChecksumBad(2) | | +-- -R-- EnumVal physicalAdapterTcpTxChecksumOffLoadEnable(3) | | Values: enabled(0), disabled(1) | | | +--virtualAdapterAttrTables(3) | | | | | +--virtualAdapterAttrTable(1) | | | | | | | +--virtualAdapterAttrEntry(1) | | | | | | | +-- -R-- Integer virtualAdapterIndex(1) | | | | Textual Convention: InterfaceIndex | | | | Range: 1..2147483647 | | | +-- -R-- Integer virtualAdapterTeamId(2) | | | | | +--virtualAdapterAttrVlanTable(2) | | | | | +--virtualAdapterAttrVlanEntry(1) | | | | | +-- -R-- EnumVal virtualAdapterVlanId(1) | | Values: none(0) | | | +--teamAttrTables(4) | | | | | +--teamAttrTable(1) | | | | | | | +--teamAttrEntry(1) | | | | | | | +-- -R-- Integer teamId(1) | | | +-- -R-- Integer teamNumberOfMembers(2) | | | +-- -R-- Integer teamNumberOfVirtualAdapters(3) | | | | | +--teamAttrVlanTable(2) | | | | | | | +--teamAttrVlanEntry(1) | | | | | | | +-- -R-- EnumVal teamVlanTaggingType(1) | | | | Values: none(0), tag-802-1Q(1), tag-802-1P(2), tag-802-3AC(3), tag-iSL(4) | | | +-- -R-- EnumVal teamVlanGvrpSupport(2) | | | Values: enabled(0), disabled(1) | | | | | +--teamAttrAdapterTeamingTable(3) | | | | | +--teamAttrAdapterTeamingEntry(1) | | | | | +-- -R-- String teamAdapterTeamingTeamName(1) | | | Textual Convention: DisplayString | | | Size: 0..255 | | +-- -R-- EnumVal teamAdapterTeamingMode(2) | | | Values: none(0), team-aft(1), team-alb(2), team-fec(3), team-gec(4), team-802-3ad(5) | | +-- -R-- EnumVal teamAdapterTeamingLinkState(3) | | | Values: up(0), down(1) | | +-- -R-- Gauge teamAdapterTeamingSpeed(4) | | +-- -R-- EnumVal teamAdapterTeamingPRObesState(5) | | | Values: probes-enabled(0), probes-disabled(1) | | +-- -R-- EnumVal teamAdapterTeamingPRObesMode(6) | | | Values: broadcast(0), multicast(1), not-available(2) | | +-- -R-- EnumVal teamAdapterTeamingLoadBalanceRefresh(7) | | | Values: not-available(0) | | +-- -R-- EnumVal teamAdapterTeamingPRObesSendTime(8) | | | Values: not-available(0) | | +-- -R-- EnumVal teamAdapterTeamingPreferredPrimaryIndex(9) | | | Values: not-available(0) | | +-- -R-- EnumVal teamAdapterTeamingCurrentPrimaryIndex(10) | | | Values: not-available(0) | | +-- -R-- EnumVal teamAdapterTeamingPreviousPrimaryIndex(11) | | | Values: not-available(0) | | +-- -RW- Counter teamAdapterTeamingFailoverCounter(12) | | | +--teamMemberAttrTables(5) | | | +--teamMemberAttrTable(1) | | | | | +--teamMemberAttrEntry(1) | | | | | +-- -R-- Integer teamMemberIndex(1) | | | Textual Convention: InterfaceIndex | | | Range: 1..2147483647 | | +-- -R-- Integer teamMemberTeamId(2) | | | +--teamMemberAttrAdapterTeamingTable(2) | | | +--teamMemberAttrAdapterTeamingEntry(1) | | | +-- -R-- EnumVal teamMemberAdapterTeamingState(1) | | Values: active(0), disabled(1), standby(2), active-secondary(3) | +-- -RW- Counter teamMemberAdapterTeamingFailureCounter(2) | +-- -R-- EnumVal teamMemberAdapterTeamingPriority(3) | Values: none(0), primary(1), secondary(2) | +--events(3) | +--physicalAdapterEvents(1) | | | +--physicalAdapterTraps(1) | | | | | +--physicalAdapterLinkUpTrap(1) | | | | | +--physicalAdapterLinkDownTrap(2) | | | | | +--physicalAdapterAddedTrap(3) | | | | | +--physicalAdapterRemovedTrap(4) | | | +-- -RW- EnumVal physicalAdapterLinkUpDownTrapEnable(2) | | Values: disabled(0), enabled(1) | +-- -RW- EnumVal physicalAdapterAddedRemovedTrapEnable(3) | Values: disabled(0), enabled(1) | +--virtualAdapterEvents(2) | | | +--virtualAdapterTraps(1) | | | | | +--virtualAdapterAddedTrap(1) | | | | | +--virtualAdapterRemovedTrap(2) | | | +-- -RW- EnumVal virutalAdapterTrapEnable(2) | Values: disabled(0), enabled(1) | +--teamEvents(3) | | | +--teamTraps(1) | | | | | +--teamAdapterTeamingFailoverTrap(1) | | | | | +--teamAddedTrap(2) | | | | | +--teamRemovedTrap(3) | | | +-- -RW- EnumVal teamTrapEnable(2) | Values: disabled(0), enabled(1) | +--teamMemberEvents(4) | +--teamMemberTraps(1) | | | +--teamMemberAddedTrap(1) | | | +--teamMemberRemovedTrap(2) | +-- -RW- EnumVal teamMemberTrapEnable(2) Values: disabled(0), enabled(1) * This tree is the output from the UCD SNMP translate utility.