1
0
mirror of https://github.com/openbsd/src.git synced 2024-12-22 16:42:56 -08:00
openbsd-src/usr.sbin/bgpd
claudio 442a03204b Cache the Adj-RIB-Out for sessions that have not been down for more than
INTERVAL_SESSION_DOWN (3600) seconds.

Rebuilding the Adj-RIB-Out is a lot of work while keeping the RIB in sync
is reasonably trivial. So avoid the work for the case that a session
was just quickly reset. This only works if the same peer settings are
used in the old and new session.

For this introduce a IMSG_SESSION_DELETE that tells the RDE to remove the
peer and split peer_down into a part that takes the session down (and
clears the Adj-RIB-In) and a part the frees the peer (peer_delete).
The SE now sends an IMSG_SESSION_ADD command on first connect and skips
that imsg on later connects unless IMSG_SESSION_DELETE was called before.
During config reload the IMSG_SESSION_ADD calls only need to happen when
the RDE actually has that information.

OK tb@
2024-12-12 20:19:03 +00:00
..
bgpd.8 Add support for extended messages (RFC8654) 2024-12-09 10:51:46 +00:00
bgpd.c Only set the SO_RCVBUF and SO_SNDBUF on the socketpair to what we want. 2024-12-03 13:46:53 +00:00
bgpd.conf.5 increaded -> increased 2024-12-09 11:38:38 +00:00
bgpd.h Cache the Adj-RIB-Out for sessions that have not been down for more than 2024-12-12 20:19:03 +00:00
carp.c Convert bzero() to memset(), bcmp() to memcmp() and bcopy() to memcpy(). 2022-08-17 15:15:25 +00:00
config.c Rework the pfkey and tcp md5 API to not depend on struct peer. 2024-10-01 11:49:24 +00:00
control.c Bump imsg size up to MAX_BGPD_IMSGSIZE (128k) to support extended messages 2024-12-02 15:03:17 +00:00
flowspec.c Use xoff instead of *olen in the shift_right() call. xoff is the right 2023-10-23 13:07:44 +00:00
kroute.c Qualifying nexthops via BGP does not properly work since nexthops need 2024-09-04 15:06:36 +00:00
log.c From a syslog perspective it does not make sense to log fatal and 2017-03-21 12:06:55 +00:00
log.h For portability include sys/types.h instead of sys/cdefs.h. 2020-10-21 06:48:33 +00:00
logmsg.c Tabs on empty line 2024-05-20 10:00:00 +00:00
Makefile Implement a basic API to work with flowspec NLRI. 2023-04-17 08:02:21 +00:00
mrt.c Teach mrt_dump_bgp_msg() to use ibufs 2024-11-21 13:34:01 +00:00
mrt.h spelling fixes; from paul tagliamonte 2022-12-28 21:30:15 +00:00
name2id.c If anything in name2id conversion fails then just return 0. 2022-06-16 15:30:12 +00:00
parse.y A lot of space fixing and other minor consitency fixes that have no 2024-12-10 16:29:07 +00:00
pfkey.c No need to check as->established before calling pfkey_remove(). 2024-10-02 09:45:29 +00:00
pftable.c Use an C99 anonymous union inside struct bgpd_addr 2024-02-13 16:35:43 +00:00
printconf.c Add support for extended messages (RFC8654) 2024-12-09 10:51:46 +00:00
rde_aspa.c Remove per-AFI ASPA handling in bgpd internals 2023-08-16 08:26:35 +00:00
rde_attr.c Be more careful with aspath that have 0 length (aka the empty AS_PATH). 2024-09-10 09:38:45 +00:00
rde_community.c community_copy needs to check if nentries is 0 and handle that specially. 2024-09-10 08:53:20 +00:00
rde_decide.c Introduce 'rde rib Loc-RIB include filtered' a feature that includes 2024-08-14 19:09:51 +00:00
rde_filter.c Properly handle references for nexthops and labels in filterset_copy() 2023-05-09 13:11:19 +00:00
rde_peer.c Cache the Adj-RIB-Out for sessions that have not been down for more than 2024-12-12 20:19:03 +00:00
rde_prefix.c Make the unknown AID case in pt_writebuf() a fatal error. 2024-12-10 13:29:47 +00:00
rde_rib.c Cache the Adj-RIB-Out for sessions that have not been down for more than 2024-12-12 20:19:03 +00:00
rde_sets.c Be more careful with aspath that have 0 length (aka the empty AS_PATH). 2024-09-10 09:38:45 +00:00
rde_trie.c spelling fixes; from paul tagliamonte 2022-12-28 21:30:15 +00:00
rde_update.c Add support for extended messages (RFC8654) 2024-12-09 10:51:46 +00:00
rde.c Cache the Adj-RIB-Out for sessions that have not been down for more than 2024-12-12 20:19:03 +00:00
rde.h Cache the Adj-RIB-Out for sessions that have not been down for more than 2024-12-12 20:19:03 +00:00
rtr_proto.c Adjust the msgbuf parser callbacks in bgpd to the new API. 2024-11-26 13:59:54 +00:00
rtr.c Remove the ASPA imsg size workaround now that imsg are large enough to 2024-12-02 15:13:57 +00:00
session.c Cache the Adj-RIB-Out for sessions that have not been down for more than 2024-12-12 20:19:03 +00:00
session.h Cache the Adj-RIB-Out for sessions that have not been down for more than 2024-12-12 20:19:03 +00:00
timer.c Make the timer code independent of struct peer this way it can be used 2020-12-11 12:00:01 +00:00
util.c ibuf_get_string() was added to the ibuf API, remove local version 2024-11-21 13:05:23 +00:00
version.h Bump version 2024-09-05 20:28:42 +00:00