To give controllers like usteer or DAWN the opportunity to disassociate with the right reason code and also avoid a disassociation if it is not neccessary. Signed-off-by: Nils Hendrik Rottgardt <n.rottgardt@xxxxxxxxx> --- src/ap/wnm_ap.c | 13 ++++++++++++- src/ap/wnm_ap.h | 5 +++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/ap/wnm_ap.c b/src/ap/wnm_ap.c index af8cccaef..d4770c072 100644 --- a/src/ap/wnm_ap.c +++ b/src/ap/wnm_ap.c @@ -961,6 +961,16 @@ int wnm_send_bss_tm_req(struct hostapd_data *hapd, struct sta_info *sta, const u8 *bss_term_dur, u8 dialog_token, const char *url, const u8 *nei_rep, size_t nei_rep_len, const u8 *mbo_attrs, size_t mbo_len) +{ + return wnm_send_bss_tm_req_disassoc(hapd, sta, req_mode, disassoc_timer, valid_int, bss_term_dur, dialog_token, url, nei_rep, nei_rep_len, mbo_attrs, mbo_len, true); +} + + +int wnm_send_bss_tm_req_disassoc(struct hostapd_data *hapd, struct sta_info *sta, + u8 req_mode, int disassoc_timer, u8 valid_int, + const u8 *bss_term_dur, u8 dialog_token, + const char *url, const u8 *nei_rep, size_t nei_rep_len, + const u8 *mbo_attrs, size_t mbo_len, bool disassoc) { u8 *buf, *pos; struct ieee80211_mgmt *mgmt; @@ -1050,7 +1060,8 @@ int wnm_send_bss_tm_req(struct hostapd_data *hapd, struct sta_info *sta, #endif /* CONFIG_IEEE80211BE */ /* send disassociation frame after time-out */ - set_disassoc_timer(hapd, sta, disassoc_timer); + if (disassoc) + set_disassoc_timer(hapd, sta, disassoc_timer); } return 0; diff --git a/src/ap/wnm_ap.h b/src/ap/wnm_ap.h index f86c6b2af..4e0aa1f9e 100644 --- a/src/ap/wnm_ap.h +++ b/src/ap/wnm_ap.h @@ -23,6 +23,11 @@ int wnm_send_bss_tm_req(struct hostapd_data *hapd, struct sta_info *sta, const u8 *bss_term_dur, u8 dialog_token, const char *url, const u8 *nei_rep, size_t nei_rep_len, const u8 *mbo_attrs, size_t mbo_len); +int wnm_send_bss_tm_req_disassoc(struct hostapd_data *hapd, struct sta_info *sta, + u8 req_mode, int disassoc_timer, u8 valid_int, + const u8 *bss_term_dur, u8 dialog_token, + const char *url, const u8 *nei_rep, size_t nei_rep_len, + const u8 *mbo_attrs, size_t mbo_len, bool disassoc); void ap_sta_reset_steer_flag_timer(void *eloop_ctx, void *timeout_ctx); int wnm_send_coloc_intf_req(struct hostapd_data *hapd, struct sta_info *sta, unsigned int auto_report, unsigned int timeout); -- 2.39.5 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap