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 | ||||
|  *	refilling deficit of each TXQ. | ||||
|  * | ||||
|  * @max_mtu: the max mtu could be set. | ||||
|  */ | ||||
| struct ieee80211_hw { | ||||
| 	struct ieee80211_conf conf; | ||||
| @ -2500,6 +2502,7 @@ struct ieee80211_hw { | ||||
| 	u8 max_nan_de_entries; | ||||
| 	u8 tx_sk_pacing_shift; | ||||
| 	u8 weight_multiplier; | ||||
| 	u32 max_mtu; | ||||
| }; | ||||
| 
 | ||||
| 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 */ | ||||
| 		ndev->min_mtu = 256; | ||||
| 		ndev->max_mtu = IEEE80211_MAX_DATA_LEN; | ||||
| 		ndev->max_mtu = local->hw.max_mtu; | ||||
| 
 | ||||
| 		ret = register_netdevice(ndev); | ||||
| 		if (ret) { | ||||
|  | ||||
| @ -639,6 +639,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_nm(size_t priv_data_len, | ||||
| 					 IEEE80211_RADIOTAP_VHT_KNOWN_BANDWIDTH; | ||||
| 	local->hw.uapsd_queues = IEEE80211_DEFAULT_UAPSD_QUEUES; | ||||
| 	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; | ||||
| 	wiphy->ht_capa_mod_mask = &mac80211_ht_capa_mod_mask; | ||||
| 	wiphy->vht_capa_mod_mask = &mac80211_vht_capa_mod_mask; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user