Commit ae0f3a2b authored by Vladimir Bashkirtsev's avatar Vladimir Bashkirtsev

Fixed networkd to work with linux 5.2

parent 889b7ba8
target all: LC_ALL=$(SYSTEM_LOCALE) target all: LC_ALL=$(SYSTEM_LOCALE)
all: systemd-user-sessions network-config all: systemd-user-sessions network-config
tar xf systemd-241.tar.gz tar xf systemd-241.tar.gz
patch -Np1 -d systemd-241 < systemd-241-networkd_fix.patch
ln -s /tools/bin/true /usr/bin/xsltproc ln -s /tools/bin/true /usr/bin/xsltproc
cd systemd-241 && tar xf ../systemd-man-pages-241.tar.xz cd systemd-241 && tar xf ../systemd-man-pages-241.tar.xz
cd systemd-241 && sed -i 's/GROUP="render", //' rules/50-udev-default.rules.in cd systemd-241 && sed -i 's/GROUP="render", //' rules/50-udev-default.rules.in
......
diff -uNr systemd-241/src/network/networkd-link.c systemd-241-networkd_fix/src/network/networkd-link.c
--- systemd-241/src/network/networkd-link.c 2019-02-14 20:41:58.000000000 +1030
+++ systemd-241-networkd_fix/src/network/networkd-link.c 2019-09-12 04:14:16.658391425 +0930
@@ -1788,6 +1788,9 @@
assert(link->manager);
assert(link->manager->rtnl);
+ if (!socket_ipv6_is_supported())
+ return 0;
+
log_link_debug(link, "Setting address genmode for link");
r = sd_rtnl_message_new_link(link->manager->rtnl, &req, RTM_SETLINK, link->ifindex);
@@ -1889,31 +1892,6 @@
return log_link_error_errno(link, r, "Could not set MAC address: %m");
}
- if (link_ipv6_enabled(link)) {
- r = sd_netlink_message_open_container(req, IFLA_AF_SPEC);
- if (r < 0)
- return log_link_error_errno(link, r, "Could not open IFLA_AF_SPEC container: %m");
-
- /* if the kernel lacks ipv6 support setting IFF_UP fails if any ipv6 options are passed */
- r = sd_netlink_message_open_container(req, AF_INET6);
- if (r < 0)
- return log_link_error_errno(link, r, "Could not open AF_INET6 container: %m");
-
- if (!in_addr_is_null(AF_INET6, &link->network->ipv6_token)) {
- r = sd_netlink_message_append_in6_addr(req, IFLA_INET6_TOKEN, &link->network->ipv6_token.in6);
- if (r < 0)
- return log_link_error_errno(link, r, "Could not append IFLA_INET6_TOKEN: %m");
- }
-
- r = sd_netlink_message_close_container(req);
- if (r < 0)
- return log_link_error_errno(link, r, "Could not close AF_INET6 container: %m");
-
- r = sd_netlink_message_close_container(req);
- if (r < 0)
- return log_link_error_errno(link, r, "Could not close IFLA_AF_SPEC container: %m");
- }
-
r = netlink_call_async(link->manager->rtnl, NULL, req, link_up_handler,
link_netlink_destroy_callback, link);
if (r < 0)
@@ -3001,11 +2979,9 @@
return r;
}
- if (socket_ipv6_is_supported()) {
- r = link_configure_addrgen_mode(link);
- if (r < 0)
- return r;
- }
+ r = link_configure_addrgen_mode(link);
+ if (r < 0)
+ return r;
return link_configure_after_setting_mtu(link);
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment