]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
libnetlink: Use ifinfomsg instead of rtgenmsg in rtnl_wilddump_req_filter
authorAlexander Duyck <alexander.h.duyck@intel.com>
Thu, 25 Apr 2013 12:07:10 +0000 (12:07 +0000)
committerStephen Hemminger <stephen@networkplumber.org>
Fri, 26 Apr 2013 23:40:30 +0000 (16:40 -0700)
This change corrects a kernel incompatibility that was resulting in the
ext_filter_mask not being correctly discovered by the kernel as it is buried
somewhere in the ifinfomsg.

Reported-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Acked-by: David S. Miller <davem@davemloft.net>
lib/libnetlink.c

index 04201cdc751a3c581ed1d2edd36be90aeb211654..b17e1aae9b69e3e497263a41f629b2debe90dd99 100644 (file)
@@ -99,7 +99,7 @@ int rtnl_wilddump_req_filter(struct rtnl_handle *rth, int family, int type,
 {
        struct {
                struct nlmsghdr nlh;
-               struct rtgenmsg g;
+               struct ifinfomsg ifm;
                /* attribute has to be NLMSG aligned */
                struct rtattr ext_req __attribute__ ((aligned(NLMSG_ALIGNTO)));
                __u32 ext_filter_mask;
@@ -111,7 +111,7 @@ int rtnl_wilddump_req_filter(struct rtnl_handle *rth, int family, int type,
        req.nlh.nlmsg_flags = NLM_F_DUMP|NLM_F_REQUEST;
        req.nlh.nlmsg_pid = 0;
        req.nlh.nlmsg_seq = rth->dump = ++rth->seq;
-       req.g.rtgen_family = family;
+       req.ifm.ifi_family = family;
 
        req.ext_req.rta_type = IFLA_EXT_MASK;
        req.ext_req.rta_len = RTA_LENGTH(sizeof(__u32));