package jnetman.snmp;
import java.net.InetAddress;
import org.snmp4j.smi.Integer32;
import org.snmp4j.smi.IpAddress;
import org.snmp4j.smi.OID;
public final class MIB {
/*
* MIB-II Root
*/
public static final OID Mib2Root = new OID(".1.3.6.1.2.1");
/*
* System
*/
public static final OID System = new OID(Mib2Root).append(1);
public static final OID sysDescr = new OID(System).append(".1.0");
public static final OID sysUptime = new OID(System).append(".3.0");
/*
* MIB-II Interfaces
*/
public static final OID Interfaces = new OID(Mib2Root).append(2);
public static final OID IfNumber = new OID(Interfaces).append(".1.0");
public static final OID IfTable = new OID(Interfaces).append(2);
public static final OID IfTableEntry = new OID(IfTable).append(1);
public static final OID IfIndex = new OID(IfTableEntry).append(1);
public static final OID IfDescr = new OID(IfTableEntry).append(2);
public static final OID IfType = new OID(IfTableEntry).append(3);
public static final OID IfInOctets = new OID(IfTableEntry).append(10);
public static final OID IfOutOctets = new OID(IfTableEntry).append(16);
/*
* MIB-II Ip
*/
public static final OID Ip = new OID(Mib2Root).append(4);
public static final OID IpOutNoRoutes = new OID(Ip).append(".12.0");
public static final OID IpAddrTable = new OID(Ip).append(20);
public static final OID IpAddrEntry = new OID(IpAddrTable).append(1);
public static final OID IpAdEntAddr = new OID(IpAddrEntry).append(1);
public static final OID IpAdEntIfIndex = new OID(IpAddrEntry).append(2);
public static final OID IpAdEntNetMask = new OID(IpAddrEntry).append(3);
/*
* MIB-II Ip = new OID(.1.3.6.1.2.1.4
*/
public static final OID Ospf = new OID(Mib2Root).append(14);
public static final OID ospfIfMetricTable = new OID(Ospf).append(8);
public static final OID ospfIfMetricEntry = new OID(ospfIfMetricTable)
.append(1);
public static final OID ospfIfMetricValue = new OID(ospfIfMetricEntry)
.append(4);
/**
* Get the corresponding OID of the ospfIfMetricTable for the passed indexes
*
* @param entryOid
* ospfIfMetricEntry OID
* @param ipAddress
* ospfIfMetricIpAddress
* @param addressLessIf
* ospfIfMetricAddressLessIf
* @param ifMetricTos
* ospfIfMetricTOS
* @return The ospfIfMetricEntry OID completed with the indexes
*/
public static final OID getOspfIfMetricEntryOID(OID entryOid,
InetAddress ipAddress, int addressLessIf, int ifMetricTos) {
IpAddress addr = new IpAddress(ipAddress);
Integer32 lessIf = new Integer32(addressLessIf);
Integer32 tos = new Integer32(ifMetricTos);
return new OID(entryOid).append(addr.toSubIndex(false))
.append(lessIf.toSubIndex(false)).append(tos.toSubIndex(false));
}
}