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