diff options
Diffstat (limited to 'package/mac80211/patches/500-nl80211_4addr.patch')
-rw-r--r-- | package/mac80211/patches/500-nl80211_4addr.patch | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/package/mac80211/patches/500-nl80211_4addr.patch b/package/mac80211/patches/500-nl80211_4addr.patch deleted file mode 100644 index de3b78f..0000000 --- a/package/mac80211/patches/500-nl80211_4addr.patch +++ /dev/null @@ -1,69 +0,0 @@ ---- a/include/linux/nl80211.h -+++ b/include/linux/nl80211.h -@@ -584,6 +584,8 @@ enum nl80211_commands { - * changed then the list changed and the dump should be repeated - * completely from scratch. - * -+ * @NL80211_ATTR_4ADDR: Use 4-address frames on a virtual interface -+ * - * @NL80211_ATTR_MAX: highest attribute number currently defined - * @__NL80211_ATTR_AFTER_LAST: internal use - */ -@@ -714,6 +716,8 @@ enum nl80211_attrs { - - NL80211_ATTR_PID, - -+ NL80211_ATTR_4ADDR, -+ - /* add attributes here, update the policy in nl80211.c */ - - __NL80211_ATTR_AFTER_LAST, ---- a/include/net/cfg80211.h -+++ b/include/net/cfg80211.h -@@ -207,10 +207,12 @@ struct ieee80211_supported_band { - * struct vif_params - describes virtual interface parameters - * @mesh_id: mesh ID to use - * @mesh_id_len: length of the mesh ID -+ * @use_4addr: use 4-address frames - */ - struct vif_params { - u8 *mesh_id; - int mesh_id_len; -+ int use_4addr; - }; - - /** ---- a/net/wireless/nl80211.c -+++ b/net/wireless/nl80211.c -@@ -140,6 +140,7 @@ static struct nla_policy nl80211_policy[ - [NL80211_ATTR_CIPHER_SUITE_GROUP] = { .type = NLA_U32 }, - [NL80211_ATTR_WPA_VERSIONS] = { .type = NLA_U32 }, - [NL80211_ATTR_PID] = { .type = NLA_U32 }, -+ [NL80211_ATTR_4ADDR] = { .type = NLA_U8 }, - }; - - /* policy for the attributes */ -@@ -989,6 +990,13 @@ static int nl80211_set_interface(struct - change = true; - } - -+ if (info->attrs[NL80211_ATTR_4ADDR]) { -+ params.use_4addr = !!nla_get_u8(info->attrs[NL80211_ATTR_4ADDR]); -+ change = true; -+ } else { -+ params.use_4addr = -1; -+ } -+ - if (info->attrs[NL80211_ATTR_MNTR_FLAGS]) { - if (ntype != NL80211_IFTYPE_MONITOR) { - err = -EINVAL; -@@ -1055,6 +1063,9 @@ static int nl80211_new_interface(struct - params.mesh_id_len = nla_len(info->attrs[NL80211_ATTR_MESH_ID]); - } - -+ if (info->attrs[NL80211_ATTR_4ADDR]) -+ params.use_4addr = !!nla_get_u8(info->attrs[NL80211_ATTR_4ADDR]); -+ - err = parse_monitor_flags(type == NL80211_IFTYPE_MONITOR ? - info->attrs[NL80211_ATTR_MNTR_FLAGS] : NULL, - &flags); |