master
Harald Wolff 2019-04-02 01:25:47 +02:00
parent d96575830a
commit d96d44c083
2 changed files with 2873 additions and 6 deletions

File diff suppressed because it is too large Load Diff

View File

@ -15,6 +15,7 @@ using ln.snmp.types;
using System.Linq;
using ln.types;
using ln.logging;
using ln.types.net;
namespace ln.snmp.rfc1213
{
public static class RFC1213
@ -36,7 +37,10 @@ namespace ln.snmp.rfc1213
Interface intf = new Interface();
intf.Name = (row[0].Items[1] as OctetString).StringValue;
intf.HWAddr = BitConverter.ToString((row[1].Items[1] as OctetString).Bytes); // ToDo: Identify NULL Ref Exception thrown by this line!
if (row[1] != null)
intf.HWAddr = BitConverter.ToString((row[1].Items[1] as OctetString).Bytes);
else
intf.HWAddr = "";
interfaces.Add(index.OIDValue[0],intf);
}
@ -56,11 +60,12 @@ namespace ln.snmp.rfc1213
if (interfaces.ContainsKey(ifIndex))
{
interfaces[ifIndex].AddIPAddress(new CIDR(ip,mask));
IPv4 ipv4 = ip;
IPv4 mask4 = mask;
interfaces[ifIndex].Add(ipv4,mask4);
}
}
return interfaces.Values.ToArray();
}
@ -69,18 +74,21 @@ namespace ln.snmp.rfc1213
{
public String Name { get; set; }
public String HWAddr { get => hwaddr; set => hwaddr = value; }
public CIDR[] IPAddresses => _IPAddresses.ToArray();
public IPv4[] IPAddresses => _IPAddresses.ToArray();
public IPv4[] Netmasks => _Netmasks.ToArray();
private List<CIDR> _IPAddresses = new List<CIDR>();
private List<IPv4> _IPAddresses = new List<IPv4>();
private List<IPv4> _Netmasks = new List<IPv4>();
private String hwaddr;
public Interface()
{
}
public void AddIPAddress(CIDR ip)
public void Add(IPv4 ip,IPv4 netmask)
{
_IPAddresses.Add(ip);
_Netmasks.Add(netmask);
}
public override string ToString()