CVSROOT: /cvs Module name: src Changes by: clau...@cvs.openbsd.org 2022/08/16 02:14:58
Modified files: usr.sbin/bgpd : kroute.c rde.c Log message: Do not send kroutes from the RDE to the FIB with the true_nexthop but instead use exit_nexthop (the nexthop from BGP). The FIB code can then do the lookup and replace the nexthop in the FIB. This solves an issue when multiple nexthops change concurrently. In the RDE the decision process handles these changes ansynchronously which resulted in bad true_nexthops to be sent to the FIB. The exit_nethop is stable so the data sent to the FIB is always correct. Fix a bug in netxhop tracking introduced in 1.280. On RTM_CHANGE when the nexthop of a kroute changes a knexthop_send_update() must be sent but knexthop_track() does not do that because the kroute did not change. Introduce a knexthop_update() function for this case instead. OK tb@