blob: 6f922991d03f8e040b104d52925de96f350bcad4 [file] [log] [blame]
Mukul Sharmad75a6672017-06-22 15:40:53 +05301/*
Jeff Johnsonb4c29962017-10-07 19:35:14 -07002 * Copyright (c) 2017 The Linux Foundation. All rights reserved.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for
5 * any purpose with or without fee is hereby granted, provided that the
6 * above copyright notice and this permission notice appear in all
7 * copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16 * PERFORMANCE OF THIS SOFTWARE.
17 */
18/**
19 * DOC: Declare various struct, macros which shall be used in
20 * pmo mc address filterign related features.
21 *
22 * Note: This file shall not contain public API's prototype/declarations.
23 *
24 */
Mukul Sharmad75a6672017-06-22 15:40:53 +053025
26#ifndef _WLAN_PMO_MC_ADDR_FILTERING_STRUCT_H_
27#define _WLAN_PMO_MC_ADDR_FILTERING_STRUCT_H_
28
29#include "wlan_pmo_common_public_struct.h"
30
31#define PMO_MAX_MC_ADDR_LIST 32
Poddar, Siddarthf7c49e72017-09-28 17:13:25 +053032#define PMO_MAX_NUM_MULTICAST_ADDRESS 240
Mukul Sharmad75a6672017-06-22 15:40:53 +053033
34/**
35 * struct pmo_mc_addr_list_params -pmo mc address list request params
36 * @psoc: objmgr psoc
37 * @vdev_id: vdev id on which arp offload needed
38 * @count: multicast address count
39 * @mc_addr: multicast address array
40 */
41struct pmo_mc_addr_list_params {
42 struct wlan_objmgr_psoc *psoc;
43 uint8_t vdev_id;
44 uint8_t count;
45 struct qdf_mac_addr mc_addr[PMO_MAX_MC_ADDR_LIST];
46};
47
48/**
49 * struct pmo_mc_addr_list -pmo mc address list params for vdev
50 * @is_filter_applied: is mc list filter applied on vdev
51 * @mc_cnt: mc address count
52 * @mc_addr:mc address list
53 */
54struct pmo_mc_addr_list {
55 uint8_t is_filter_applied;
56 uint8_t mc_cnt;
57 struct qdf_mac_addr mc_addr[PMO_MAX_MC_ADDR_LIST];
58};
59
Poddar, Siddarthf7c49e72017-09-28 17:13:25 +053060/**
61 * struct mcast_filter_params - mcast filter parameters
62 * @multicast_addr_cnt: num of addresses
63 * @multicast_addr: address array
64 * @action: operation to perform
65 */
66struct pmo_mcast_filter_params {
67 uint32_t multicast_addr_cnt;
68 struct qdf_mac_addr multicast_addr[PMO_MAX_NUM_MULTICAST_ADDRESS];
69 uint8_t action;
70};
Mukul Sharmad75a6672017-06-22 15:40:53 +053071#endif /* end of _WLAN_PMO_MC_ADDR_FILTERING_STRUCT_H_ */