diff options
author | Alexander V. Chernikov <melifaro@FreeBSD.org> | 2021-04-11 16:47:03 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2021-06-29 17:09:25 +0000 |
commit | 78f91c1fbf02b8768ebd8dd005eb922970ff4837 (patch) | |
tree | 128fd239d4f4cb18fbceed8b1148c21d205af6a5 | |
parent | ba5ed8109cc99cccd4eebb626225afc5eefa16b0 (diff) | |
download | src-78f91c1fbf02b8768ebd8dd005eb922970ff4837.tar.gz src-78f91c1fbf02b8768ebd8dd005eb922970ff4837.zip |
Fix vlan creation for the older ifconfig(8) binaries.
Approved by: so
Security: EN-21:20.vlan
Reported by: allanjude
MFC after: immediately
(cherry picked from commit afbb64f1d85b7d8c2938031c3567946b5d10da4f)
(cherry picked from commit 9abc85d17d0538704641fe2c4d9da1b666f86e4e)
-rw-r--r-- | sys/net/if_vlan.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c index 26fb48257c11..58403e8dc076 100644 --- a/sys/net/if_vlan.c +++ b/sys/net/if_vlan.c @@ -1012,6 +1012,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); @@ -1942,6 +1946,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); |