* MAE support requires the privilege is granted initially,
* and ignore later dynamic changes.
*/
- if (CAP_FLAGS3(req, MAE_SUPPORTED) &&
- EFX_MCDI_HAVE_PRIVILEGE(encp->enc_privilege_mask, MAE))
+ if (CAP_FLAGS3(req, MAE_SUPPORTED)) {
encp->enc_mae_supported = B_TRUE;
- else
+ if (EFX_MCDI_HAVE_PRIVILEGE(encp->enc_privilege_mask, MAE))
+ encp->enc_mae_admin = B_TRUE;
+ else
+ encp->enc_mae_admin = B_FALSE;
+ } else {
encp->enc_mae_supported = B_FALSE;
+ encp->enc_mae_admin = B_FALSE;
+ }
#else
encp->enc_mae_supported = B_FALSE;
+ encp->enc_mae_admin = B_FALSE;
#endif /* EFSYS_OPT_MAE */
#undef CAP_FLAGS1
boolean_t enc_hlb_counters;
/* NIC support for Match-Action Engine (MAE). */
boolean_t enc_mae_supported;
+ /*
+ * NIC is privileged, i.e. it is the MAE admin.
+ * Only privileged MAE clients can manage MAE flow rules,
+ * for example, modify, count and route traffic to selected
+ * destination (a MAE client or network port).
+ */
+ boolean_t enc_mae_admin;
/* Firmware support for "FLAG" and "MARK" filter actions */
boolean_t enc_filter_action_flag_supported;
boolean_t enc_filter_action_mark_supported;