On 05/04/2012 12:51 PM, Laine Stump wrote:
Until now, virNetlinkCommand has assumed that the nl_pid in the
source
address of outgoing netlink messages should always be the return value
of getpid(). In most cases it actually doesn't matter, but in the case
of communication with lldpad, lldpad saves this info and later uses it
to send netlink messages back to libvirt. A recent patch to fix Bug
816465 changed the order of the universe such that the netlink event
service socket is no longer bound with nl_pid == getpid(), so lldpad
could no longer send unsolicited messages to libvirtd. Adding src_pid
as an argument to virNetlinkCommand() is the first step in notifying
lldpad of the proper address of the netlink event service socket.
---
src/util/virnetdev.c | 4 ++--
src/util/virnetdevmacvlan.c | 6 +++---
src/util/virnetdevvportprofile.c | 4 ++--
src/util/virnetlink.c | 13 +++++++------
src/util/virnetlink.h | 2 +-
5 files changed, 15 insertions(+), 14 deletions(-)
ACK. This one can technically be applied without waiting on lldpad
testing (although it doesn't hurt to wait to apply the series as a unit
when patch 1 and 4 pass testing).
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org