[18/62] common/sfc_efx/base: add MAE match fields for Ethernet

Message ID 1603183709-23420-19-git-send-email-arybchenko@solarflare.com (mailing list archive)
State Superseded, archived
Headers
Series net/sfc: support flow API transfer rules |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Andrew Rybchenko Oct. 20, 2020, 8:47 a.m. UTC
  From: Ivan Malov <ivan.malov@oktetlabs.ru>

Add MCDI-compatible enumeration for these fields and
provide necessary mappings for them to be inserted
directly into mask-value pairs buffer.

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
---
 drivers/common/sfc_efx/base/efx.h     | 3 +++
 drivers/common/sfc_efx/base/efx_mae.c | 6 ++++++
 2 files changed, 9 insertions(+)
  

Patch

diff --git a/drivers/common/sfc_efx/base/efx.h b/drivers/common/sfc_efx/base/efx.h
index 4fb3b02aa8..8d88834c30 100644
--- a/drivers/common/sfc_efx/base/efx.h
+++ b/drivers/common/sfc_efx/base/efx.h
@@ -4082,6 +4082,9 @@  efx_mae_match_spec_fini(
 
 typedef enum efx_mae_field_id_e {
 	EFX_MAE_FIELD_INGRESS_MPORT_SELECTOR = 0,
+	EFX_MAE_FIELD_ETHER_TYPE_BE,
+	EFX_MAE_FIELD_ETH_SADDR_BE,
+	EFX_MAE_FIELD_ETH_DADDR_BE,
 
 	EFX_MAE_FIELD_NIDS
 } efx_mae_field_id_t;
diff --git a/drivers/common/sfc_efx/base/efx_mae.c b/drivers/common/sfc_efx/base/efx_mae.c
index 4e6ae2227d..01b2e311a5 100644
--- a/drivers/common/sfc_efx/base/efx_mae.c
+++ b/drivers/common/sfc_efx/base/efx_mae.c
@@ -283,6 +283,9 @@  efx_mae_match_spec_fini(
 /* Named identifiers which are valid indices to efx_mae_field_cap_t */
 typedef enum efx_mae_field_cap_id_e {
 	EFX_MAE_FIELD_ID_INGRESS_MPORT_SELECTOR = MAE_FIELD_INGRESS_PORT,
+	EFX_MAE_FIELD_ID_ETHER_TYPE_BE = MAE_FIELD_ETHER_TYPE,
+	EFX_MAE_FIELD_ID_ETH_SADDR_BE = MAE_FIELD_ETH_SADDR,
+	EFX_MAE_FIELD_ID_ETH_DADDR_BE = MAE_FIELD_ETH_DADDR,
 
 	EFX_MAE_FIELD_CAP_NIDS
 } efx_mae_field_cap_id_t;
@@ -325,6 +328,9 @@  static const efx_mae_mv_desc_t __efx_mae_action_rule_mv_desc_set[] = {
 	}
 
 	EFX_MAE_MV_DESC(INGRESS_MPORT_SELECTOR, EFX_MAE_FIELD_LE),
+	EFX_MAE_MV_DESC(ETHER_TYPE_BE, EFX_MAE_FIELD_BE),
+	EFX_MAE_MV_DESC(ETH_SADDR_BE, EFX_MAE_FIELD_BE),
+	EFX_MAE_MV_DESC(ETH_DADDR_BE, EFX_MAE_FIELD_BE),
 
 #undef EFX_MAE_MV_DESC
 };