summaryrefslogtreecommitdiff
path: root/proto/bgp
diff options
context:
space:
mode:
authorJan Moskyto Matejka <mq@ucw.cz>2017-03-17 15:48:09 +0100
committerJan Moskyto Matejka <mq@ucw.cz>2017-03-17 15:48:32 +0100
commit3c74416465d77c0e79eeaaeb988e471663484b5d (patch)
tree44f84dccd613fd36700729972d9329369275d785 /proto/bgp
parenta5d2a34497853a02692a0b8ea812f44d6820a399 (diff)
Nexthop: Fixed recursive route mpls label merging
Diffstat (limited to 'proto/bgp')
-rw-r--r--proto/bgp/bgp.h2
-rw-r--r--proto/bgp/packets.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/proto/bgp/bgp.h b/proto/bgp/bgp.h
index 5d2539d5..e7647625 100644
--- a/proto/bgp/bgp.h
+++ b/proto/bgp/bgp.h
@@ -337,6 +337,8 @@ struct bgp_parse_state {
u32 mp_reach_af;
u32 mp_unreach_af;
+ mpls_label_stack mls;
+
uint attr_len;
uint ip_reach_len;
uint ip_unreach_len;
diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c
index bee9248a..f7366804 100644
--- a/proto/bgp/packets.c
+++ b/proto/bgp/packets.c
@@ -753,7 +753,7 @@ bgp_apply_next_hop(struct bgp_parse_state *s, rta *a, ip_addr gw, ip_addr ll)
if (ipa_zero(gw))
WITHDRAW(BAD_NEXT_HOP);
- rta_set_recursive_next_hop(c->c.table, a, c->igp_table, gw, ll);
+ rta_set_recursive_next_hop(c->c.table, a, c->igp_table, gw, ll, &(s->mls));
}
}