diff options
Diffstat (limited to 'sys/net/if.c')
-rw-r--r-- | sys/net/if.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/sys/net/if.c b/sys/net/if.c index e06e8e8b769..58db412810d 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if.c,v 1.692 2023/04/22 04:39:46 dlg Exp $ */ +/* $OpenBSD: if.c,v 1.693 2023/04/26 00:14:21 jan Exp $ */ /* $NetBSD: if.c,v 1.35 1996/05/07 05:26:04 thorpej Exp $ */ /* @@ -95,6 +95,11 @@ #include <net/route.h> #include <net/netisr.h> +#include "vlan.h" +#if NVLAN > 0 +#include <net/if_vlan_var.h> +#endif + #include <netinet/in.h> #include <netinet/if_ether.h> #include <netinet/igmp.h> @@ -3149,6 +3154,12 @@ ifsettso(struct ifnet *ifp, int on) else goto out; +#if NVLAN > 0 + /* Change TSO flag also on attached vlan(4) interfaces. */ + vlan_flags_from_parent(ifp, IFXF_TSO); +#endif + + /* restart interface */ if (ISSET(ifp->if_flags, IFF_UP)) { /* go down for a moment... */ CLR(ifp->if_flags, IFF_UP); |