summaryrefslogtreecommitdiff
path: root/lib/nexthop.c
diff options
context:
space:
mode:
authorChristian Franke <chris@opensourcerouting.org>2017-07-12 18:28:03 +0200
committerChristian Franke <chris@opensourcerouting.org>2017-07-12 18:28:03 +0200
commit8fad3ca3a0ff6bfeeb0fa64ff5890f3b4db0d41a (patch)
tree912f93c70483a9f4e9ade63531a21c0eaed4fc8b /lib/nexthop.c
parent9fb47c0584ced64080c977ade8597de377d47b7f (diff)
lib: copy rmap_src too in copy_nexthops
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Diffstat (limited to 'lib/nexthop.c')
-rw-r--r--lib/nexthop.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/nexthop.c b/lib/nexthop.c
index ef9ae800f6..9b5a3ee102 100644
--- a/lib/nexthop.c
+++ b/lib/nexthop.c
@@ -143,15 +143,16 @@ copy_nexthops (struct nexthop **tnh, struct nexthop *nh, struct nexthop *rparent
for (nh1 = nh; nh1; nh1 = nh1->next)
{
nexthop = nexthop_new();
- nexthop->flags = nh->flags;
- nexthop->type = nh->type;
nexthop->ifindex = nh->ifindex;
- memcpy(&(nexthop->gate), &(nh->gate), sizeof(union g_addr));
- memcpy(&(nexthop->src), &(nh->src), sizeof(union g_addr));
+ nexthop->type = nh->type;
+ nexthop->flags = nh->flags;
+ memcpy(&nexthop->gate, &nh->gate, sizeof(nh->gate));
+ memcpy(&nexthop->src, &nh->src, sizeof(nh->src));
+ memcpy(&nexthop->rmap_src, &nh->rmap_src, sizeof(nh->rmap_src));
+ nexthop->rparent = rparent;
if (nh->nh_label)
nexthop_add_labels (nexthop, nh->nh_label_type,
nh->nh_label->num_labels, &nh->nh_label->label[0]);
- nexthop->rparent = rparent;
nexthop_add(tnh, nexthop);
if (CHECK_FLAG(nh1->flags, NEXTHOP_FLAG_RECURSIVE))