mac80211: allow drivers to set max MTU
Make it possibly for drivers to adjust the default max_mtu by storing it in the hardware struct and using that value for all interfaces. Signed-off-by: Wen Gong <wgong@codeaurora.org> Link: https://lore.kernel.org/r/1567738137-31748-1-git-send-email-wgong@codeaurora.org Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
24f6d765c8
commit
06354665f9
|
@ -2463,6 +2463,8 @@ enum ieee80211_hw_flags {
|
||||||
*
|
*
|
||||||
* @weight_multiplier: Driver specific airtime weight multiplier used while
|
* @weight_multiplier: Driver specific airtime weight multiplier used while
|
||||||
* refilling deficit of each TXQ.
|
* refilling deficit of each TXQ.
|
||||||
|
*
|
||||||
|
* @max_mtu: the max mtu could be set.
|
||||||
*/
|
*/
|
||||||
struct ieee80211_hw {
|
struct ieee80211_hw {
|
||||||
struct ieee80211_conf conf;
|
struct ieee80211_conf conf;
|
||||||
|
@ -2500,6 +2502,7 @@ struct ieee80211_hw {
|
||||||
u8 max_nan_de_entries;
|
u8 max_nan_de_entries;
|
||||||
u8 tx_sk_pacing_shift;
|
u8 tx_sk_pacing_shift;
|
||||||
u8 weight_multiplier;
|
u8 weight_multiplier;
|
||||||
|
u32 max_mtu;
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline bool _ieee80211_hw_check(struct ieee80211_hw *hw,
|
static inline bool _ieee80211_hw_check(struct ieee80211_hw *hw,
|
||||||
|
|
|
@ -1876,7 +1876,7 @@ int ieee80211_if_add(struct ieee80211_local *local, const char *name,
|
||||||
|
|
||||||
/* MTU range: 256 - 2304 */
|
/* MTU range: 256 - 2304 */
|
||||||
ndev->min_mtu = 256;
|
ndev->min_mtu = 256;
|
||||||
ndev->max_mtu = IEEE80211_MAX_DATA_LEN;
|
ndev->max_mtu = local->hw.max_mtu;
|
||||||
|
|
||||||
ret = register_netdevice(ndev);
|
ret = register_netdevice(ndev);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
|
|
@ -639,6 +639,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_nm(size_t priv_data_len,
|
||||||
IEEE80211_RADIOTAP_VHT_KNOWN_BANDWIDTH;
|
IEEE80211_RADIOTAP_VHT_KNOWN_BANDWIDTH;
|
||||||
local->hw.uapsd_queues = IEEE80211_DEFAULT_UAPSD_QUEUES;
|
local->hw.uapsd_queues = IEEE80211_DEFAULT_UAPSD_QUEUES;
|
||||||
local->hw.uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN;
|
local->hw.uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN;
|
||||||
|
local->hw.max_mtu = IEEE80211_MAX_DATA_LEN;
|
||||||
local->user_power_level = IEEE80211_UNSET_POWER_LEVEL;
|
local->user_power_level = IEEE80211_UNSET_POWER_LEVEL;
|
||||||
wiphy->ht_capa_mod_mask = &mac80211_ht_capa_mod_mask;
|
wiphy->ht_capa_mod_mask = &mac80211_ht_capa_mod_mask;
|
||||||
wiphy->vht_capa_mod_mask = &mac80211_vht_capa_mod_mask;
|
wiphy->vht_capa_mod_mask = &mac80211_vht_capa_mod_mask;
|
||||||
|
|
Loading…
Reference in New Issue