Example #1
0
        private void GetMetric()
        {
            var r = IPNetHelper.GetInterface(IntfIndex);

            _defaultInterfaceMetric = r.Metric;
            Logger.Debug($"Get Metric on Interface({IntfIndex}): Metric={_defaultInterfaceMetric}");
        }
Example #2
0
        public void SetMtu(uint mtu)
        {
            Logger.Debug($"Setting MTU on Interface({IntfIndex})");
            var r = IPNetHelper.InitInterface(IntfIndex);

            r.NlMtu = mtu;
            IPNetHelper.SetInterface(r);
        }
Example #3
0
        public void RestoreMetric()
        {
            Logger.Debug($"Restoring Metric on Interface({IntfIndex})");
            var r = IPNetHelper.InitInterface(IntfIndex);

            r.Metric             = _defaultInterfaceMetric;
            r.UseAutomaticMetric = 1;
            IPNetHelper.SetInterface(r);
        }
Example #4
0
        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);
        }
Example #5
0
        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();
        }
Example #6
0
        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);
        }
Example #7
0
 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));
 }
Example #8
0
 public void DeleteRouteEntry(v4addr dest, v4addr mask, v4addr next)
 {
     IPNetHelper.DeleteIPForwardEntry(dest.ToUInt32(), mask.ToUInt32(), next.ToUInt32(), IntfIndex);
 }
Example #9
0
 private v4addr GetGatewayFromRouteTable()
 {
     return((from row in IPNetHelper.GetCurrentForwardTable()
             where row.dwForwardDest == 0
             select new v4addr(row.dwForwardNextHop)).FirstOrDefault());
 }