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

    What CARP interface name I must use for OpenBGP "Depend on" parameter? v2.2

    Scheduled Pinned Locked Moved HA/CARP/VIPs
    22 Posts 8 Posters 5.0k 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.
    • C
      cmb
      last edited by

      There unfortunately isn't an exact replacement for that in the CARP in FreeBSD 10.1.

      But you can effectively accomplish the same thing by stopping/starting bpgd with CARP master status. Just add the start/stop to /etc/rc.carpbackup and /etc/rc.carpmaster. Those are executed when CARP switches to backup and master status, respectively. Start on master, stop on backup.

      1 Reply Last reply Reply Quote 0
      • C
        czar
        last edited by

        @czar:

        @Dmitriy:

        Where I can find the right CARP interface name for OpenBGP configuration?

        exact same issue here..  :(

        okey, so i hacked it a bit

        I had two interfaces available, so I have made a loopcabel from em3 to em4 on both my pfsense servers

        upped both interfaces on carp MASTER

        upped em4 on carp BACKUP

        made this change to /etc/devd.conf

        /etc: cat /etc/devd.conf

        $Id$

        $FreeBSD: src/etc/devd.conf,v 1.26.2.1 2005/09/03 22:49:22 sam Exp $

        options {
        directory "/etc/devd";
        directory "/usr/local/etc/devd";
        pid-file "/var/run/devd.pid";
        set scsi-controller-regex
        "(aac|adv|adw|aha|ahb|ahc|ahd|aic|amd|amr|asr|bt|ciss|ct|dpt|
        esp|ida|iir|ips|isp|mlx|mly|mpt|ncr|ncv|nsp|stg|sym|trm|wds)
        [0-9]+";
        };

        CARP notify hooks. This will call carpup/carpdown with the

        interface (carp0, carp1) as the first parameter.

        notify 100 {
            match "system"          "CARP";
            match "type"            "MASTER";
            action "/sbin/ifconfig em3 up && /usr/local/sbin/pfSctl -c 'interface carpmaster $subsystem'";
        };

        notify 100 {
            match "system"          "CARP";
            match "type"            "BACKUP";
            action "/sbin/ifconfig em3 down && /usr/local/sbin/pfSctl -c 'interface carpbackup $subsystem'";
        };

        When a USB keyboard arrives, attach it as the console keyboard.

        attach 100 {
        device-name "ukbd0";
        action "kbdcontrol -k /dev/ukbd0 < /dev/console 2>/dev/null";
        };

        detach 100 {
        device-name "ukbd0";
        action "kbdcontrol -k /dev/kbd0 < /dev/console 2>/dev/null";
        };

        Signal upper levels that an event happened on ethernet class interface

        notify 0 {
                match "system"          "IFNET";
                match "type"            "LINK_UP";
                media-type              "ethernet";
        action "/usr/local/sbin/pfSctl -c 'interface linkup start $subsystem'";
        };

        notify 0 {
                match "system"          "IFNET";
        match "type"            "LINK_DOWN";
        media-type              "ethernet";
        action "/usr/local/sbin/pfSctl -c 'interface linkup stop $subsystem'";
        };

        Signal upper levels that an event happened on 802.11 class interface

        notify 0 {
                match "system"          "IFNET";
                match "type"            "LINK_UP";
        match "subsystem" "[a-z]+[0-9]+_wlan[0-9]+";
        action "/usr/local/sbin/pfSctl -c 'interface linkup start $subsystem'";
        };

        Notify all users before beginning emergency shutdown when we get

        a _CRT or _HOT thermal event and we're going to power down the system

        very soon.

        notify 10 {
        match "system" "ACPI";
        match "subsystem" "Thermal";
        match "notify" "0xcc";
        action "logger -p kern.emerg 'WARNING: system temperature too high, shutting down soon!'";
        };

        note the ifconfig em3 up and down commands that are now included

        openbgpd now "depends on em3" where i usually used the carp interface

        works like a charm…

        ... todo:

        might need to save devd.conf and recopy it to /etc doing boot, and restart devd

        1 Reply Last reply Reply Quote 0
        • D
          Dmitriy Ivanov
          last edited by

          @czar:

          @czar:

          @Dmitriy:

          Where I can find the right CARP interface name for OpenBGP configuration?

          exact same issue here..  :(

          okey, so i hacked it a bit

          I had two interfaces available, so I have made a loopcabel from em3 to em4 on both my pfsense servers

          upped both interfaces on carp MASTER

          upped em4 on carp BACKUP

          made this change to /etc/devd.conf

          Very curious, but I have a pure virtual production environment at the problem site. Anyway, I switched back to 2.1.5.

          1 Reply Last reply Reply Quote 0
          • D
            dniesen
            last edited by

            Piggy-backing on this thread a bit as I'm setting up OpenBGP with CARP right now and didn't realize 2.2 had this issue.

            Has anybody found a clean way to get this working or is the only option to fall back to 2.1.5 now?  My worry is that upgrading to 2.2 after implementing all of this on 2.1.5 is going to be a nightmare.

            1 Reply Last reply Reply Quote 0
            • dotdashD
              dotdash
              last edited by

              Did you try CMB's suggestion of editing the scripts?

              1 Reply Last reply Reply Quote 0
              • D
                dniesen
                last edited by

                I somehow glossed over that part of the post, thanks for pointing that out.

                That looks simple enough my only worry is how might editing those scripts impact future upgrades?

                1 Reply Last reply Reply Quote 0
                • dotdashD
                  dotdash
                  last edited by

                  Yeah, it would get wiped on upgrade but you could just re-add it…

                  1 Reply Last reply Reply Quote 0
                  • D
                    dniesen
                    last edited by

                    That can certainly be done, I'm not a huge fan of having exceptions to remember after I upgrade (or leaving those surprises for the next guy) but maybe a temporary workaround until this is sorted in the 2.2 series.

                    Would this handle preventing/starting that service when the firewall reboots as well then since CARP wouldn't be master on reboot?

                    1 Reply Last reply Reply Quote 0
                    • dotdashD
                      dotdash
                      last edited by

                      Per Chris, the scripts execute when the firewall switches to master or backup, so it shouldn't start until the fw returns to master status.

                      1 Reply Last reply Reply Quote 0
                      • DerelictD
                        Derelict LAYER 8 Netgate
                        last edited by

                        I take it the same method could be utilized for Quagga?

                        Chattanooga, Tennessee, USA
                        A comprehensive network diagram is worth 10,000 words and 15 conference calls.
                        DO NOT set a source address/port in a port forward or firewall rule unless you KNOW you need it!
                        Do Not Chat For Help! NO_WAN_EGRESS(TM)

                        1 Reply Last reply Reply Quote 0
                        • D
                          dniesen
                          last edited by

                          That makes sense, thank you.  I've been looking at the /etc/rc.carpbackup and /etc/rc.carpmaster scripts, I would assume the best place to stop/start OpenBGPd would be at the end of the script.

                          Is there a recommended way to restart this service without issuing a shell command via PHP or is that the only way to do it?  I see other services that are built in can be restarted by including a file and then there's a function that performs the restart, not sure if that's the case with OpenBGP

                          1 Reply Last reply Reply Quote 0
                          • D
                            dniesen
                            last edited by

                            Anybody have any thoughts on how I can stop/start this service from the php scripts as suggested?

                            1 Reply Last reply Reply Quote 0
                            • G
                              gabi
                              last edited by

                              I`m interested too  8)

                              1 Reply Last reply Reply Quote 0
                              • D
                                dniesen
                                last edited by

                                Bump.

                                1 Reply Last reply Reply Quote 0
                                • jimpJ
                                  jimp Rebel Alliance Developer Netgate
                                  last edited by

                                  I added a CARP status field and code to support it on the latest version of the OpenBGPD package.

                                  Notes on its use here:
                                  https://doc.pfsense.org/index.php/OpenBGPD_package

                                  2.2-RELEASE through 2.2.2-RELEASE will need a small patch via System Patches for it to work properly (linked on the article). On 2.2.3 it will work without anything extra, just fill in the CARP status VIP box and Save.

                                  Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                                  Need help fast? Netgate Global Support!

                                  Do not Chat/PM for help!

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    dniesen
                                    last edited by

                                    Note that the patch URL doesn't seem to be provided on the Wiki:

                                    http://files.atx.pfsense.org/jimp/patches/carp-status-fix.diff

                                    1 Reply Last reply Reply Quote 0
                                    • jimpJ
                                      jimp Rebel Alliance Developer Netgate
                                      last edited by

                                      Thanks for catching that, apparently I pasted in the wrong URL there. Should be good now!

                                      Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                                      Need help fast? Netgate Global Support!

                                      Do not Chat/PM for help!

                                      1 Reply Last reply Reply Quote 0
                                      • G
                                        gabi
                                        last edited by

                                        thank you jimp
                                        I already switch to new 2.2.2 with this patch
                                        I made a short test but when I switch back to master, bgp remains in ACTIVE for 2 sessions from a total of 4
                                        I wil make more tests on this weekend

                                        P.S: attached my old 2.0.2 uptime  8)

                                        ![pfsense master.PNG](/public/imported_attachments/1/pfsense master.PNG)
                                        ![pfsense master.PNG_thumb](/public/imported_attachments/1/pfsense master.PNG_thumb)

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