|
@@ -1232,6 +1232,20 @@ struct wl1251_acx_bet_enable {
|
|
|
u8 padding[2];
|
|
|
} __packed;
|
|
|
|
|
|
+#define ACX_IPV4_VERSION 4
|
|
|
+#define ACX_IPV6_VERSION 6
|
|
|
+#define ACX_IPV4_ADDR_SIZE 4
|
|
|
+struct wl1251_acx_arp_filter {
|
|
|
+ struct acx_header header;
|
|
|
+ u8 version; /* The IP version: 4 - IPv4, 6 - IPv6.*/
|
|
|
+ u8 enable; /* 1 - ARP filtering is enabled, 0 - disabled */
|
|
|
+ u8 padding[2];
|
|
|
+ u8 address[16]; /* The IP address used to filter ARP packets.
|
|
|
+ ARP packets that do not match this address are
|
|
|
+ dropped. When the IP Version is 4, the last 12
|
|
|
+ bytes of the the address are ignored. */
|
|
|
+} __attribute__((packed));
|
|
|
+
|
|
|
struct wl1251_acx_ac_cfg {
|
|
|
struct acx_header header;
|
|
|
|
|
@@ -1473,6 +1487,7 @@ int wl1251_acx_mem_cfg(struct wl1251 *wl);
|
|
|
int wl1251_acx_wr_tbtt_and_dtim(struct wl1251 *wl, u16 tbtt, u8 dtim);
|
|
|
int wl1251_acx_bet_enable(struct wl1251 *wl, enum wl1251_acx_bet_mode mode,
|
|
|
u8 max_consecutive);
|
|
|
+int wl1251_acx_arp_ip_filter(struct wl1251 *wl, bool enable, __be32 address);
|
|
|
int wl1251_acx_ac_cfg(struct wl1251 *wl, u8 ac, u8 cw_min, u16 cw_max,
|
|
|
u8 aifs, u16 txop);
|
|
|
int wl1251_acx_tid_cfg(struct wl1251 *wl, u8 queue,
|