qcacld-3.0: Add debugfs support for offload info
Add debugfs entry to get offload info (mc addr list, arp, ns etc.,) for STA interface. Change-Id: I8bf4491929b5ef04ed5ce19f4b0030945f0eb0c0 CRs-Fixed: 2203786
This commit is contained in:

committad av
nshrivas

förälder
4c8edc0e69
incheckning
85f8b02175
@@ -52,6 +52,7 @@ struct pmo_arp_offload_params {
|
||||
uint8_t enable;
|
||||
uint8_t host_ipv4_addr[PMO_IPV4_ADDR_LEN];
|
||||
struct qdf_mac_addr bssid;
|
||||
bool is_offload_applied;
|
||||
};
|
||||
|
||||
#endif /* end of _WLAN_PMO_ARP_PUBLIC_STRUCT_H_ */
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -28,6 +28,24 @@
|
||||
|
||||
#include "wlan_pmo_common_public_struct.h"
|
||||
|
||||
/**
|
||||
* enum pmo_ns_addr_scope - Internal identification of IPv6 addr scope
|
||||
* @PMO_NS_ADDR_SCOPE_INVALID: invalid scope
|
||||
* @PMO_NS_ADDR_SCOPE_NODELOCAL: node local scope
|
||||
* @PMO_NS_ADDR_SCOPE_LINKLOCAL: link local scope
|
||||
* @PMO_NS_ADDR_SCOPE_SITELOCAL: site local scope
|
||||
* @PMO_NS_ADDR_SCOPE_ORGLOCAL: org local scope
|
||||
* @PMO_NS_ADDR_SCOPE_GLOBAL: global scope
|
||||
*/
|
||||
enum pmo_ns_addr_scope {
|
||||
PMO_NS_ADDR_SCOPE_INVALID = 0,
|
||||
PMO_NS_ADDR_SCOPE_NODELOCAL = 1,
|
||||
PMO_NS_ADDR_SCOPE_LINKLOCAL = 2,
|
||||
PMO_NS_ADDR_SCOPE_SITELOCAL = 3,
|
||||
PMO_NS_ADDR_SCOPE_ORGLOCAL = 4,
|
||||
PMO_NS_ADDR_SCOPE_GLOBAL = 5
|
||||
};
|
||||
|
||||
/**
|
||||
* struct pmo_ns_offload_params - pmo ns offload parameters
|
||||
* @enable: true when ns offload enable
|
||||
@@ -55,6 +73,8 @@ struct pmo_ns_offload_params {
|
||||
uint8_t target_ipv6_addr_ac_type[PMO_MAC_NUM_TARGET_IPV6_NS_OFFLOAD_NA];
|
||||
uint8_t slot_idx;
|
||||
struct qdf_mac_addr bssid;
|
||||
enum pmo_ns_addr_scope scope[PMO_MAC_NUM_TARGET_IPV6_NS_OFFLOAD_NA];
|
||||
bool is_offload_applied;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -74,5 +94,6 @@ struct pmo_ns_req {
|
||||
uint8_t ipv6_addr[PMO_MAC_NUM_TARGET_IPV6_NS_OFFLOAD_NA]
|
||||
[PMO_MAC_IPV6_ADDR_LEN];
|
||||
uint8_t ipv6_addr_type[PMO_MAC_NUM_TARGET_IPV6_NS_OFFLOAD_NA];
|
||||
enum pmo_ns_addr_scope scope[PMO_MAC_NUM_TARGET_IPV6_NS_OFFLOAD_NA];
|
||||
};
|
||||
#endif /* end of _WLAN_PMO_NS_PUBLIC_STRUCT_H_ */
|
||||
|
@@ -173,6 +173,17 @@ QDF_STATUS pmo_ucfg_enable_arp_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
|
||||
QDF_STATUS pmo_ucfg_disable_arp_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
|
||||
enum pmo_offload_trigger trigger);
|
||||
|
||||
/**
|
||||
* pmo_ucfg_get_arp_offload_params() - API to get arp offload params
|
||||
* @vdev: objmgr vdev
|
||||
* @params: output pointer to hold offload params
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS in case of success else return error
|
||||
*/
|
||||
QDF_STATUS
|
||||
pmo_ucfg_get_arp_offload_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_arp_offload_params *params);
|
||||
|
||||
/**
|
||||
* pmo_ucfg_cache_ns_offload_req(): API to cache ns req in pmo vdev priv ctx
|
||||
* @ns_req: pmo ns req param
|
||||
@@ -213,6 +224,27 @@ QDF_STATUS pmo_ucfg_enable_ns_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
|
||||
QDF_STATUS pmo_ucfg_disable_ns_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
|
||||
enum pmo_offload_trigger trigger);
|
||||
|
||||
/**
|
||||
* pmo_ucfg_get_ns_offload_params() - API to get ns offload params
|
||||
* @vdev: objmgr vdev
|
||||
* @params: output pointer to hold offload params
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS in case of success else return error
|
||||
*/
|
||||
QDF_STATUS
|
||||
pmo_ucfg_get_ns_offload_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_ns_offload_params *params);
|
||||
|
||||
/**
|
||||
* pmo_ucfg_ns_addr_scope() - Convert linux specific IPv6 addr scope to
|
||||
* WLAN driver specific value
|
||||
* @scope: linux specific IPv6 addr scope
|
||||
*
|
||||
* Return: PMO identifier of linux IPv6 addr scope
|
||||
*/
|
||||
enum pmo_ns_addr_scope
|
||||
pmo_ucfg_ns_addr_scope(uint32_t ipv6_scope);
|
||||
|
||||
/**
|
||||
* pmo_ucfg_enable_hw_filter_in_fwr() - enable previously configured hw filter
|
||||
* @vdev: objmgr vdev to configure
|
||||
@@ -314,6 +346,19 @@ QDF_STATUS pmo_ucfg_disable_mc_addr_filtering_in_fwr(
|
||||
uint8_t vdev_id,
|
||||
enum pmo_offload_trigger trigger);
|
||||
|
||||
/**
|
||||
* pmo_ucfg_get_mc_addr_list() - API to get mc addr list configured
|
||||
* @psoc: objmgr psoc
|
||||
* @vdev_id: vdev identifier
|
||||
* @mc_list_req: output pointer to hold mc addr list params
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS in case of success else return error
|
||||
*/
|
||||
QDF_STATUS
|
||||
pmo_ucfg_get_mc_addr_list(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t vdev_id,
|
||||
struct pmo_mc_addr_list *mc_list_req);
|
||||
|
||||
/**
|
||||
* pmo_ucfg_cache_gtk_offload_req(): API to cache gtk req in pmo vdev priv obj
|
||||
* @vdev: objmgr vdev handle
|
||||
@@ -765,6 +810,13 @@ pmo_ucfg_disable_arp_offload_in_fwr(
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
pmo_ucfg_get_arp_offload_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_arp_offload_params *params)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
pmo_ucfg_cache_ns_offload_req(struct pmo_ns_req *ns_req)
|
||||
{
|
||||
@@ -793,6 +845,19 @@ pmo_ucfg_disable_ns_offload_in_fwr(
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
pmo_ucfg_get_ns_offload_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_ns_offload_params *params)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline enum pmo_ns_addr_scope
|
||||
pmo_ucfg_ns_addr_scope(uint32_t ipv6_scope)
|
||||
{
|
||||
return PMO_NS_ADDR_SCOPE_INVALID;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
pmo_ucfg_cache_mc_addr_list(
|
||||
struct pmo_mc_addr_list_params *mc_list_config)
|
||||
@@ -832,6 +897,14 @@ pmo_ucfg_max_mc_addr_supported(struct wlan_objmgr_psoc *psoc)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
pmo_ucfg_get_mc_addr_list(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t vdev_id,
|
||||
struct pmo_mc_addr_list *mc_list_req)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
pmo_ucfg_cache_gtk_offload_req(
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
|
Referens i nytt ärende
Block a user