private void GetMetric() { var r = IPNetHelper.GetInterface(IntfIndex); _defaultInterfaceMetric = r.Metric; Logger.Debug($"Get Metric on Interface({IntfIndex}): Metric={_defaultInterfaceMetric}"); }
public void SetMtu(uint mtu) { Logger.Debug($"Setting MTU on Interface({IntfIndex})"); var r = IPNetHelper.InitInterface(IntfIndex); r.NlMtu = mtu; IPNetHelper.SetInterface(r); }
public void RestoreMetric() { Logger.Debug($"Restoring Metric on Interface({IntfIndex})"); var r = IPNetHelper.InitInterface(IntfIndex); r.Metric = _defaultInterfaceMetric; r.UseAutomaticMetric = 1; IPNetHelper.SetInterface(r); }
public void SetMetric(uint metric) { Logger.Debug($"Setting Metric on Interface({IntfIndex})"); var r = IPNetHelper.InitInterface(IntfIndex); r.Metric = metric; r.UseAutomaticMetric = 0; IPNetHelper.SetInterface(r); }
public VpnRoute() { Tunnel = new NetIntf(TapDeviceFunc.GetTapDevice(Program.UserConfig.TapIntfaceName)); var intf = Diagnostic.GetBestInterface(Program.UserConfig.CurrentProfile.ServerIp); _origin = intf == null ? new NetIntf(IPNetHelper.GetBestIntf(Program.UserConfig.CurrentProfile.ServerIp.ToUInt32())) : new NetIntf(intf); _chnRouteOn = false; _originGateway = GetGateway(); }
public void SetIgnoreDefaultRoute(bool setting) { Logger.Debug(setting ? $"Ignoring Default Route on Interface({IntfIndex})" : $"Reverting Default Route on Interface({IntfIndex})"); var r = IPNetHelper.InitInterface(IntfIndex); r.DisableDefaultRoutes = (byte)(setting ? 1 : 0); IPNetHelper.SetInterface(r); }
public void AddRouteEntry(v4addr dest, v4addr mask, v4addr next, uint metric = 0) { IPNetHelper.CreateIPForwardEntry(dest.ToUInt32(), mask.ToUInt32(), next.ToUInt32(), IntfIndex, (int)(metric == 0 ? _defaultInterfaceMetric : _defaultInterfaceMetric + metric)); }
public void DeleteRouteEntry(v4addr dest, v4addr mask, v4addr next) { IPNetHelper.DeleteIPForwardEntry(dest.ToUInt32(), mask.ToUInt32(), next.ToUInt32(), IntfIndex); }
private v4addr GetGatewayFromRouteTable() { return((from row in IPNetHelper.GetCurrentForwardTable() where row.dwForwardDest == 0 select new v4addr(row.dwForwardNextHop)).FirstOrDefault()); }