1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 2 /* 3 * Copyright (C) 2012-2014 Intel Corporation 4 * Copyright (C) 2013-2015 Intel Mobile Communications GmbH 5 * Copyright (C) 2016-2017 Intel Deutschland GmbH 6 */ 7 #ifndef __iwl_fw_api_filter_h__ 8 #define __iwl_fw_api_filter_h__ 9 10 #include "fw/api/mac.h" 11 12 #define MAX_PORT_ID_NUM 2 13 #define MAX_MCAST_FILTERING_ADDRESSES 256 14 15 /** 16 * struct iwl_mcast_filter_cmd - configure multicast filter. 17 * @filter_own: Set 1 to filter out multicast packets sent by station itself 18 * @port_id: Multicast MAC addresses array specifier. This is a strange way 19 * to identify network interface adopted in host-device IF. 20 * It is used by FW as index in array of addresses. This array has 21 * MAX_PORT_ID_NUM members. 22 * @count: Number of MAC addresses in the array 23 * @pass_all: Set 1 to pass all multicast packets. 24 * @bssid: current association BSSID. 25 * @reserved: reserved 26 * @addr_list: Place holder for array of MAC addresses. 27 * IMPORTANT: add padding if necessary to ensure DWORD alignment. 28 */ 29 struct iwl_mcast_filter_cmd { 30 u8 filter_own; 31 u8 port_id; 32 u8 count; 33 u8 pass_all; 34 u8 bssid[6]; 35 u8 reserved[2]; 36 u8 addr_list[]; 37 } __packed; /* MCAST_FILTERING_CMD_API_S_VER_1 */ 38 39 #endif /* __iwl_fw_api_filter_h__ */ 40