Re: [PATCH RFC 0/3] Support standard SRIOV configuration for IB VFs

Doug Ledford
2015-05-21T16:40:06Z

[-- Attachment #1: Type: text/plain, Size: 2953 bytes --]

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-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html

--
Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
GPG KeyID: 0E572FDD

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]