lkml.org 
[lkml]   [2022]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 206/230] i40e: Fix VFs MAC Address change on VM
    Date
    From: Norbert Zulinski <norbertx.zulinski@intel.com>

    [ Upstream commit fed0d9f13266a22ce1fc9a97521ef9cdc6271a23 ]

    Clear VF MAC from parent PF and remove VF filter from VSI when both
    conditions are true:
    -VIRTCHNL_VF_OFFLOAD_USO is not used
    -VM MAC was not set from PF level

    It affects older version of IAVF and it allow them to change MAC
    Address on VM, newer IAVF won't change their behaviour.

    Previously it wasn't possible to change VF's MAC Address on VM
    because there is flag on IAVF driver that won't allow to
    change MAC Address if this address is given from PF driver.

    Fixes: 155f0ac2c96b ("iavf: allow permanent MAC address to change")
    Signed-off-by: Norbert Zulinski <norbertx.zulinski@intel.com>
    Signed-off-by: Jan Sokolowski <jan.sokolowski@intel.com>
    Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
    index 6c1e668f4ebf..d78ac5e7f658 100644
    --- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
    +++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
    @@ -2147,6 +2147,10 @@ static int i40e_vc_get_vf_resources_msg(struct i40e_vf *vf, u8 *msg)
    /* VFs only use TC 0 */
    vfres->vsi_res[0].qset_handle
    = le16_to_cpu(vsi->info.qs_handle[0]);
    + if (!(vf->driver_caps & VIRTCHNL_VF_OFFLOAD_USO) && !vf->pf_set_mac) {
    + i40e_del_mac_filter(vsi, vf->default_lan_addr.addr);
    + eth_zero_addr(vf->default_lan_addr.addr);
    + }
    ether_addr_copy(vfres->vsi_res[0].default_mac_addr,
    vf->default_lan_addr.addr);
    }
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-07-11 12:04    [W:2.571 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site