aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander V. Chernikov <melifaro@FreeBSD.org>2021-04-11 16:47:03 +0000
committerAlexander V. Chernikov <melifaro@FreeBSD.org>2021-04-11 17:13:09 +0000
commitafbb64f1d85b7d8c2938031c3567946b5d10da4f (patch)
tree08f2fec4b90986dbf3680bbdaab5bf43bf69e2e0
parent993d2d4bca45d890365233601434921de02670f1 (diff)
downloadsrc-afbb64f1d85b7d8c2938031c3567946b5d10da4f.tar.gz
src-afbb64f1d85b7d8c2938031c3567946b5d10da4f.zip
Fix vlan creation for the older ifconfig(8) binaries.
Reported by: allanjude MFC after: immediately
-rw-r--r--sys/net/if_vlan.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c
index 229cd331c7a1..bd3a5335a97f 100644
--- a/sys/net/if_vlan.c
+++ b/sys/net/if_vlan.c
@@ -1015,6 +1015,10 @@ vlan_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params)
vid = vlr.vlr_tag;
proto = vlr.vlr_proto;
+#ifdef COMPAT_FREEBSD12
+ if (proto == 0)
+ proto = ETHERTYPE_VLAN;
+#endif
p = ifunit_ref(vlr.vlr_parent);
if (p == NULL)
return (ENXIO);
@@ -1947,6 +1951,10 @@ vlan_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
error = ENOENT;
break;
}
+#ifdef COMPAT_FREEBSD12
+ if (vlr.vlr_proto == 0)
+ vlr.vlr_proto = ETHERTYPE_VLAN;
+#endif
oldmtu = ifp->if_mtu;
error = vlan_config(ifv, p, vlr.vlr_tag, vlr.vlr_proto);
if_rele(p);