public override long GetScopeId(ScopeLevel scopeLevel)
{
- throw new PlatformNotSupportedException(SR.net_InformationUnavailableOnPlatform);
+ if (scopeLevel == ScopeLevel.None || scopeLevel == ScopeLevel.Interface ||
+ scopeLevel == ScopeLevel.Link || scopeLevel == ScopeLevel.Subnet)
+ {
+ return _linuxNetworkInterface.Index;
+ }
+
+ return 0;
}
}
}
foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
_log.WriteLine("Nic: " + nic.Name);
+ _log.WriteLine("- Speed:" + nic.Speed);
_log.WriteLine("- Supports IPv4: " + nic.Supports(NetworkInterfaceComponent.IPv4));
_log.WriteLine("- Supports IPv6: " + nic.Supports(NetworkInterfaceComponent.IPv6));
+ Assert.False(nic.IsReceiveOnly);
IPInterfaceProperties ipProperties = nic.GetIPProperties();
_log.WriteLine("Index: " + ipv6Properties.Index);
_log.WriteLine("Mtu: " + ipv6Properties.Mtu);
- Assert.Throws<PlatformNotSupportedException>(() => ipv6Properties.GetScopeId(ScopeLevel.Link));
+ _log.WriteLine("Scope: " + ipv6Properties.GetScopeId(ScopeLevel.Link));
}
}
Array values = Enum.GetValues(typeof(ScopeLevel));
foreach (ScopeLevel level in values)
{
- Assert.Throws<PlatformNotSupportedException>(() => ipv6Properties.GetScopeId(level));
+ _log.WriteLine("-- Level: " + level + "; " + ipv6Properties.GetScopeId(level));
}
}
}