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

    new if_pppoe Backend - getting HA/CARP to work like in MPD

    Scheduled Pinned Locked Moved Development
    23 Posts 3 Posters 1.1k Views 3 Watching
    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.
    • zjamaliZ Offline
      zjamali @perrin
      last edited by

      @perrin i have downloaded and try on my env and i encounter that the pppoe interface still up on backup node. I have leave 2 issue into github project.

      P 1 Reply Last reply Reply Quote 0
      • P Online
        perrin @zjamali
        last edited by

        @zjamali Did you try a manual reconcile?
        Can you post the log output and your config?

        zjamaliZ 2 Replies Last reply Reply Quote 0
        • zjamaliZ Offline
          zjamali @perrin
          last edited by

          This post is deleted!
          1 Reply Last reply Reply Quote 0
          • zjamaliZ Offline
            zjamali @perrin
            last edited by zjamali

            @perrin as below the only log i have. i clicked the reconcile now button.

            06450cd0-5f10-4563-a1af-c5f7f754c933-image.png

            660df45e-cc52-4427-a8a6-599566b008ab-image.png

            adf66155-9568-4bb0-883a-883a9bede5b6-image.png

            P 1 Reply Last reply Reply Quote 0
            • P Online
              perrin @zjamali
              last edited by

              @zjamali i suspect that i might have an old pkg in the github repo. can you please check the file pppoe_ha_even.php (in /usr/local/sbin) and check if the function reconcile_all (line 176ff) looks like this:

              function reconcile_all() {
                  $rows = ppha_get_rows();
                  if (!$rows){ ha_log("Reconcile: no mappings configured"); return; }
                  ha_log("Running reconcile for all configured mappings");
                  $vips = config_get_path('virtualip/vip', []);
                  foreach ($rows as $row) {
                      if (empty($row['enabled']) || empty($row['vipref']) || empty($row['iface'])) continue;
                      $vip = $vips[$row['vipref']] ?? null;
                      if (!$vip || ($vip['mode'] ?? '')!=='carp') continue;
                      $vhid = (int)($vip['vhid'] ?? -1); if ($vhid<0) continue;
              
                      $state = get_carp_state_for_vhid($vhid) ?? 'INIT';
                      $friendly = (string)$row['iface'];
                      $real = real_ifname_for_friendly($friendly);
                      if (!$real){ ha_log("Reconcile: {$friendly} real if not found; skip"); continue; }
              
                      if ($state==='MASTER'){ ha_log("Reconcile: VHID {$vhid} MASTER - UP {$friendly} ({$real})"); iface_up($real); }
                      elseif ($state==='BACKUP'){ ha_log("Reconcile: VHID {$vhid} BACKUP - DOWN {$friendly} ({$real})"); iface_down($real); }
                      elseif ($state==='INIT'){ ha_log("Reconcile: VHID {$vhid} INIT - DOWN {$friendly} ({$real})"); iface_down($real); }
                      else { ha_log("Reconcile: VHID {$vhid} {$state} - no action"); }
                  }
              }
              

              the script should log the set interface states (UP, DOWN) in the log - thats why I am wondering...

              zjamaliZ 1 Reply Last reply Reply Quote 0
              • zjamaliZ Offline
                zjamali @perrin
                last edited by

                @perrin i have compared with yours above, its match

                07a8f498-519d-4529-8c1b-831f7d5fea4e-image.png

                zjamaliZ 1 Reply Last reply Reply Quote 0
                • zjamaliZ Offline
                  zjamali @zjamali
                  last edited by zjamali

                  seems like $rows not getting any value and not go into the foreach loop

                  too soon, its already have the return for no mapping

                  P 1 Reply Last reply Reply Quote 0
                  • P Online
                    perrin @zjamali
                    last edited by

                    @zjamali said in new if_pppoe Backend - getting HA/CARP to work like in MPD:

                    seems like $rows not getting any value and not go into the foreach loop

                    yes, this is what i am suspecting as well. can you check your config.xml and look for the <pppoeha> section. it should look something like this:

                     <pppoeha>
                                            <config>
                                                    <row>
                                                            <enabled>ON</enabled>
                                                            <iface>wan</iface>
                                                            <vipref>17</vipref>
                                                    </row>
                                            </config>
                                    </pppoeha>
                    
                    
                    zjamaliZ 1 Reply Last reply Reply Quote 0
                    • zjamaliZ Offline
                      zjamali @perrin
                      last edited by

                      @perrin said in new if_pppoe Backend - getting HA/CARP to work like in MPD:

                      yes, this is what i am suspecting as well. can you check your config.xml and look for the <pppoeha> section. it should look something like this:

                       <pppoeha>
                                              <config>
                                                      <row>
                                                              <enabled>ON</enabled>
                                                              <iface>wan</iface>
                                                              <vipref>17</vipref>
                                                      </row>
                                              </config>
                                      </pppoeha>
                      
                      

                      Where i can find this config.xml?

                      P 1 Reply Last reply Reply Quote 0
                      • P Online
                        perrin @zjamali
                        last edited by

                        @zjamali ah sorry. you can either download a backup (under backup/restore) or directly on the box with ssh do something like:

                        grep -A10 pppoeha /conf/config.xml
                        
                        zjamaliZ 1 Reply Last reply Reply Quote 0
                        • zjamaliZ Offline
                          zjamali @perrin
                          last edited by

                          @perrin

                          8f2b1f12-3b3a-4c8c-b766-4c46b18e92d6-image.png

                          zjamaliZ 1 Reply Last reply Reply Quote 0
                          • zjamaliZ Offline
                            zjamali @zjamali
                            last edited by zjamali

                            said in new if_pppoe Backend - getting HA/CARP to work like in MPD:

                            @perrin

                            8f2b1f12-3b3a-4c8c-b766-4c46b18e92d6-image.png

                            is it because vipref == 0? my first vhid comes with id = 0

                            Yup, that cause it. i changed to VHID LAN, id != 0, its appear in log

                            b9192824-2109-4fc4-9669-2606abe34436-image.png

                            P 1 Reply Last reply Reply Quote 0
                            • P Online
                              perrin @zjamali
                              last edited by

                              @zjamali great, thanks for figuring that out. I need to check why it's not working with vipref=0.

                              currently i have no idea why this happens. vipref 0 is just the first item in the vips. config_get_path is a standard pfsense function.

                              Maybe it is something with the way you configured that vip? is your first VIP configured differently ffrom the one you were using later?

                              zjamaliZ 1 Reply Last reply Reply Quote 0
                              • zjamaliZ Offline
                                zjamali @perrin
                                last edited by

                                @perrin Its the first vip configured in both pfsense node. So it gets id = 0.

                                P 1 Reply Last reply Reply Quote 0
                                • P Online
                                  perrin @zjamali
                                  last edited by

                                  @zjamali this is the way the dropdown in the PPPoE-HA GUI looks in my production firewall:

                                  2115036b-f0fa-4528-a8e0-b08059022544-grafik.png
                                  in my case VHID 18 is the one that is configured for failover.

                                  Can you check if yours maybe starts with VHID 0?

                                  zjamaliZ 1 Reply Last reply Reply Quote 0
                                  • zjamaliZ Offline
                                    zjamali @perrin
                                    last edited by zjamali

                                    @perrin Mine also start with VHID 1 but if you go to Firewall -> Virtual IP, there is listing of all VIP, you hover on the edit button for first VHID, the url link will say its id=0

                                    id = 0 is for internal system id for record creation whilst VHID 1 is for user POV, if i am not mistaken.

                                    P 1 Reply Last reply Reply Quote 0
                                    • P Online
                                      perrin @zjamali
                                      last edited by

                                      @zjamali yep, same here. I'll debug why it is not working on the first VIP later.
                                      Can you temporarely work with a different VIP?

                                      zjamaliZ 1 Reply Last reply Reply Quote 0
                                      • zjamaliZ Offline
                                        zjamali @perrin
                                        last edited by

                                        @perrin said in new if_pppoe Backend - getting HA/CARP to work like in MPD:

                                        @zjamali yep, same here. I'll debug why it is not working on the first VIP later.
                                        Can you temporarely work with a different VIP?

                                        Should be OK. no issue

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