On Wed, Jan 31, 2024 at 01:38:47PM +0530, karthiksundaravel wrote: > Changing the mac address of the VF representor ports are not > available via devlink. Add the function handlers to set and get > the HW address for the VF representor ports. > > Signed-off-by: karthiksundaravel <ksund...@redhat.com> > --- > drivers/net/ethernet/intel/ice/ice_devlink.c | 134 ++++++++++++++++++- > 1 file changed, 132 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/intel/ice/ice_devlink.c > b/drivers/net/ethernet/intel/ice/ice_devlink.c > index 80dc5445b50d..56d81836c469 100644 > --- a/drivers/net/ethernet/intel/ice/ice_devlink.c > +++ b/drivers/net/ethernet/intel/ice/ice_devlink.c > @@ -9,6 +9,8 @@
As Jiri already wrote, you are not changing MAC of VF in your code. Try to look at ice_set_vf_mac in ice_sriov.c. In current implementation you nedd to set new MAC value for VF and reset it. You shouldn't use PF VSI. Pointer to VF you can get from representor struct (through parent VSI). You shouldn't manage the rules during MAC changing, as in switchdev slow-path there shouldn't be VF MAC rules. It can be problematic as user already can have MAC + sth rule (which also needs to be change). I will leave it to user (most probably the MAC change happens before adding any rules). In few days we will send patchset for subfunction support where the subfunction MAC chaning is implementing from devlink API. I will add you to the CC. Thanks for working on it, it is a gap in our solution. Thanks, Michal