Routing decision based on carp status under freebsd
Manon Goo
lists at manon.de
Mon Mar 15 20:46:00 CET 2021
Hello,
I would like announce routes differently via bgp (longer AS-Path)
depending on, if carp(4) status is "master" or "backup". If the carp
status is „Master“ Status the shows up as a kernel route to the
carp(4) address. If carp is in "Backup“ status the route is removed.
**Master Status for carp IP 10.8.15.254**
bird> show route 10.8.15.254/32 all
10.8.15.254/32 dev lo0 [kernel1 00:06:42] * (10)
Type: inherit unicast univ
Kernel.source: 1
Kernel.metric: 0
bird>
**Backup Status for carp IP 10.8.15.254**
bird> show route 10.8.15.254/32 all
Network not in table
bird>
If possible I would like to check in my bgp export filter if I have a
kernel route to my carp address (10.8.15.254) and if possible if this
route is via the loopback dev lo0
Is there any function to lookup a route in bird that could be used in
the following scenario?
filter bgp_export {
if ( [ check_if_10.8.15.254/32 is via lo0] ) {
bgp_local_pref = 120;
accept;
} else {
bgp_path.prepend(65534);
accept;
}
}
Kind regards,
Manon
More information about the Bird-users
mailing list