diff options
-rw-r--r-- | sys/net/if_vxlan.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/sys/net/if_vxlan.c b/sys/net/if_vxlan.c index e9bc1cb8305..d863afd3849 100644 --- a/sys/net/if_vxlan.c +++ b/sys/net/if_vxlan.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_vxlan.c,v 1.54 2016/12/13 06:51:11 dlg Exp $ */ +/* $OpenBSD: if_vxlan.c,v 1.55 2017/01/03 15:35:34 reyk Exp $ */ /* * Copyright (c) 2013 Reyk Floeter <reyk@openbsd.org> @@ -947,17 +947,16 @@ vxlan_if_change(void *arg) { struct vxlan_softc *sc = arg; struct ifnet *ifp = &sc->sc_ac.ac_if; - int s, error; + int s; /* * Reset the configuration after the parent interface disappeared. */ s = splnet(); - if ((error = vxlan_config(ifp, NULL, NULL)) != 0) { - /* The configured tunnel addresses are invalid, remove them */ - bzero(&sc->sc_src, sizeof(sc->sc_src)); - bzero(&sc->sc_dst, sizeof(sc->sc_dst)); - } + vxlan_multicast_cleanup(ifp); + memset(&sc->sc_src, 0, sizeof(sc->sc_src)); + memset(&sc->sc_dst, 0, sizeof(sc->sc_dst)); + sc->sc_dstport = htons(VXLAN_PORT); splx(s); } |