]> git.droids-corp.org - dpdk.git/blobdiff - drivers/net/sfc/base/ef10_impl.h
net/sfc/base: insert filters for encapsulated packets
[dpdk.git] / drivers / net / sfc / base / ef10_impl.h
index 8c3dffee390c1e4bc2ac616f877bea3c685083c6..86b723f73ebd7d27fa0c563e512f5db5256d4ca1 100644 (file)
@@ -1005,6 +1005,13 @@ typedef struct ef10_filter_entry_s {
 /* Allow for the broadcast address to be added to the multicast list */
 #define        EFX_EF10_FILTER_MULTICAST_FILTERS_MAX   (EFX_MAC_MULTICAST_LIST_MAX + 1)
 
+/*
+ * For encapsulated packets, there is one filter each for each combination of
+ * IPv4 or IPv6 outer frame, VXLAN, GENEVE or NVGRE packet type, and unicast or
+ * multicast inner frames.
+ */
+#define EFX_EF10_FILTER_ENCAP_FILTERS_MAX      12
+
 typedef struct ef10_filter_table_s {
        ef10_filter_entry_t     eft_entry[EFX_EF10_FILTER_TBL_ROWS];
        efx_rxq_t               *eft_default_rxq;
@@ -1016,6 +1023,9 @@ typedef struct ef10_filter_table_s {
            EFX_EF10_FILTER_MULTICAST_FILTERS_MAX];
        uint32_t                eft_mulcst_filter_count;
        boolean_t               eft_using_all_mulcst;
+       uint32_t                eft_encap_filter_indexes[
+           EFX_EF10_FILTER_ENCAP_FILTERS_MAX];
+       uint32_t                eft_encap_filter_count;
 } ef10_filter_table_t;
 
        __checkReturn   efx_rc_t