ice: Enable MAC anti-spoof by default
authorAkeem G Abodunrin <akeem.g.abodunrin@intel.com>
Fri, 8 Feb 2019 20:51:00 +0000 (12:51 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 22 Mar 2019 15:19:16 +0000 (08:19 -0700)
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.abodunrin@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_lib.c

index d3061f2..e3b44d4 100644 (file)
@@ -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,