aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/netinet/ip_carp.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c
index bff8d2902ea10..32b868084a538 100644
--- a/sys/netinet/ip_carp.c
+++ b/sys/netinet/ip_carp.c
@@ -1906,8 +1906,12 @@ carp_ioctl(struct ifnet *ifp, u_long cmd, caddr_t addr)
cif = (struct carp_if *)sc->sc_carpdev->if_carp;
TAILQ_FOREACH(vr, &cif->vhif_vrs, sc_list)
if (vr != sc &&
- vr->sc_vhid == carpr.carpr_vhid)
- return EEXIST;
+ vr->sc_vhid == carpr.carpr_vhid) {
+ error = EEXIST;
+ break;
+ }
+ if (error == EEXIST)
+ break;
}
sc->sc_vhid = carpr.carpr_vhid;
IF_LLADDR(sc->sc_ifp)[0] = 0;