Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Multi WAN switching connections even though packet loss thresholds not met

    Scheduled Pinned Locked Moved Routing and Multi WAN
    3 Posts 2 Posters 1.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Q Offline
      quadrinary
      last edited by

      I've got a 3-WAN environment doing purely failover.  We have a 2mbps DSL line, a 2mbps 3G connection, and a 128kbps VSAT backup.  Since the 3G is not unlimited bandwidth, this setup is in 3 tiers, failover only.

      The problem is that the DSL line isn't all that fantastic - it's got high latency sometimes and packet loss.  To avoid the 3G connection from kicking in too often, I set the latency high water marks on the DSL to be 1200-1500ms and the packet loss to be 40-50%.

      Even with these relatively high packet loss thresholds, the gateway statuses still give warnings (and subsequently remove the gateway from the routing group) at 20%!

      Looking in the auto-generated /var/etc/apinger.conf, the
      alarm loss "loss" {
             percent_low 10
             percent_high 20
      }

      parameters clearly are not reflecting what I set.  In each parameter set for my gateways, only the latency settings are there.  Is this a bug?  Is there somehow I can change this?

      Thanks,

      quad

      1 Reply Last reply Reply Quote 0
      • Q Offline
        quadrinary
        last edited by

        I'm quite sure I solved the problem -

        It's an error in /etc/inc/gwlb.inc on line 163.  It currently reads:

                        if (!empty($gateway['lowloss'])) {
        

        $gateway['lowloss'] does not exist in the config file, it is called $gateway['losslow'] as evidenced further down on line 165.

        I've corrected this on my own platform and line 163 is now:

                        if (!empty($gateway['losslow'])) {
        

        Things are now working properly.

        I will submit this to be corrected in a new release.

        1 Reply Last reply Reply Quote 0
        • D Offline
          dhatz
          last edited by

          Quickest way would be to make the change on a local copy at github, and then do a pull request:

          https://github.com/bsdperimeter/pfsense/commits/master

          1 Reply Last reply Reply Quote 0
          • First post
            Last post
          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.