On Thu, 2015-05-21 at 19:24 +0300, Or Gerlitz wrote: > Standard configuration of SRIOV VFs through the host is done over the > following chain of calls: libvirt --> netlink --> PF netdevice -- where > the PF netdevice exports the ndo_set_vf_ calls. > > When this comes to IB/IPoIB we should normalize this into the verbs > framework so we further go: PF IPoIB --> verbs API --> PF HW driver > > Virtualization systems assign VMs with 48 bits mac, to allow working > with non-modified SW layers Why are we suggesting to make this work with unmodified software? Why aren't we doing this right and adding a new ndo entry point for the GUID? The MAC/GUID mapping isn't the only thing that has to be faked here, you would also have to fake the vlan/pkey mapping. This just seems the wrong thing to do. > (open-stack, libvirt, etc), we can safely > extend this mac to unique 64 bits GUID. Hence the IPoIB ndo_set_vf_mac > entry calls the set_vf_guid verb. > > One thing to clean for being beyond RFC is to make the get_vf_config > verb return guid and have IPoIB to make it back a mac. > > Here's how it looks when using the ip tool (libvirt runs the same > netlink to set it out) and later reflected when the VF read their port. > > # ip link set dev ib0 vf 1 mac aa:bb:cc:dd:ee:ff > > # ibstat -d mlx4_2 > CA 'mlx4_2' > CA type: MT4100 > Number of ports: 1 > Firmware version: 2.34.1260 > Hardware version: 0 > Node GUID: 0x00140500f30e84c4 > System image GUID: 0xf452140300117423 > Port 1: > State: Active > Physical state: LinkUp > Rate: 56 > Base lid: 7 > LMC: 0 > SM lid: 1 > Capability mask: 0x02514868 > Port GUID: 0xffeeddfeffccbbaa > Link layer: InfiniBand > > Or Gerlitz (3): > IB/IPoIB: Support SRIOV standard configuration > IB/mlx4: Refactor Alias GUID storing > IB/mlx4: Add support for SRIOV VF management > > drivers/infiniband/hw/mlx4/main.c | 26 ++++++++++++++ > drivers/infiniband/hw/mlx4/mlx4_ib.h | 4 ++ > drivers/infiniband/hw/mlx4/sysfs.c | 54 ++++++++++++++++++---------- > drivers/infiniband/ulp/ipoib/ipoib_main.c | 39 +++++++++++++++++++++ > drivers/net/ethernet/mellanox/mlx4/cmd.c | 26 +++++++++---- > include/linux/mlx4/device.h | 2 + > include/rdma/ib_verbs.h | 4 ++ > 7 files changed, 128 insertions(+), 27 deletions(-) > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Doug Ledford <dledford@xxxxxxxxxx> GPG KeyID: 0E572FDD
Attachment:
signature.asc
Description: This is a digitally signed message part