diff options
Diffstat (limited to 'proto/static/static.c')
-rw-r--r-- | proto/static/static.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/proto/static/static.c b/proto/static/static.c index 878248c1..3e03708c 100644 --- a/proto/static/static.c +++ b/proto/static/static.c @@ -128,7 +128,11 @@ drop: r->state |= STS_INSTALLED; if (r->dest == RTDX_RECURSIVE) - rta_set_recursive_next_hop(p->main_channel->table, ap, p_igp_table(p), r->via, IPA_NONE); + { + ap->nh.labels_append = ap->nh.labels = r->label_count; + memcpy(ap->nh.label, r->label_stack, r->label_count * sizeof(u32)); + rta_set_recursive_next_hop(p->main_channel->table, ap, p_igp_table(p), r->via, IPA_NONE); + } /* We skip rta_lookup() here */ |