summaryrefslogtreecommitdiff
path: root/nest
diff options
context:
space:
mode:
Diffstat (limited to 'nest')
-rw-r--r--nest/proto.c3
-rw-r--r--nest/rt-table.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/nest/proto.c b/nest/proto.c
index e37bc93a..6c6d4ed3 100644
--- a/nest/proto.c
+++ b/nest/proto.c
@@ -657,7 +657,10 @@ channel_reload_stopped(struct rt_export_request *req)
/* Restart reload */
if (c->reload_pending)
+ {
+ c->reload_pending = 0;
channel_request_reload(c);
+ }
if (c->channel_state != CS_UP)
channel_check_stopped(c);
diff --git a/nest/rt-table.c b/nest/rt-table.c
index 3428c122..218fcbe7 100644
--- a/nest/rt-table.c
+++ b/nest/rt-table.c
@@ -4406,8 +4406,10 @@ void channel_reload_export_bulk(struct rt_export_request *req, const net_addr *n
for (uint i=0; i<count; i++)
if (feed[i]->sender == c->in_req.hook)
{
+ /* Strip the table-specific information */
+ rte new = rte_init_from(feed[i]);
+
/* Strip the later attribute layers */
- rte new = *feed[i];
while (new.attrs->next)
new.attrs = new.attrs->next;