diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2021-06-14 16:30:59 +0200 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2021-06-14 16:30:59 +0200 |
commit | f8e273b5e7a3c721f4a30cf27a0b4fe54602e83f (patch) | |
tree | 0b91c28930d95a686617d696e9cf3fa2119d6e5a /nest | |
parent | 3f19100f5a47dce96d336d68e0cbe72de5d9ba60 (diff) |
Nest: Fix export of tmpattrs through pipes
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.
Diffstat (limited to 'nest')
-rw-r--r-- | nest/rt-table.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/nest/rt-table.c b/nest/rt-table.c index 13209dd7..a7e31d85 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -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; |