summaryrefslogtreecommitdiff
path: root/sys/net/if_vxlan.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/net/if_vxlan.c')
-rw-r--r--sys/net/if_vxlan.c13
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);
}