summaryrefslogtreecommitdiff
path: root/nest
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2023-08-21 04:20:32 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2023-08-21 04:24:15 +0200
commit52641e086675832e9f43f86237b0cddbd5ec551e (patch)
tree06a99296699538849133a4313967b997c72f9f4c /nest
parentef6ab5ce86af925ee10687fde4e62912fb892433 (diff)
BMP: Use generic channel feed instead of direct walk over rtable
Now we use rt_notify() and channels for both feed and notifications, in both import tables (pre-policy) and regular tables (post-policy). Remove direct walk in bmp_route_monitor_snapshot().
Diffstat (limited to 'nest')
-rw-r--r--nest/proto.c5
-rw-r--r--nest/protocol.h4
2 files changed, 3 insertions, 6 deletions
diff --git a/nest/proto.c b/nest/proto.c
index 16245dca..a5325705 100644
--- a/nest/proto.c
+++ b/nest/proto.c
@@ -451,10 +451,7 @@ channel_start_export(struct channel *c)
ASSERT(c->channel_state == CS_UP);
ASSERT(c->export_state == ES_DOWN);
- if (!c->bmp_hack)
- channel_schedule_feed(c, 1); /* Sets ES_FEEDING */
- else
- c->export_state = ES_READY;
+ channel_schedule_feed(c, 1); /* Sets ES_FEEDING */
}
static void
diff --git a/nest/protocol.h b/nest/protocol.h
index d94a11bc..dad0b781 100644
--- a/nest/protocol.h
+++ b/nest/protocol.h
@@ -500,7 +500,7 @@ struct channel_config {
u8 merge_limit; /* Maximal number of nexthops for RA_MERGED */
u8 in_keep_filtered; /* Routes rejected in import filter are kept */
u8 rpki_reload; /* RPKI changes trigger channel reload */
- u8 bmp_hack; /* No feed, no flush */
+ u8 bmp_hack; /* No flush */
};
struct channel {
@@ -553,7 +553,7 @@ struct channel {
u8 reload_pending; /* Reloading and another reload is scheduled */
u8 refeed_pending; /* Refeeding and another refeed is scheduled */
u8 rpki_reload; /* RPKI changes trigger channel reload */
- u8 bmp_hack; /* No feed, no flush */
+ u8 bmp_hack; /* No flush */
struct rtable *out_table; /* Internal table for exported routes */