]> git.puffer.fish Git - matthieu/frr.git/commitdiff
lib: copy rmap_src too in copy_nexthops
authorChristian Franke <chris@opensourcerouting.org>
Wed, 12 Jul 2017 16:28:03 +0000 (18:28 +0200)
committerChristian Franke <chris@opensourcerouting.org>
Wed, 12 Jul 2017 16:28:03 +0000 (18:28 +0200)
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
lib/nexthop.c

index ef9ae800f66d1528e1218424106efc8ffc8250d8..9b5a3ee1020eae8261cfc6dc1eefa27e0d5f5491 100644 (file)
@@ -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))