summaryrefslogtreecommitdiff
path: root/sys/net/rtable.c
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2017-09-05 10:56:05 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2017-09-05 10:56:05 +0000
commit8eb5d17917397aa1ee106e16373b78b8b55fb6ea (patch)
treebfdd64d3a478558d9ef49ff2fc637e56ed96edb9 /sys/net/rtable.c
parenta4b500858de38fe1d3fdc341bf4156fb89807203 (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.c3
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);