diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/cfg80211.h | 70 | ||||
| -rw-r--r-- | include/net/tcp.h | 1 |
2 files changed, 55 insertions, 16 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index bc5c1465ebd..c32ef56c5e0 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h @@ -1799,22 +1799,28 @@ struct cfg80211_ops { * enum wiphy_flags - wiphy capability flags * * @WIPHY_FLAG_CUSTOM_REGULATORY: tells us the driver for this device - * has its own custom regulatory domain and cannot identify the - * ISO / IEC 3166 alpha2 it belongs to. When this is enabled - * we will disregard the first regulatory hint (when the - * initiator is %REGDOM_SET_BY_CORE). - * @WIPHY_FLAG_STRICT_REGULATORY: tells us the driver for this device will - * ignore regulatory domain settings until it gets its own regulatory - * domain via its regulatory_hint() unless the regulatory hint is - * from a country IE. After its gets its own regulatory domain it will - * only allow further regulatory domain settings to further enhance - * compliance. For example if channel 13 and 14 are disabled by this - * regulatory domain no user regulatory domain can enable these channels - * at a later time. This can be used for devices which do not have - * calibration information guaranteed for frequencies or settings - * outside of its regulatory domain. If used in combination with - * WIPHY_FLAG_CUSTOM_REGULATORY the inspected country IE power settings - * will be followed. + * has its own custom regulatory domain and cannot identify the + * ISO / IEC 3166 alpha2 it belongs to. When this is enabled + * we will disregard the first regulatory hint (when the + * initiator is %REGDOM_SET_BY_CORE). wiphys can set the custom + * regulatory domain using wiphy_apply_custom_regulatory() + * prior to wiphy registration. + * @WIPHY_FLAG_STRICT_REGULATORY: tells us that the wiphy for this device + * has regulatory domain that it wishes to be considered as the + * superset for regulatory rules. After this device gets its regulatory + * domain programmed further regulatory hints shall only be considered + * for this device to enhance regulatory compliance, forcing the + * device to only possibly use subsets of the original regulatory + * rules. For example if channel 13 and 14 are disabled by this + * device's regulatory domain no user specified regulatory hint which + * has these channels enabled would enable them for this wiphy, + * the device's original regulatory domain will be trusted as the + * base. You can program the superset of regulatory rules for this + * wiphy with regulatory_hint() for cards programmed with an + * ISO3166-alpha2 country code. wiphys that use regulatory_hint() + * will have their wiphy->regd programmed once the regulatory + * domain is set, and all other regulatory hints will be ignored + * until their own regulatory domain gets programmed. * @WIPHY_FLAG_DISABLE_BEACON_HINTS: enable this if your driver needs to ensure * that passive scan flags and beaconing flags may not be lifted by * cfg80211 due to regulatory beacon hints. For more information on beacon @@ -1882,6 +1888,34 @@ enum wiphy_flags { }; /** + * enum nl80211_country_ie_pref - country IE processing preferences + * + * enumerates the different preferences a 802.11 card can advertize + * for parsing the country IEs. As per the current implementation + * country IEs are only used derive the apha2, the information + * for power settings that comes with the country IE is ignored + * and we use the power settings from regdb. + * + * @NL80211_COUNTRY_IE_FOLLOW_CORE - This is the default behaviour. + * It allows the core to update channel flags according to the + * ISO3166-alpha2 in the country IE. The applied power is - + * MIN(power specified by custom domain, power obtained from regdb) + * @NL80211_COUNTRY_IE_FOLLOW_POWER - for devices that have a + * preference that even though they may have programmed their own + * custom power setting prior to wiphy registration, they want + * to ensure their channel power settings are updated for this + * connection with the power settings derived from alpha2 of the + * country IE. + * @NL80211_COUNTRY_IE_IGNORE_CORE - for devices that have a preference to + * to ignore all country IE information processed by the core. + */ +enum nl80211_country_ie_pref { + NL80211_COUNTRY_IE_FOLLOW_CORE, + NL80211_COUNTRY_IE_FOLLOW_POWER, + NL80211_COUNTRY_IE_IGNORE_CORE, +}; + +/** * struct ieee80211_iface_limit - limit on certain interface types * @max: maximum number of interfaces of these types * @types: interface types (bits) @@ -2098,6 +2132,8 @@ struct wiphy_wowlan_support { * * @max_acl_mac_addrs: Maximum number of MAC addresses that the device * supports for ACL. + * @country_ie_pref: country IE processing preferences specified + * by enum nl80211_country_ie_pref */ struct wiphy { /* assign these fields before you register the wiphy */ @@ -2162,6 +2198,8 @@ struct wiphy { */ u32 probe_resp_offload; + u8 country_ie_pref; + /* If multiple wiphys are registered and you're handed e.g. * a regular netdev with assigned ieee80211_ptr, you won't * know whether it points to a wiphy your driver has registered diff --git a/include/net/tcp.h b/include/net/tcp.h index 269e99f2a02..1d094ca4607 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -253,6 +253,7 @@ extern int sysctl_tcp_cookie_size; extern int sysctl_tcp_thin_linear_timeouts; extern int sysctl_tcp_thin_dupack; extern int sysctl_tcp_challenge_ack_limit; +extern int sysctl_tcp_default_init_rwnd; extern atomic_long_t tcp_memory_allocated; extern struct percpu_counter tcp_sockets_allocated; |
