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