| From: Lubomir Rintel <lkundrak@v3.sk> |
| Date: Mon, 20 Jul 2015 11:01:04 +0200 |
| Subject: [PATCH] platform: move link_get_user_ipv6ll_enabled() to nm-platform-linux |
| Source: https://mail.gnome.org/archives/networkmanager-list/2015-July/msg00028.html |
| |
| This fixes build error kernels headers < 3.17. |
| |
| Reported-by: Petr Vorel <petr.vorel@gmail.com> |
| Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> |
| Signed-off-by: Petr Vorel <petr.vorel@gmail.com> |
| --- |
| src/platform/nm-linux-platform.c | 16 ++++++++++++++++ |
| src/platform/nm-platform.c | 11 ++--------- |
| src/platform/nm-platform.h | 1 + |
| 3 files changed, 19 insertions(+), 9 deletions(-) |
| |
| diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c |
| index f3a9254..b6b8e33 100644 |
| --- a/src/platform/nm-linux-platform.c |
| +++ b/src/platform/nm-linux-platform.c |
| @@ -2987,6 +2987,21 @@ link_set_user_ipv6ll_enabled (NMPlatform *platform, int ifindex, gboolean enable |
| } |
| |
| static gboolean |
| +link_get_user_ipv6ll_enabled (NMPlatform *platform, int ifindex) |
| +{ |
| +#if HAVE_LIBNL_INET6_ADDR_GEN_MODE |
| + { |
| + const NMPlatformLink *pllink; |
| + |
| + pllink = nm_platform_link_get (platform, ifindex); |
| + if (pllink && pllink->inet6_addr_gen_mode_inv) |
| + return _nm_platform_uint8_inv (pllink->inet6_addr_gen_mode_inv) == IN6_ADDR_GEN_MODE_NONE; |
| + } |
| +#endif |
| + return FALSE; |
| +} |
| + |
| +static gboolean |
| link_supports_carrier_detect (NMPlatform *platform, int ifindex) |
| { |
| const char *name = nm_platform_link_get_name (platform, ifindex); |
| @@ -4968,6 +4968,7 @@ |
| platform_class->link_get_udev_device = link_get_udev_device; |
| |
| platform_class->link_set_user_ipv6ll_enabled = link_set_user_ipv6ll_enabled; |
| + platform_class->link_get_user_ipv6ll_enabled = link_get_user_ipv6ll_enabled; |
| |
| platform_class->link_set_address = link_set_address; |
| platform_class->link_get_permanent_address = link_get_permanent_address; |
| |
| diff --git a/src/platform/nm-platform.c b/src/platform/nm-platform.c |
| index 8803377..ee4b1a1 100644 |
| --- a/src/platform/nm-platform.c |
| +++ b/src/platform/nm-platform.c |
| @@ -965,15 +965,8 @@ |
| |
| g_return_val_if_fail (ifindex >= 0, FALSE); |
| |
| -#if HAVE_LIBNL_INET6_ADDR_GEN_MODE |
| - { |
| - const NMPlatformLink *pllink; |
| - |
| - pllink = nm_platform_link_get (self, ifindex); |
| - if (pllink && pllink->inet6_addr_gen_mode_inv) |
| - return _nm_platform_uint8_inv (pllink->inet6_addr_gen_mode_inv) == IN6_ADDR_GEN_MODE_NONE; |
| - } |
| -#endif |
| + if (klass->link_get_user_ipv6ll_enabled) |
| + return klass->link_get_user_ipv6ll_enabled (self, ifindex); |
| return FALSE; |
| } |
| |
| diff --git a/src/platform/nm-platform.h b/src/platform/nm-platform.h |
| index 16eb351..9ef4080 100644 |
| --- a/src/platform/nm-platform.h |
| +++ b/src/platform/nm-platform.h |
| @@ -446,6 +446,7 @@ |
| GObject *(*link_get_udev_device) (NMPlatform *self, int ifindex); |
| |
| gboolean (*link_set_user_ipv6ll_enabled) (NMPlatform *, int ifindex, gboolean enabled); |
| + gboolean (*link_get_user_ipv6ll_enabled) (NMPlatform *, int ifindex); |
| |
| gboolean (*link_get_permanent_address) (NMPlatform *, |
| int ifindex, |
| -- |
| 2.4.3 |