net/sfc/base: support MARK and FLAG actions in filters
[dpdk.git] / drivers / net / sfc / base / efx.h
index b334cc5..f5ec568 100644 (file)
@@ -1293,6 +1293,9 @@ typedef struct efx_nic_cfg_s {
        /* Firmware support for extended MAC_STATS buffer */
        uint32_t                enc_mac_stats_nstats;
        boolean_t               enc_fec_counters;
+       /* Firmware support for "FLAG" and "MARK" filter actions */
+       boolean_t               enc_filter_action_flag_supported;
+       boolean_t               enc_filter_action_mark_supported;
 } efx_nic_cfg_t;
 
 #define        EFX_PCI_FUNCTION_IS_PF(_encp)   ((_encp)->enc_vf == 0xffff)
@@ -2619,6 +2622,10 @@ efx_tx_qdestroy(
 #define        EFX_FILTER_FLAG_RX              0x08
 /* Filter is for TX */
 #define        EFX_FILTER_FLAG_TX              0x10
+/* Set match flag on the received packet */
+#define        EFX_FILTER_FLAG_ACTION_FLAG     0x20
+/* Set match mark on the received packet */
+#define        EFX_FILTER_FLAG_ACTION_MARK     0x40
 
 typedef uint8_t efx_filter_flags_t;
 
@@ -2704,6 +2711,7 @@ typedef struct efx_filter_spec_s {
        efx_oword_t                     efs_loc_host;
        uint8_t                         efs_vni_or_vsid[EFX_VNI_OR_VSID_LEN];
        uint8_t                         efs_ifrm_loc_mac[EFX_MAC_ADDR_LEN];
+       uint32_t                        efs_mark;
 } efx_filter_spec_t;