Refactor the code that generates updates so that up_generate_updates is
authorclaudio <claudio@openbsd.org>
Thu, 7 Jul 2022 10:46:54 +0000 (10:46 +0000)
committerclaudio <claudio@openbsd.org>
Thu, 7 Jul 2022 10:46:54 +0000 (10:46 +0000)
commit434c625812acf91c6e3b3f384c7b8ef0a61058c1
tree8934e824ffa6ff62bbbe2bc1facfea3d917fd94a
parent83b8c2122a29aabf73017c79ca388b6eaad5eb3f
Refactor the code that generates updates so that up_generate_updates is
only called in one spot.

rde_generate_updates() gets a enum eval_mode argument to discern
the different cases. peer_generate_update() uses the eval_mode to skip
the update if it is not needed.
While there also add an extra AID check in IMSG_REFRESH case to make sure
the requested AID is actually available for this peer.
OK tb@
usr.sbin/bgpd/rde.c
usr.sbin/bgpd/rde.h
usr.sbin/bgpd/rde_decide.c
usr.sbin/bgpd/rde_peer.c