diff options
author | Martin Pieuchot <mpi@cvs.openbsd.org> | 2017-09-05 10:56:05 +0000 |
---|---|---|
committer | Martin Pieuchot <mpi@cvs.openbsd.org> | 2017-09-05 10:56:05 +0000 |
commit | 8eb5d17917397aa1ee106e16373b78b8b55fb6ea (patch) | |
tree | bfdd64d3a478558d9ef49ff2fc637e56ed96edb9 /sys/net/rtable.c | |
parent | a4b500858de38fe1d3fdc341bf4156fb89807203 (diff) |
Restart the iteration when a multipath list is re-ordered to make sure
no entry are missed.
While here do not re-ordered or send messages for route entries that are
already in the expected state.
Make rttest30 pass.
ok gerhard@
Diffstat (limited to 'sys/net/rtable.c')
-rw-r--r-- | sys/net/rtable.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/net/rtable.c b/sys/net/rtable.c index 526b49b630d..3a8027f537d 100644 --- a/sys/net/rtable.c +++ b/sys/net/rtable.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rtable.c,v 1.61 2017/07/30 18:18:08 florian Exp $ */ +/* $OpenBSD: rtable.c,v 1.62 2017/09/05 10:56:04 mpi Exp $ */ /* * Copyright (c) 2014-2016 Martin Pieuchot @@ -751,6 +751,7 @@ rtable_mpath_reprio(unsigned int rtableid, struct sockaddr *dst, rt->rt_priority = prio; rtable_mpath_insert(an, rt); rtfree(rt); + error = EAGAIN; } rw_exit_write(&ar->ar_lock); |