qcacmn: APIs to add and parse TID-to-link mapping action frame

Add APIs to add and parse TID-to-link mapping request, response and
teardown action frames.

Change-Id: Ia1d2c9d28f0dfa11441d5a77d023a8dde2d68db5
CRs-Fixed: 3332736
This commit is contained in:
Shashikala Prabhu
2022-11-09 18:02:09 +05:30
committed by Madan Koyyalamudi
parent da59d95884
commit 97295e0441
3 changed files with 273 additions and 0 deletions

View File

@@ -21,6 +21,8 @@
#ifndef _WLAN_MLO_T2LM_H_
#define _WLAN_MLO_T2LM_H_
#include <wlan_cmn_ieee80211.h>
#ifdef WLAN_FEATURE_11BE
#define t2lm_alert(format, args...) \
@@ -62,6 +64,36 @@ QDF_STATUS wlan_mlo_parse_t2lm_ie(
*/
uint8_t *wlan_mlo_add_t2lm_ie(uint8_t *frm, struct wlan_objmgr_peer *peer,
struct wlan_t2lm_onging_negotiation_info *t2lm);
/**
* wlan_mlo_parse_t2lm_action_frame() - API to parse T2LM action frame
* @peer: Pointer to peer structure
* @t2lm: Pointer to T2LM structure
* @action_frm: Pointer to action frame
* @category: T2LM action frame category
*
* Return: 0 - success, else failure
*/
int wlan_mlo_parse_t2lm_action_frame(
struct wlan_objmgr_peer *peer,
struct wlan_t2lm_onging_negotiation_info *t2lm,
struct wlan_action_frame *action_frm,
enum wlan_t2lm_category category);
/**
* wlan_mlo_add_t2lm_action_frame() - API to add T2LM action frame
* @peer: Pointer to peer structure
* @frm: Pointer to a frame to add T2LM IE
* @args: T2LM action frame related info
* @buf: Pointer to T2LM IE values
* @category: T2LM action frame category
*
* Return: Pointer to the updated frame buffer
*/
uint8_t *wlan_mlo_add_t2lm_action_frame(
struct wlan_objmgr_peer *peer,
uint8_t *frm, struct wlan_action_frame_args *args,
uint8_t *buf, enum wlan_t2lm_category category);
#else
static inline QDF_STATUS wlan_mlo_parse_t2lm_ie(
struct wlan_objmgr_peer *peer,
@@ -76,5 +108,24 @@ int8_t *wlan_mlo_add_t2lm_ie(uint8_t *frm, struct wlan_objmgr_peer *peer,
{
return frm;
}
static inline
int wlan_mlo_parse_t2lm_action_frame(
struct wlan_objmgr_peer *peer,
struct wlan_t2lm_onging_negotiation_info *t2lm,
struct wlan_action_frame *action_frm,
enum wlan_t2lm_category category)
{
return 0;
}
static inline
uint8_t *wlan_mlo_add_t2lm_action_frame(
struct wlan_objmgr_peer *peer,
uint8_t *frm, struct wlan_action_frame_args *args,
uint8_t *buf, enum wlan_t2lm_category category)
{
return frm;
}
#endif /* WLAN_FEATURE_11BE */
#endif /* _WLAN_MLO_T2LM_H_ */