--- a/sys/net/tun/if_tun.c +++ b/sys/net/tun/if_tun.c @@ -731 TUNSIFMODE switch (*(int *)data & ~IFF_MULTICAST) { case IFF_POINTOPOINT: case IFF_BROADCAST: ifp->if_flags &= ~(IFF_BROADCAST | IFF_POINTOPOINT); - ifp->if_flags |= *(int *)data; /* raw word */ + ifp->if_flags |= *(int *)data & ~IFF_MULTICAST; + /* DF-3410: inject the + * validated mask */ break;