]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Nest: Fix export of tmpattrs through pipes
authorOndrej Zajicek (work) <santiago@crfreenet.org>
Mon, 14 Jun 2021 14:30:59 +0000 (16:30 +0200)
committerOndrej Zajicek (work) <santiago@crfreenet.org>
Mon, 14 Jun 2021 14:30:59 +0000 (16:30 +0200)
In most cases of export there is no need to store back temporary
attributes to rte, as receivers (protocols) access eattr list anyway.
But pipe copies the original rte with old values, so we should store
tmpattrs also during export.

Thanks to Paul Donohue for the bugreport.

nest/rt-table.c

index 13209dd7c7c44603f33d5bfbf2c8c27788cafb55..a7e31d85381191061a22e72840ca97282b190b6f 100644 (file)
@@ -618,6 +618,9 @@ export_filter_(struct channel *c, rte *rt0, rte **rt_free, linpool *pool, int si
       goto reject;
     }
 
+  /* Needed for pipes */
+  rte_store_tmp_attrs(rt, pool, NULL);
+
  accept:
   if (rt != rt0)
     *rt_free = rt;