On Tue, May 26, 2015 at 12:14 AM, Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> wrote: > On Mon, May 25, 2015 at 11:04:41PM +0300, Or Gerlitz wrote: > >> OK, so rewinding a bit, the IB VF [1] identity is their 8 bytes port >> GUID, and as Jason noted the user/kernel API allows to deliver up to >> 32 bytes between user and kernel under the set_vf_mac flow >> (do_setvfinfo() in net/core/rtnetlink.c). Trying it out through >> **non-modified** ip tool and net/core/rtnetlink.c things just work - >> I can set eight bytes value to be the virtual port GUID : > > Was I not perfectly clear? You have to use the 20 byte LLADDR format here: > >> # ip link set dev ib0 vf 1 mac aa:bb:cc:dd:ee:ff:11:22 Jason, I am aiming to provision the VF IB end-node address == port GUID (vGUID) in the same manner that VF Eth end-node address is their MAC, not more, not less. 20 bytes are the lladdr of IPoIB devices which isn't the VF IB end-node address but rather made of flags (1B) + QPN (3B) + subnet prefix (8B) + VF GUID -- way more then the virtualization system care or can provision. >> Port GUID: 0x2211ffeeddccbbaa > The byte order got screwed up someplace. thx, will fix -- 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