diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2010-09-20 10:43:07 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-09-21 23:58:00 +0200 |
commit | 64eebcfd899a5d2ebe211a593ec13ec24630f1a3 (patch) | |
tree | b147a37d3b4a586464908221b9ea18f80c34ee46 /drivers/net/sfc/efx.h | |
parent | ethtool: Allocate register dump buffer with vmalloc() (diff) | |
download | linux-64eebcfd899a5d2ebe211a593ec13ec24630f1a3.tar.xz linux-64eebcfd899a5d2ebe211a593ec13ec24630f1a3.zip |
sfc: Add filter table management
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/efx.h')
-rw-r--r-- | drivers/net/sfc/efx.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/sfc/efx.h b/drivers/net/sfc/efx.h index e783c0fedfd8..f502b14eb22c 100644 --- a/drivers/net/sfc/efx.h +++ b/drivers/net/sfc/efx.h @@ -12,6 +12,7 @@ #define EFX_EFX_H #include "net_driver.h" +#include "filter.h" /* PCI IDs */ #define EFX_VENDID_SFC 0x1924 @@ -64,6 +65,19 @@ extern void efx_schedule_slow_fill(struct efx_rx_queue *rx_queue); * skb. Falcon/A1 may require up to three descriptors per skb_frag. */ #define EFX_MIN_RING_SIZE (roundup_pow_of_two(2 * 3 * MAX_SKB_FRAGS)) +/* Filters */ +extern int efx_probe_filters(struct efx_nic *efx); +extern void efx_restore_filters(struct efx_nic *efx); +extern void efx_remove_filters(struct efx_nic *efx); +extern int efx_filter_insert_filter(struct efx_nic *efx, + struct efx_filter_spec *spec, + bool replace); +extern int efx_filter_remove_filter(struct efx_nic *efx, + struct efx_filter_spec *spec); +extern void efx_filter_table_clear(struct efx_nic *efx, + enum efx_filter_table_id table_id, + enum efx_filter_priority priority); + /* Channels */ extern void efx_process_channel_now(struct efx_channel *channel); extern int |