net/sfc: support promiscuous and all-multicast control
[dpdk.git] / drivers / net / sfc / sfc.h
index c155bc4..26958db 100644 (file)
@@ -96,6 +96,13 @@ enum sfc_adapter_state {
        SFC_ADAPTER_NSTATES
 };
 
+enum sfc_dev_filter_mode {
+       SFC_DEV_FILTER_MODE_PROMISC = 0,
+       SFC_DEV_FILTER_MODE_ALLMULTI,
+
+       SFC_DEV_FILTER_NMODES
+};
+
 enum sfc_mcdi_state {
        SFC_MCDI_UNINITIALIZED = 0,
        SFC_MCDI_INITIALIZED,
@@ -133,6 +140,9 @@ struct sfc_port {
        boolean_t                       flow_ctrl_autoneg;
        size_t                          pdu;
 
+       boolean_t                       promisc;
+       boolean_t                       allmulti;
+
        rte_spinlock_t                  mac_stats_lock;
        uint64_t                        *mac_stats_buf;
        efsys_mem_t                     mac_stats_dma_mem;
@@ -252,6 +262,7 @@ void sfc_port_stop(struct sfc_adapter *sa);
 void sfc_port_link_mode_to_info(efx_link_mode_t link_mode,
                                struct rte_eth_link *link_info);
 int sfc_port_update_mac_stats(struct sfc_adapter *sa);
+int sfc_set_rx_mode(struct sfc_adapter *sa);
 
 
 #ifdef __cplusplus