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>
Wed, 24 Jun 2009 21:58:57 +0000 (14:58 -0700)
commitcfe7c1f5e8c64866cc9c831f5559f0b3b44f66da
treec945f85706e5a79861cbbd52fadbde21d6eeb944
parentf30f26bef42da4b9a81e8363152563f5f0915aca
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