From: Akeem G Abodunrin <akeem.g.abodun...@intel.com>

This patch enables MAC anti-spoof by default, with creation of VF VSIs or
when the VF VSIs are being re-initialized.

Signed-off-by: Akeem G Abodunrin <akeem.g.abodun...@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com>
Tested-by: Andrew Bowers <andrewx.bow...@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirs...@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_lib.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c 
b/drivers/net/ethernet/intel/ice/ice_lib.c
index d3061f243877..e3b44d413d5f 100644
--- a/drivers/net/ethernet/intel/ice/ice_lib.c
+++ b/drivers/net/ethernet/intel/ice/ice_lib.c
@@ -940,6 +940,7 @@ static int ice_vsi_init(struct ice_vsi *vsi)
        if (!ctxt)
                return -ENOMEM;
 
+       ctxt->info = vsi->info;
        switch (vsi->type) {
        case ICE_VSI_PF:
                ctxt->flags = ICE_AQ_VSI_TYPE_PF;
@@ -965,6 +966,14 @@ static int ice_vsi_init(struct ice_vsi *vsi)
        ctxt->info.sw_id = vsi->port_info->sw_id;
        ice_vsi_setup_q_map(vsi, ctxt);
 
+       /* Enable MAC Antispoof with new VSI being initialized or updated */
+       if (vsi->type == ICE_VSI_VF && pf->vf[vsi->vf_id].spoofchk) {
+               ctxt->info.valid_sections |=
+                       cpu_to_le16(ICE_AQ_VSI_PROP_SECURITY_VALID);
+               ctxt->info.sec_flags |=
+                       ICE_AQ_VSI_SEC_FLAG_ENA_MAC_ANTI_SPOOF;
+       }
+
        ret = ice_add_vsi(hw, vsi->idx, ctxt, NULL);
        if (ret) {
                dev_err(&pf->pdev->dev,
-- 
2.20.1

Reply via email to