
On Sat, 2010-05-08 at 00:05 -0700, Scott Feldman wrote:
From: Scott Feldman <scofeldm@cisco.com>
This fleshes out the port profile ID proof-of-concept patch posted earlier by David Allan, referenced here:
https://www.redhat.com/archives/libvir-list/2010-March/msg01401.html
It uses the new IFLA_VF_PORT_PROFILE netlink msg to set/unset the port- profile for the virtual switch port backing the VM device. The new netlink msg is being discussed on the netdev kernel mailing list here:
http://marc.info/?l=linux-netdev&m=127312092712543&w=2 http://marc.info/?l=linux-netdev&m=127312093412556&w=2
IFLA_VF_PORT_PROFILE is sent using RTM_SETLINK, and retrieved using RTM_GETLINK. IFLA_VF_PORT_PROFILE is sent using netlink multicast send with RTNLGRP_LINK so the receiver of the msg can be in user-space or kernel-space.
I tried the latest libvirt (from git) to compile with this patch: util/macvtap.c:618: warning: 'struct ifla_vf_port_profile' declared inside parameter list util/macvtap.c:618: warning: its scope is only this definition or declaration, which is probably not what you want util/macvtap.c: In function 'sendPortProfileMulticastMsg': util/macvtap.c:648: error: 'IFLA_VF_PORT_PROFILE' undeclared (first use in this function) util/macvtap.c:648: error: (Each undeclared identifier is reported only once util/macvtap.c:648: error: for each function it appears in.) util/macvtap.c:649: error: dereferencing pointer to incomplete type util/macvtap.c: In function 'unsetPortProfileId': util/macvtap.c:709: error: storage size of 'ivp' isn't known util/macvtap.c:711: error: invalid application of 'sizeof' to incomplete type 'struct ifla_vf_port_profile' util/macvtap.c:709: warning: unused variable 'ivp' [-Wunused-variable] util/macvtap.c: In function 'setPortProfileId': util/macvtap.c:733: error: storage size of 'ivp' isn't known util/macvtap.c:734: error: 'IFLA_VF_UUID_MAX' undeclared (first use in this function) util/macvtap.c:739: error: invalid application of 'sizeof' to incomplete type 'struct ifla_vf_port_profile' util/macvtap.c:734: warning: unused variable 'host_uuid' [-Wunused-variable] util/macvtap.c:733: warning: unused variable 'ivp' [-Wunused-variable] make[3]: *** [libvirt_util_la-macvtap.lo] Error 1 As of 2.6.34-rc7, 'IFLA_VF_PORT_PROFILE' is not yet in the kernel. Any estimate when this might change? -- Best regards, Gerhard Stenzel, ----------------------------------------------------------------------------------------------------------------------------------- IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Martin Jetter Geschäftsführung: Dirk Wittkopp Sitz der Gesellschaft: Böblingen Registergericht: Amtsgericht Stuttgart, HRB 243294