net/sfc/base: handle manual and auto filter clashes in EF10
[dpdk.git] / drivers / net / sfc / base / efx.h
index c609c70..d94d3c0 100644 (file)
@@ -2949,6 +2949,7 @@ typedef uint8_t efx_filter_flags_t;
 
 typedef uint32_t efx_filter_match_flags_t;
 
+/* Filter priority from lowest to highest */
 typedef enum efx_filter_priority_s {
        EFX_FILTER_PRI_AUTO = 0,        /* Automatic filter based on device
                                         * address list or hardware
@@ -2956,6 +2957,7 @@ typedef enum efx_filter_priority_s {
                                         * by the filter implementation for
                                         * each NIC type. */
        EFX_FILTER_PRI_MANUAL,          /* Manually configured filter */
+       EFX_FILTER_NPRI,
 } efx_filter_priority_t;
 
 /*
@@ -2970,6 +2972,11 @@ typedef struct efx_filter_spec_s {
        uint16_t                        efs_dmaq_id;
        uint32_t                        efs_rss_context;
        uint32_t                        efs_mark;
+       /*
+        * Saved lower-priority filter. If it is set, it is restored on
+        * filter delete operation.
+        */
+       struct efx_filter_spec_s        *efs_overridden_spec;
        /* Fields below here are hashed for software filter lookup */
        uint16_t                        efs_outer_vid;
        uint16_t                        efs_inner_vid;