summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/rde.h
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2022-08-26 14:10:53 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2022-08-26 14:10:53 +0000
commit6b9302e195f8a83a9aaac63315f7f242d66237df (patch)
tree5959d565c5bd924f413c4ef06419f1236a80b56c /usr.sbin/bgpd/rde.h
parent382a85f2013a0026c061dc118a55f989f9deb274 (diff)
Handle IMSG_SESSION_* messages immediatly when received and do not put
them on the per peer imsg queue. This is mainly for IMSG_SESSION_DOWN. Delaying the session down can race against IMSG_SESSION_ADD which is handled immediatly and as a result an establised connection may be removed in the RDE because of it. The various graceful restart imsgs need similar treatment for similar reasons. In the end when a session is reset/closed the RDE needs to stop all work and flush the per peer imsg queue. With this only update and route refresh messages are handled via the imsg queue. OK tb@
Diffstat (limited to 'usr.sbin/bgpd/rde.h')
-rw-r--r--usr.sbin/bgpd/rde.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.sbin/bgpd/rde.h b/usr.sbin/bgpd/rde.h
index 0160f6b7f59..3508b07f767 100644
--- a/usr.sbin/bgpd/rde.h
+++ b/usr.sbin/bgpd/rde.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: rde.h,v 1.262 2022/08/03 08:56:23 claudio Exp $ */
+/* $OpenBSD: rde.h,v 1.263 2022/08/26 14:10:52 claudio Exp $ */
/*
* Copyright (c) 2003, 2004 Claudio Jeker <claudio@openbsd.org> and
@@ -418,10 +418,10 @@ struct rde_peer *peer_get(uint32_t);
struct rde_peer *peer_match(struct ctl_neighbor *, uint32_t);
struct rde_peer *peer_add(uint32_t, struct peer_config *);
-int peer_up(struct rde_peer *, struct session_up *);
+void peer_up(struct rde_peer *, struct session_up *);
void peer_down(struct rde_peer *, void *);
void peer_flush(struct rde_peer *, uint8_t, time_t);
-void peer_stale(struct rde_peer *, uint8_t);
+void peer_stale(struct rde_peer *, uint8_t, int);
void peer_dump(struct rde_peer *, uint8_t);
void peer_begin_rrefresh(struct rde_peer *, uint8_t);