Currently user cannot set the mac address and mtu of the vdpa device. This patchset enables users to set the mac address and mtu of the vdpa device once the device is created. If a vendor driver supports such configuration user can set it otherwise user gets unsupported error. vdpa mac address and mtu are device configuration layout fields. To keep interface generic enough for multiple types of vdpa devices, mac address and mtu setting is implemented as configuration layout config knobs. This enables to use similar config layout for other virtio devices. An example of query & set of config layout fields for vdpa_sim_net driver: Configuration layout fields are set after device is created. This enables user to change such fields at later point without destroying and recreating the device for new config. $ vdpa mgmtdev show vdpasim_net: supported_classes net Add the device: $ vdpa dev add name bar mgmtdev vdpasim_net Configure mac address and mtu: $ vdpa dev config set bar mac 00:11:22:33:44:55 mtu 9000 In above command only mac address or only mtu can also be set. View the config after setting: $ vdpa dev config show bar: mac 00:11:22:33:44:55 link up link_announce false mtu 9000 speed 0 duplex 0 Patch summary: Patch-1 uses read only features bit to detect endianness Patch-2 implements new config layout query command Patch-3 implements callback for setting vdpa net config fields Patch-4 extends vdpa_sim_net driver to implement mac, mtu setting Patch-5 removed redundant get_config callback Patch-6 mlx5 vdpa driver migrates to user created vdpa device Patch-7 mlx5 vdpa driver uses random mac address when not configured Patch-8 mlx5 vdpa driver supports user provided mac config Patch-9 mlx5 vdpa driver uses user provided mac during rx flow steering Eli Cohen (4): vdpa/mlx5: Enable user to add/delete vdpa device vdpa/mlx5: Provide device generated random MAC address vdpa/mlx5: Support configuration of MAC vdpa/mlx5: Forward only packets with allowed MAC address Parav Pandit (5): vdpa_sim: Consider read only supported features instead of current vdpa: Introduce query of device config layout vdpa: Enable user to set mac and mtu of vdpa device vdpa_sim_net: Enable user to set mac address and mtu vdpa_sim_net: Remove redundant get_config callback drivers/vdpa/mlx5/net/mlx5_vnet.c | 185 ++++++++++++++---- drivers/vdpa/vdpa.c | 270 +++++++++++++++++++++++++++ drivers/vdpa/vdpa_sim/vdpa_sim.h | 4 +- drivers/vdpa/vdpa_sim/vdpa_sim_net.c | 49 +++-- include/linux/vdpa.h | 16 ++ include/uapi/linux/vdpa.h | 12 ++ 6 files changed, 476 insertions(+), 60 deletions(-) -- 2.26.2 _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization