goto fail2;
}
+ maep->em_max_n_outer_prios =
+ MCDI_OUT_DWORD(req, MAE_GET_CAPS_OUT_OUTER_PRIOS);
+
maep->em_max_n_action_prios =
MCDI_OUT_DWORD(req, MAE_GET_CAPS_OUT_ACTION_PRIOS);
+ maep->em_encap_types_supported = 0;
+
+ if (MCDI_OUT_DWORD(req, MAE_GET_CAPS_OUT_ENCAP_TYPE_VXLAN) == 1) {
+ maep->em_encap_types_supported |=
+ (1U << EFX_TUNNEL_PROTOCOL_VXLAN);
+ }
+
+ if (MCDI_OUT_DWORD(req, MAE_GET_CAPS_OUT_ENCAP_TYPE_GENEVE) == 1) {
+ maep->em_encap_types_supported |=
+ (1U << EFX_TUNNEL_PROTOCOL_GENEVE);
+ }
+
+ if (MCDI_OUT_DWORD(req, MAE_GET_CAPS_OUT_ENCAP_TYPE_NVGRE) == 1) {
+ maep->em_encap_types_supported |=
+ (1U << EFX_TUNNEL_PROTOCOL_NVGRE);
+ }
+
maep->em_max_nfields =
MCDI_OUT_DWORD(req, MAE_GET_CAPS_OUT_MATCH_FIELD_COUNT);
goto fail1;
}
+ emlp->eml_max_n_outer_prios = maep->em_max_n_outer_prios;
emlp->eml_max_n_action_prios = maep->em_max_n_action_prios;
+ emlp->eml_encap_types_supported = maep->em_encap_types_supported;
return (0);
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_ID_VLAN0_TCI_BE = MAE_FIELD_VLAN0_TCI,
+ EFX_MAE_FIELD_ID_VLAN0_PROTO_BE = MAE_FIELD_VLAN0_PROTO,
+ EFX_MAE_FIELD_ID_VLAN1_TCI_BE = MAE_FIELD_VLAN1_TCI,
+ EFX_MAE_FIELD_ID_VLAN1_PROTO_BE = MAE_FIELD_VLAN1_PROTO,
+ EFX_MAE_FIELD_ID_SRC_IP4_BE = MAE_FIELD_SRC_IP4,
+ EFX_MAE_FIELD_ID_DST_IP4_BE = MAE_FIELD_DST_IP4,
+ EFX_MAE_FIELD_ID_IP_PROTO = MAE_FIELD_IP_PROTO,
+ EFX_MAE_FIELD_ID_IP_TOS = MAE_FIELD_IP_TOS,
+ EFX_MAE_FIELD_ID_IP_TTL = MAE_FIELD_IP_TTL,
+ EFX_MAE_FIELD_ID_SRC_IP6_BE = MAE_FIELD_SRC_IP6,
+ EFX_MAE_FIELD_ID_DST_IP6_BE = MAE_FIELD_DST_IP6,
+ EFX_MAE_FIELD_ID_L4_SPORT_BE = MAE_FIELD_L4_SPORT,
+ EFX_MAE_FIELD_ID_L4_DPORT_BE = MAE_FIELD_L4_DPORT,
+ EFX_MAE_FIELD_ID_TCP_FLAGS_BE = MAE_FIELD_TCP_FLAGS,
EFX_MAE_FIELD_CAP_NIDS
} efx_mae_field_cap_id_t;
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),
+ EFX_MAE_MV_DESC(VLAN0_TCI_BE, EFX_MAE_FIELD_BE),
+ EFX_MAE_MV_DESC(VLAN0_PROTO_BE, EFX_MAE_FIELD_BE),
+ EFX_MAE_MV_DESC(VLAN1_TCI_BE, EFX_MAE_FIELD_BE),
+ EFX_MAE_MV_DESC(VLAN1_PROTO_BE, EFX_MAE_FIELD_BE),
+ EFX_MAE_MV_DESC(SRC_IP4_BE, EFX_MAE_FIELD_BE),
+ EFX_MAE_MV_DESC(DST_IP4_BE, EFX_MAE_FIELD_BE),
+ EFX_MAE_MV_DESC(IP_PROTO, EFX_MAE_FIELD_BE),
+ EFX_MAE_MV_DESC(IP_TOS, EFX_MAE_FIELD_BE),
+ EFX_MAE_MV_DESC(IP_TTL, EFX_MAE_FIELD_BE),
+ EFX_MAE_MV_DESC(SRC_IP6_BE, EFX_MAE_FIELD_BE),
+ EFX_MAE_MV_DESC(DST_IP6_BE, EFX_MAE_FIELD_BE),
+ EFX_MAE_MV_DESC(L4_SPORT_BE, EFX_MAE_FIELD_BE),
+ EFX_MAE_MV_DESC(L4_DPORT_BE, EFX_MAE_FIELD_BE),
+ EFX_MAE_MV_DESC(TCP_FLAGS_BE, EFX_MAE_FIELD_BE),
#undef EFX_MAE_MV_DESC
};