Open TheMysteriousX opened 1 month ago
I believe that if you enable adj-rib out on the peer, exabgp should behave as you wish.
If you mean the upstream, it's a Juniper device which I think only operates with (the equivalent of) adj-rib-in/out.
On exabgp it looks like it defaults to on - I set in the config anyway and toggled it between false/true, but didn't see any change in the rate of update messages sent upstream.
# exabgpcli show neighbor configuration 10.0.0.0
neighbor 10.0.0.0 {
description "";
router-id 10.0.0.1;
host-name host;
domain-name host;
local-address 10.0.0.1;
local-as 4200000006;
peer-as 4200000007;
hold-time 180;
rate-limit disable;
manual-eor false;
passive false;
group-updates true;
auto-flush true;
adj-rib-in true;
adj-rib-out true;
md5-password "password";
md5-base64 auto;
md5-ip "10.0.0.1";
capability {
asn4 enable;
route-refresh disable;
graceful-restart 180;
nexthop disable;
add-path disable;
multi-session disable;
operational disable;
aigp disable;
}
family {
ipv4 unicast;
}
nexthop {
}
add-path {
}
api {
processes [ watch ];
}
}
I need to look at the code, but we allow users to remove routes that exabgp did not originate. It may be more of a feature than a bug.
Bug Report
Describe the bug
We have Exabgp on a number of hosts, using the healthcheck.py script for detecting if the service is online or not. A number are intentionally down at any given time as the application runs active/passive.
When the healthcheck starts returning down, we're seeing Exabgp send an update message upstream on every health check execution.
This doesn't occur on active hosts - it sends an update when the state transitions and that's it, which makes me think this is either unintended behaviour, or I screwed up the config.
It's not a massive issue, but it does put avoidable load of the upstream router.
To Reproduce
I've removed one other neighbour config (IPv6, the application handles it differently so there's no healthcheck on that).
Addresses have been changed, but have been changed deterministically.
Expected behavior
Updates should be sent on state transition, not on every failure.
Environment (please complete the following information):
Additional context