dont bother running ethernet multicast ioctl handlers.
authordlg <dlg@openbsd.org>
Fri, 18 Feb 2022 03:22:27 +0000 (03:22 +0000)
committerdlg <dlg@openbsd.org>
Fri, 18 Feb 2022 03:22:27 +0000 (03:22 +0000)
while here turn ENETRESET into 0 in the ioctl path. there's no
hardware to reset.

sys/net/if_vxlan.c

index 8eb8d49..e6687e9 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: if_vxlan.c,v 1.87 2022/02/18 01:27:39 dlg Exp $ */
+/*     $OpenBSD: if_vxlan.c,v 1.88 2022/02/18 03:22:27 dlg Exp $ */
 
 /*
  * Copyright (c) 2021 David Gwynne <dlg@openbsd.org>
@@ -860,11 +860,21 @@ vxlan_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
                error = vxlan_del_addr(sc, (struct ifbareq *)data);
                break;
 
+       case SIOCADDMULTI:
+       case SIOCDELMULTI:
+               /* no hardware to program */
+               break;
+
        default:
                error = ether_ioctl(ifp, &sc->sc_ac, cmd, data);
                break;
        }
 
+       if (error == ENETRESET) {
+               /* no hardware to program */
+               error = 0;
+       }
+
        return (error);
 }