datapath: Ignore return value from rtnl_notify().
authorBen Pfaff <blp@nicira.com>
Wed, 24 Jun 2009 21:58:57 +0000 (14:58 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 15 Oct 2009 17:24:36 +0000 (10:24 -0700)
commit5562d3ccd2073617fa2cb6a1384bbae0b5a08109
tree1443a8c15588f4a54ae0bd9fbc688d58fa937947
parent1b378b99f638212216f2090cb7be7efab3d90c14
datapath: Ignore return value from rtnl_notify().

In Linux 2.6.30, the rtnl_notify() return type was changed from int to
void along with the following commit message:

    This patch also modifies the rtnetlink code to ignore the return
    value of rtnl_notify() in all callers. The function rtnl_notify()
    (before this patch) returned the error of the unicast notification
    which makes rtnl_set_sk_err() reports errors to all listeners. This
    is not of any help since the origin of the change (the socket that
    requested the echoing) notices the ENOBUFS error if the notification
    fails and should resync itself.

Thus there's no point in checking the return value, even in older versions
of the kernel, and so this commit changes our code to ignore it, even
on older kernel versions.  We also update the rtnl_notify() wrapper macros
to make the return type void on older kernel versions.

This has not been tested, just built.

Thanks to Mikio for spurring me to try building with Linux 2.6.29 and
2.6.30.
datapath/datapath.c
datapath/linux-2.6/compat-2.6/include/linux/rtnetlink.h