WIP
parent
8e17a1bb6b
commit
0c1ea61a23
|
@ -23,6 +23,20 @@ namespace ln.snmp
|
||||||
{
|
{
|
||||||
public static bool DEBUG = false;
|
public static bool DEBUG = false;
|
||||||
|
|
||||||
|
private static SNMPEngine __default = null;
|
||||||
|
public static SNMPEngine DefaultEngine
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (__default == null)
|
||||||
|
__default = new SNMPEngine();
|
||||||
|
return __default;
|
||||||
|
}
|
||||||
|
set => __default = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public UdpClient LocalEndpoint { get; private set; }
|
public UdpClient LocalEndpoint { get; private set; }
|
||||||
public int Timeout { get; set; } = 1000;
|
public int Timeout { get; set; } = 1000;
|
||||||
|
|
||||||
|
|
|
@ -134,7 +134,7 @@ namespace ln.snmp
|
||||||
ObjectIdentifier oid = v.Items[0] as ObjectIdentifier;
|
ObjectIdentifier oid = v.Items[0] as ObjectIdentifier;
|
||||||
if (OIDs[c].Contains(oid))
|
if (OIDs[c].Contains(oid))
|
||||||
{
|
{
|
||||||
row[c] = new Sequence(new Variable[] { oid.IndexTo(OIDs[c]), v.Items[1] });
|
row[c] = new Sequence(new Variable[] { OIDs[c].IndexTo(oid), v.Items[1] });
|
||||||
inTree = true;
|
inTree = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -174,7 +174,7 @@ namespace ln.snmp
|
||||||
ObjectIdentifier oid = ps.Items[0] as ObjectIdentifier;
|
ObjectIdentifier oid = ps.Items[0] as ObjectIdentifier;
|
||||||
if (objectIdentifier.Contains(oid))
|
if (objectIdentifier.Contains(oid))
|
||||||
{
|
{
|
||||||
results.Add(new Sequence(new Variable[] { oid.IndexTo(objectIdentifier), ps.Items[1] }));
|
results.Add(new Sequence(new Variable[] { objectIdentifier.IndexTo(oid), ps.Items[1] }));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return results;
|
return results;
|
||||||
|
|
|
@ -20,7 +20,7 @@ namespace ln.snmp.rfc1213
|
||||||
public static class RFC1213
|
public static class RFC1213
|
||||||
{
|
{
|
||||||
|
|
||||||
public static Interface[] GetInterfaces(SnmpEndpoint endpoint)
|
public static Interface[] GetInterfaces(SnmpInterface endpoint)
|
||||||
{
|
{
|
||||||
Dictionary<int,Interface> interfaces = new Dictionary<int,Interface>();
|
Dictionary<int,Interface> interfaces = new Dictionary<int,Interface>();
|
||||||
ObjectIdentifier baseOID = new ObjectIdentifier("1.3.6.1.2.1.2.2.1.2");
|
ObjectIdentifier baseOID = new ObjectIdentifier("1.3.6.1.2.1.2.2.1.2");
|
||||||
|
|
|
@ -54,14 +54,14 @@ namespace ln.snmp.types
|
||||||
|
|
||||||
public ObjectIdentifier IndexTo(ObjectIdentifier b)
|
public ObjectIdentifier IndexTo(ObjectIdentifier b)
|
||||||
{
|
{
|
||||||
if (!b.Contains(this))
|
if (!Contains(b))
|
||||||
throw new FormatException("OID is not below base OID");
|
throw new FormatException("OID is not below base OID");
|
||||||
|
|
||||||
int[] me = OIDValue;
|
int[] me = OIDValue;
|
||||||
int[] you = b.OIDValue;
|
int[] you = b.OIDValue;
|
||||||
|
|
||||||
int[] result = new int[me.Length - you.Length];
|
int[] result = new int[you.Length - me.Length];
|
||||||
Array.Copy(me, you.Length, result, 0, result.Length);
|
Array.Copy(you, me.Length, result, 0, result.Length);
|
||||||
|
|
||||||
return new ObjectIdentifier(result);
|
return new ObjectIdentifier(result);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue