]> git.droids-corp.org - dpdk.git/commitdiff
net/sfc: support flow mark delivery on EF100 native datapath
authorIvan Malov <ivan.malov@oktetlabs.ru>
Tue, 12 Oct 2021 19:46:18 +0000 (22:46 +0300)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 12 Oct 2021 22:47:49 +0000 (00:47 +0200)
MAE counter engine gets generation counts by virtue of the mark,
so the code to extract the field is already in place, but flow
action MARK doesn't benefit from it. Support this use case, too.

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
drivers/net/sfc/sfc_ef100_rx.c
drivers/net/sfc/sfc_rx.c

index de35c1908973b203d690b7ceb1c9910f587ff1a8..37957eae115f0e136321118ff6e95a41a5891616 100644 (file)
@@ -935,6 +935,7 @@ struct sfc_dp_rx sfc_ef100_rx = {
                .hw_fw_caps     = SFC_DP_HW_FW_CAP_EF100,
        },
        .features               = SFC_DP_RX_FEAT_MULTI_PROCESS |
+                                 SFC_DP_RX_FEAT_FLOW_MARK |
                                  SFC_DP_RX_FEAT_INTR |
                                  SFC_DP_RX_FEAT_STATS,
        .dev_offload_capa       = 0,
index 280e8a61f9e057fe1f71696d80b04f7843688ef1..5b924010bd4b6f67bbab29271d600cbfea6e8ba7 100644 (file)
@@ -1178,6 +1178,9 @@ sfc_rx_qinit(struct sfc_adapter *sa, sfc_sw_index_t sw_index,
        if (offloads & DEV_RX_OFFLOAD_RSS_HASH)
                rxq_info->type_flags |= EFX_RXQ_FLAG_RSS_HASH;
 
+       if ((sa->negotiated_rx_metadata & RTE_ETH_RX_METADATA_USER_MARK) != 0)
+               rxq_info->type_flags |= EFX_RXQ_FLAG_USER_MARK;
+
        rc = sfc_ev_qinit(sa, SFC_EVQ_TYPE_RX, sw_index,
                          evq_entries, socket_id, &evq);
        if (rc != 0)