[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
System Management Guide: Communications and Networks

SNMP Daemon Support for the EGP Family of MIB Variables

If the agent host is running the gated daemon with the Exterior Gateway Protocol (EGP) enabled, there are several Management Information Base (MIB) variables in the EGP group supported by the gated daemon which the snmpd agent can access.

The following EGP MIB variables have a single, unique instance:

egpInMsgs Number of EGP messages received without error.
egpInErrors Number of EGP messages received in error.
egpOutMsgs Total number of EGP messages transmitted by the gated daemon running on the agent's host.
egpOutErrors Number of EGP messages that could not be sent by the agent host's gated daemon due to resource limitations.
egpAs Autonomous system number of the agent host's gated daemon.

The following EGP MIB variables have an instance for each EGP peer or neighbor acquired by the agent host's gated daemon:

egpNeighState The state of this EGP peer:
1
idle
2
acquisition
3
down
4
up
5
cease
egpNeighAddr IP address of this EGP peer.
egpNeighAs Autonomous system number of this EGP peer. Zero (0) indicates the autonomous system number of this peer is not yet known.
egpInNeighMsgs Number of EGP messages received without error from this EGP peer.
egpNeighInErrs Number of EGP messages received in error from this EGP peer.
egpNeighOutMsgs Number of locally generated EGP messages to this EGP peer.
egpNeighOutErrs Number of locally generated EGP messages not sent to this EGP peer due to resource limitations.
egpNeighInErrMsgs Number of EGP-defined error messages received from this EGP peer
egpNeighOutErrMsgs Number of EGP-defined error messages sent to this EGP peer.
egpNeighStateUp Number of EGP state transitions to the UP state with this EGP peer.
egpNeighStateDowns Number of EGP state transitions from the UP state to any other state with this EGP peer.
egpNeighIntervalHello Interval between EGP Hello command retransmissions in hundredths of a second.
egpNeighIntervalPoll Interval between EGP poll command retransmissions in hundredths of a second.
egpNeighMode Polling mode of this EGP peer. The mode can be either active (1) or passive (2).
egpNeighEventTrigger Control variable triggers operator-initiated start and stop events to this EGP peer. This MIB variable can be set to start (1) or stop (2).

If the gated daemon is not running, or if the gated daemon is running but is not configured to communicate with the snmpd agent, or if the gated daemon is not configured for EGP, get and set requests for the values of these variables will return the noSuchName error response code.

The gated daemon configuration file, /etc/gated.conf, should contain the following statement:

snmp      yes;

The gated daemon is internally configured to be an Simple Network Management Protocol (SNMP) single multiplexer (SMUX) protocol peer, or proxy agent, of the snmpd daemon. When the gated daemon starts up, it registers the ipRouteTable MIB variable tree with the snmpd agent. If the gated daemon is configured for EGP, then the gated daemon also registers the EGP MIB variable tree. After this registration is complete, an SNMP manager can successfully make requests to the snmpd agent for the ipRouteTable an EGP MIB variables supported by this agent host's gated daemon. Thus, when the gated daemon is running, all MIB routing information is obtained using the gated daemon. In this case, set requests to the ipRouteTable are not allowed.

The SMUX communication between the gated daemon and the snmpd daemon takes place over the well-known Transmission Control Protocol (TCP) port 199. If the gated daemon should terminate, snmpd immediately unregisters the trees the gated daemon previously registered. If the gated daemon is started before the snmpd daemon, the gated daemon periodically checks for the snmpd daemon until the SMUX association can be established.

To configure the snmpd agent to recognize and allow the SMUX association with the gated daemon client, the user must add a SMUX entry to the /etc/snmpd.conf file. The client object identifier and password specified in this SMUX entry for the gated daemon must match those specified in the /etc/snmpd.peers file.

The snmpd agent supports set requests for the following read-write MIB I and MIB II variables:

sysContact
The textual identification of the contact person for this agent's host. This information includes the name of this person and how to contact this person: for example, "Bob Smith, 555-5555, ext 5." The value is limited to 256 characters. If, for a set request, the string for this MIB variable is greater than 256 characters, the snmpd agent will return the error badValue, and the set operation will not be performed. The initial value of sysContact is defined in /etc.snmp.conf. If nothing is defined, the value is null string.
Instance Value Action
0 "string" The MIB variable is set to "string".

sysName
The host name for this agent's host. Typically this is the node's fully qualified domain name. The value is limited to 256 characters. If, for a set request, the string for this MIB variable is greater than 256 characters, the snmpd agent will return the error badValue, and the set operation will not be performed.
Instance Value Action
0 "string" The MIB variable is set to "string".

sysLocation
A textual string stating the physical location of the machine on which this snmpd agent resides: for example, "Austin site, building 802, lab 3C-23." The value is limited to 256 characters. If, for a set request, the string for this MIB variable is greater than 256 characters, the snmpd agent will return the error badValue, and the set operation will not be performed. The initial value of sysLocation is defined in /etc/snmp.conf. If nothing is defined, the value is null string.
Instance Value Action
0 "string" The MIB variable is set to "string".

ifAdminStatus
The desired state of an interface adapter on the agent's host. Supported states are up and down. The state can be set to testing but such an action has no effect on the operational state of the interface.
Instance Value Action
f 1 The interface adapter with ifIndex f is enabled.
Note: It is possible that the ifAdminStatus value can be set to up or down, yet the actual operational change of the interface failed. In such a case, a get request of the ifAdminStatus may reflect up while an ifOperStatus for that interface may reflect down. If such a situation should occur, the network administrator would have to issue another set request to set ifAdminStatus to up to attempt the operational change again.

atPhysAddress
The hardware address portion of an address table binding on the agent's host (an entry in the Address Resolution Protocol, or ARP, table). This is the same MIB variable as ipNetToMediaPhysAddress.
Instance Value Action
f.1.n.n.n.n hh:hh:hh:hh:hh:hh For the interface with ifIndex f, any existing ARP table binding for IP address n.n.n.n is replaced with the binding (n.n.n.n, hh:hh:hh:hh:hh:hh). If a binding did not exist, the new binding is added. hh:hh:hh:hh:hh:hh is a twelve-hexadecimal-digit hardware address.

atNetAddress
The IP address corresponding to the hardware or physical address specified in atPhysAddress. This is the same MIB variable as ipNetToMediaNetAddress.
Instance Value Action
f.1.n.n.n.n m.m.m.m For the interface with ifIndex f, an existing ARP table entry for IP address n.n.n.n is replaced with IP address m.m.m.m.

ipForwarding
Indicates whether this agent's host is forwarding datagrams. See "SNMP Daemon Implementation Restrictions" for more information on this MIB variable.
Instance Value Action
0 1 If the agent's host has more than one active interface, then the TCP/IP kernel is configured to forward packets. If the agent's host has only one active interface, the set request fails.
2 The TCP/IP kernel on the agent's host is configured to not forward packets.

ipDefaultTTL
The default time-to-live (TTL) value inserted into IP headers of datagrams originated by the agent's host.
Instance Value Action
0 n The default time-to-live value used by IP protocol support is set to the integer n.

ipRouteDest
The destination IP address of a route in the route table.
Instance Value Action
n.n.n.n m.m.m.m The destination route for route n.n.n.n is set to the IP address m.m.m.m.

ipRouteNextHop
The gateway by which a destination IP address can be reached from the agent's host (an entry in the route table).
Instance Value Action
n.n.n.n m.m.m.m A route table entry to reach network n.n.n.n using gateway m.m.m.m is added to the route table. The host portion of the IP address n.n.n.n must be 0 to indicate a network address.

ipRouteType
The state of a route table entry on the agent's host (used to delete entries).
Instance Value Action
h.h.h.h 1 Any route to host IP address h.h.h.h is deleted.
n.n.n.n 2 Any route to host IP address n.n.n.n is deleted.

ipNetToMediaPhysAddress
The hardware address portion of an address table binding on the agent's host (an entry in the ARP table). This is the same MIB variable as atPhysAddress.
Instance Value Action
f.1.n.n.n.n hh:hh:hh:hh:hh:hh For the interface with ifIndex f, any existing ARP table binding for IP address n.n.n.n is replaced with the binding (n.n.n.n, hh:hh:hh:hh:hh:hh). If a binding did not exist, the new binding is added. hh:hh:hh:hh:hh:hh is a 12-hexadecimal-digit hardware address.

ipNetToMediaNetAddress
The IP address corresponding to the hardware or physical address specified in ipNetToMediaPhysAddress. This is the same MIB variable as atNetAddress.
Instance Value Action
f.1.n.n.n.n m.m.m.m For the interface with ifIndex f, an existing ARP table entry for IP address n.n.n.n is replaced with IP address m.m.m.m.

ipNetToMediaType
The type of mapping from the IP address to the physical address.
Instance Value Action
f.1.n.n.n.n 1 For the interface with ifIndex f, for an existing ARP binding from IP address to physical address, the mapping type is set to 1, or other.
2 For the interface with ifIndex f, for an existing ARP binding from IP address to physical address, the mapping type is set to 2, or invalid. As a side effect, the corresponding entry in the ipNetMediaTable is invalidated; that is, the interface is disassociated from this ipNetToMediaTable entry.
3 For the interface with ifIndex f, for an existing ARP binding from IP address to physical address, the mapping type is set to 3, or dynamic.
4 For the interface with ifIndex f, for an existing ARP binding from IP address to physical address, the mapping type is set to 4, or static.

snmpEnableAuthenTraps
Indicates whether the snmpd agent is configured to generate authenticationFailure traps.
Instance Value Action
0 1 The snmpd agent will not generate authentication failure traps.
2 The snmpd agent will generate authentication failure traps.

smuxPstatus
The status of an SMUX protocol peer (used to delete SMUX peers).
Instance Value Action
n 1 snmpd agent does nothing.
2 snmpd agent will stop communicating with SMUX peer n.

smuxTstatus
The status of a SMUX MIB tree (used to delete MIB tree mounts).
Instance Value Action
l.m.m.m._ _ _ .p 1 snmpd agent does nothing.
2 Unmounts SMUX mounting of MIB tree m.m.m... where l is the length of MIB tree instance and p is the smuxTpriority.

The variables listed below are the settable variables as defined in RFC 1229. The snmpd daemon allows the user to set these variables. The underlying device might not allow the setting of such variables. You should check with each device to see what is and is not supported.

ifExtnsPromiscuous
The status of the promiscuous mode on a given device. This is used to enable and disable promiscuous mode on a given device. The snmpd action is final and complete. When snmpd is told to turn off, promiscuous mode is turned completely off regardless of the other applications on the machine.
Instance Value Action
n 1 Turns on the promiscuous mode for device n.
2 Turns off the promiscuous mode for device n.

ifExtnsTestType
The test initiation variable. When this variable is set the appropriate test is run for that device. An Object Identifier is the value of the variable. The specific value is dependent on the device type and the test wished to be run. Currently, the only define test that snmpd knows to run is testFullDuplexLoopBack test.
Instance Value Action
n oid Start the test specified by oid.

ifExtnsRcvAddrStatus
The address status variable. When this variable is set, the specified address comes into existence with the appropriate level of duration. snmpd only allows the setting of temporary addresses because it is not able to set device Object Data Manager (ODM) records and it is only allowed to set multicast/broadcast addresses.
Instance Value Action
n.m.m.m.m.m.m 1 Add the address as something other than a temporary or permanent address.
2 Remove the address from usage.
3 Add the address as a temporary address.
4 Add the address as a permanent address.

The variables listed below are the settable variables as defined in RFC 1231. The snmpd daemon allows the user to set these variables. The underlying device might not allow the setting of such variables. You should check with each device to see what is and is not supported.

dot5Commands
The command the token-ring device should perform.
Instance Value Action
n 1 Does nothing. Returned.
2 Tells the token-ring device to open.
3 Tells the token-ring to reset.
4 Tells the token-ring device to close.

dot5RindSpeed
The current ring speed or bandwidth.
Instance Value Action
n 1 An unknown speed.
2 1 megabit ring speed.
3 4 megabit ring speed.
4 16 megabit ring speed.

dot5ActMonParticipate
The object specifies whether the device should participate in the active monitor selection process.
Instance Value Action
n 1 Should participate.
2 Should not participate.

dot5Functional
The functional mask that allows the token-ring device to specify from what addresses it will receive frames.
Instance Value Action
n m.m.m.m.m.m Functional mask to be set.

The following variables are defined in the RFC as read-only but you are encouraged to make them read-write. They are complex timer manipulations. You should look them up in the RFC to gain a full understanding of their interactions. snmpd allows the requestor to set them, but the device may not. Check the device driver documentation for more information. The variables are:

The variables listed below are the settable variables as defined in RFC 1512. The SNMP daemon allows the user to set these variables. It uses the FDDI Station Management (SMT) 7.2 protocol standard to get the information. This is determined at the microcode level. Check the microcode on the FDDI documentation to ensure that the SMT 7.2 microcode is being used.

fddimibSMTUserData
A variable holding 32 bytes of user information.
Instance Value Action
n string Stores 32 bytes of user information.

fddimibSMTConfigPolicy
The status of the configuration policies, specifically the hold policy usage.
Instance Value Action
n 0 Do not use the hold policy.
1 Use the hold policy.

fddimibSMTConnectionPolicy
The status of the connection policies in the FDDI node. See RFC 1512 for more information about the specific settable values.
Instance Value Action
n k Defines the connection policies.

fddimibSMTTNotify
The timer, expressed in seconds, used in the Neighbor Notification protocol. It has a range of 2 seconds to 30 seconds, and its default value is 30 seconds.
Instance Value Action
n k Defines the timer value.

fddimibSMTStatRptPolicy
The status of the status reporting frame generation.
Instance Value Action
n 1 Indicates that the node will generate status reporting frames for implemented events.
2 Indicates that the node will not create status reporting frames.

fddimibSMTTraceMaxExpiration
This variable defines the maximum timer expiration value for trace.
Instance Value Action
n k Defines the maximum timer expiration in milliseconds.

fddimibSMTStationAction
This variable causes the SMT entity to take a specific action. Refer to the RFC to get specific information about this variable.
Instance Value Action
n k Defines an action on the SMT entity. Values range from 1 to 8.

fddimibMACRequestedPaths
Defines the paths the medium access control (MAC) should be inserted.
Instance Value Action
n.n k Defines the requested path for the MAC.

fddimibMACFrameErrorThreshold
Threshold for when a MAC status report should be generated. Defines the number of error that must occur before a report is generated.
Instance Value Action
n.n k Defines the number of errors that must be observed before a MAC status report is generated.

fddimibMACMAUnitdataEnable
This variable determines the value of the MA_UNITDATA_Enable flag in RMT. The default and initial value of this flag is true (1).
Instance Value Action
n.n 1 Marks the MA_UNITDATA_Enable flag true.
2 Marks the MA_UNITDATA_Enable flag false.

fddimibMACNotCopiedThreshold
A threshold for determining when a MAC condition report will be generated.
Instance Value Action
n.n k Defines the number of errors that must be observed before a MAC condition report is generated.

The following three variables are timer variables that are interactive among themselves. Before changing any of these variables, you should have a good understanding of their meaning as defined in RFC 1512.

fddimibPORTConnectionPolicies
Specifies the connection policies for the specified port.
Instance Value Action
n.n k Defines the connection policies for the specified port.

fddimibPORTRequestedPaths
This variable is a list of permitted paths where each list element defines the port's permitted paths. The first octet corresponds to `none', the second octet to `tree', and the third octet to `peer'.
Instance Value Action
n.n ccc Defines the port's paths.

fddimibPORTLerCutoff
The link error rate estimate at which a link connection will be broken. It ranges from 10**-4 to 10**-15 and is reported as the absolute value of the base 10 logarithm (default of 7).
Instance Value Action
n.n k Defines the port's LerCutoff.

fddimibPORTLerAlarm
The link error rate estimate at which a link connection will generate an alarm. It ranges from 10**-4 to 10**-15 and is reported as the absolute value of the base 10 logarithm of the estimate (default is 8).
Instance Value Action
n.n k Defines the port's LerAlarm.

fddimibPORTAction
This variable causes the port to take a specific action. Refer to the RFC to get specific information about this variable.
Instance Value Action
n k Defines an action on the defined port. The values range from 1 to 6.

Note: RFC 1213 describes all variables in the atEntry and ipNetToMediaEntry tables as read-write. Set support is implemented only for the atEntry variables atPhysAddress and atNetAddress, and the ipNetToMediaEntry variables ipNetToMediaPhysAddress, ipNetToMediaNetAddress, and ipNetToMediaType. To accept set requests that may specify the remaining unsupported attributes in these two tables, set requests for the remaining variables are accepted: atIfIndex and ipNetToMediaIfIndex. No error response is returned to the set request originator, but a subsequent get request will show that the original values are retained.

RFC 1213 describes all variables in the ipRouteEntry table as read-write except ipRouteProto. As mentioned above, set support is implemented only for the variables ipRouteDest, ipRouteNextHop, and ipRouteType. To accept set requests that may specify several unsupported route attributes, set requests for the remaining variables in the ipRouteEntry table are accepted: ipRouteIfIndex, ipRouteMetric1, ipRouteMetric2, ipRouteMetric3, ipRouteMetric4, ipRouteMetric5, ipRouteAge, and ipRouteMask. No error response is returned to the set request originator, but a subsequent get request will show that the original values are retained. The snmpd daemon does not coordinate routing with the routed daemon. If the gated daemon is running and has registered the ipRouteTable with the snmpd daemon, set requests to the ipRouteTable are not allowed.

RFC 1229 describes settable variables; snmpd allows for these to be set. Refer to the previous entries for actual deviations.

Examples

The following examples use the snmpinfo command. It is assumed that the snmpinfo default community name, public, has read-write access for the respective MIB subtree.

snmpinfo -m set sysContact.0="Primary contact: Bob Smith, office phone: 555-5555, beeper: 9-123-4567. Secondary contact: John Harris, phone: 555-1234." 

This command sets the value of sysContact.0 to the specified string. If an entry for sysContact.0 already exists, it is replaced.

snmpinfo -m set sysName.0="bears.austin.ibm.com" 

This command sets the value of sysName.0 to the specified string. If an entry for sysName.0 already exists, it is replaced.

snmpinfo -m set sysLocation.0="Austin site, building 802, lab 3C-23, southeast corner of the room." 

This command sets the value of sysLocation.0 to the specified string. If an entry for sysLocation.0 already exists, it is replaced.

snmpinfo -m set ifAdminStatus.2=2 

This command disables the network interface adapter which has the ifIndex of 2. If the assigned value is 1, the interface adapter is enabled.

snmpinfo -m set atPhysAddress.2.1.192.100.154.2=02:60:8c:2e:c2:00
snmpinfo -m set ipNetToMediaPhysAddress.2.1.192.100.154.2=02:60:8c:2e:c2:00 

These two commands change the hardware address in the ARP table entry for 192.100.154.2 to 02:60:8c:2e:c2:00. These two commands affect the same ARP table entry. The MIB variable atPhysAddress is a deprecated variable and is being replaced with the MIB variable ipNetToMediaPhysAddress. Thus, atPhysAddress and ipNetToMediaPhysAddress access the same structure in the TCP/IP kernel ARP table.

snmpinfo -m set atNetAddress.2.1.192.100.154.2=192.100.154.3 
snmpinfo -m set ipNetToMediaNetAddress.2.1.192.100.154.2=192.100.154.3 

These commands change the IP address in the ARP table entry for 192.100.154.2 to 192.100.154.3. These two commands affect the same ARP table entry. The MIB variable atNetAddress is a deprecated variable and is being replaced with the MIB variable ipNetToMediaNetAddress. Thus, atNetAddress and ipNetToMediaNetAddress access the same structure in the TCP/IP kernel ARP table.

snmpinfo -m set ipForwarding.0=1 

This command sets the TCP/IP kernel so that it can forward packets if the agent's host has more than one interface that is up. If the host has only one active interface, then the set request fails and the snmpd agent returns the error, badValue.

snmpinfo -m set ipDefaultTTL=50 

This command allows an IP datagram using default time-to-live (TTL) to pass through up to 50 gateways before being discarded. When each gateway processes a datagram, the gateway subtracts 1 from the time-to-live field. In addition, each gateway decrements the time-to-live field by the number of seconds the datagram waited for service at that gateway before passing the datagram on to the next destination.

snmpinfo -m set ipRouteDest.192.100.154.0=192.100.154.5 

This command sets the destination IP address of the route associated with 192.100.154.0 to the IP address 192.100.154.5, assuming route 192.100.154 already existed.

snmpinfo -m set ipRouteNextHop.192.100.154.1=129.35.38.47 

This command sets a route to host 192.100.154.1 using the gateway host 129.35.38.47, assuming route 192.100.154.1 already existed.

snmpinfo -m set ipRouteNextHop.192.100.154.0=192.100.154.7 

This command sets a route to the class C network 192.100.154 using the gateway host 192.100.154.7, assuming route 192.100.154.0 already existed. Note that the host part of the address must be 0 to indicate a network address.

snmpinfo -m set ipRouteType.192.100.154.5=2 

This command deletes any route to host 192.100.154.5.

snmpinfo -m set ipRouteDest.129.35.128.1=129.35.128.1
                ipRouteType.129.35.128.1=3
             ipRouteNextHop.129.35.128.1=129.35.128.90

This command creates a new route from host 129.35.128.90 to 129.35.128.1 as a gateway.

snmpinfo -m set ipNetToMediaType.2.1.192.100.154.11=4

This command sets the ARP table entry for 192.100.154.11 to static.

snmpinfo -m set snmpEnableAuthenTraps=2

This command causes the snmpd agent on the specified host to not generate authenticationFailure traps.

snmpinfo -m set smuxPstatus.1=2

This command invalidates the SMUX peer 1. The side effect is that the connection between the snmpd agent and this SMUX peer is terminated.

snmpinfo -m set smuxTstatus.8.1.3.6.1.2.1.4.21.0=2 

This command invalidates or removes the mounting of the SMUX tree 1.3.6.1.2.1.4.21, the ipRoute Table. The first number in the instance indicates the number of levels in the SMUX tree identifier. The final number in the instance indicates the smuxTpriority. In this example, there are 8 levels in the SMUX tree identifier: 1.3.6.1.2.1.4.21. The priority, 0, is the highest priority.

snmpinfo -m set ifExtnsPromiscuous.1=1 ifExtnsPromiscuous.2=2 

This command turns on promiscuous mode for the first device in the interfaces table and turns off promiscuous mode for the second device in the interfaces table.

snmpinfo -m set ifExtnsTestType.1=testFullDuplexLoopBack  

This command starts the testFullDuplexLoopBack test on interface 1.

snmpinfo -m set ifExtnsRcvAddrStatus.1.129.35.128.1.3.2=2   

This command tells interface 1 to remove physical address 129.35.128.1.3.2 from its list of acceptable addresses.

snmpinfo -m set dot5Commands.1=2

This command tells the first interface to do an open.

snmpinfo -m set dot5RingSpeed.1=2 

This command tells the first interface to set it ring speed to 1 megabit.

snmpinfo -m set dot5ActMonParticipate.1=1 

This command tells the first interface to participate in the active monitor selection process.

snmpinfo -m set dot5Functional.1=255.255.255.255.255.255

This command sets the functional address mask to allow everything.

snmpinfo -m set fddimibSMTUserData.1="Greg's Data"  

This command set the user data on the first SMT entity to "Greg's Data".

snmpinfo -m set fddimibMACFrameErrorThreshold.1.1=345

This command set the threshold for frame errors to 345 on the first SMT entity's first MAC.

Note: All of the variables described earlier fall into one of the methods used above to set the variable.

Refer to Address Resolution Protocol and Internet Addresses for more information on protocols and Internet addresses.


[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]