New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
networkd: Fix Link up #12505
networkd: Fix Link up #12505
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change seems reasonable. If it works, then I'd like to drop link_configure_addrgen_mode()
. As you already mentioned it is redundant.
6d3b57f
to
d47c8a3
Compare
updated PTAL @yuwata . Thanks for review. |
Hmm, test_link_local_addressing fails... |
d47c8a3
to
1378e12
Compare
Looks nice. Still |
yes seems to be . It bit to handle kernel. when |
CI failure seems unrelated
|
1378e12
to
c67fbb8
Compare
Fillup IFLA_INET6_ADDR_GEN_MODE while we do link_up. ``` dummy-test: Adding route: dst: fe80::cc89:aeff:fe07:bf/128, src: n/a, gw: n/a, prefsrc: n/a dummy-test: Could not bring up interface: Invalid argument <==================== vxlan-test: Link state is up-to-date ``` After reading the kernel code when we do a link up ``` net/core/rtnetlink.c IFLA_AF_SPEC af_ops->set_link_af(dev, af); inet6_set_link_af if (tb[IFLA_INET6_ADDR_GEN_MODE]) Here it looks for IFLA_INET6_ADDR_GEN_MODE ``` Since link up we don't filling up that it's failing. Closes systemd#12504 and possible same issue as per systemd#10881
c67fbb8
to
4d48747
Compare
(BTW, I think this is a bug of |
I think the In the code of
If you interested or I will add it. |
I noticed 0e2fdb8 did that. This PR partially revert the commit :-p |
I am not sure the usecase... Let's do that when someone requests. |
Fillup IFLA_INET6_ADDR_GEN_MODE while we do link_up. Fixes the following error: ``` dummy-test: Could not bring up interface: Invalid argument ``` After reading the kernel code when we do a link up ``` net/core/rtnetlink.c IFLA_AF_SPEC af_ops->set_link_af(dev, af); inet6_set_link_af if (tb[IFLA_INET6_ADDR_GEN_MODE]) Here it looks for IFLA_INET6_ADDR_GEN_MODE ``` Since link up we didn't filling up that it's failing. Closes systemd#12504.
Fillup IFLA_INET6_ADDR_GEN_MODE while we do link_up. Fixes the following error: ``` dummy-test: Could not bring up interface: Invalid argument ``` After reading the kernel code when we do a link up ``` net/core/rtnetlink.c IFLA_AF_SPEC af_ops->set_link_af(dev, af); inet6_set_link_af if (tb[IFLA_INET6_ADDR_GEN_MODE]) Here it looks for IFLA_INET6_ADDR_GEN_MODE ``` Since link up we didn't filling up that it's failing. Closes systemd#12504. (cherry picked from commit 4eb086a) (cherry picked from commit 8fbc72f)
Fillup IFLA_INET6_ADDR_GEN_MODE while we do link_up. Fixes the following error: ``` dummy-test: Could not bring up interface: Invalid argument ``` After reading the kernel code when we do a link up ``` net/core/rtnetlink.c IFLA_AF_SPEC af_ops->set_link_af(dev, af); inet6_set_link_af if (tb[IFLA_INET6_ADDR_GEN_MODE]) Here it looks for IFLA_INET6_ADDR_GEN_MODE ``` Since link up we didn't filling up that it's failing. Closes systemd#12504. (cherry picked from commit 4eb086a) (cherry picked from commit 8fbc72f)
On torvalds/linux@7dc2bccab0ee ("Validate required parameters in inet6_validate_link_af") inet6_set_link_af requires that at least one of IFLA_INET6_TOKEN or IFLA_INET6_ADDR_GET_MODE is passed. If none of them is passed, it returns -EINVAL. This was introduced for 5.2-rc2. Currently systemd 242 is failling to bring up the interface using kernel 5.2 and was reported at systemd/systemd#12784. There recomend to use systemd/systemd@4eb086a38712 ("networkd: fix link_up() (systemd/systemd#12505)") and systemd/systemd@9f6e82e6eb3b ("network: do not send ipv6 token to kernel"), to fix the issue.
Fillup IFLA_INET6_ADDR_GEN_MODE while we do link_up. Fixes the following error: ``` dummy-test: Could not bring up interface: Invalid argument ``` After reading the kernel code when we do a link up ``` net/core/rtnetlink.c IFLA_AF_SPEC af_ops->set_link_af(dev, af); inet6_set_link_af if (tb[IFLA_INET6_ADDR_GEN_MODE]) Here it looks for IFLA_INET6_ADDR_GEN_MODE ``` Since link up we didn't filling up that it's failing. Closes systemd#12504.
Fillup IFLA_INET6_ADDR_GEN_MODE while we do link_up. Fixes the following error: ``` dummy-test: Could not bring up interface: Invalid argument ``` After reading the kernel code when we do a link up ``` net/core/rtnetlink.c IFLA_AF_SPEC af_ops->set_link_af(dev, af); inet6_set_link_af if (tb[IFLA_INET6_ADDR_GEN_MODE]) Here it looks for IFLA_INET6_ADDR_GEN_MODE ``` Since link up we didn't filling up that it's failing. Closes systemd#12504.
Fillup IFLA_INET6_ADDR_GEN_MODE while we do link_up. Fixes the following error: ``` dummy-test: Could not bring up interface: Invalid argument ``` After reading the kernel code when we do a link up ``` net/core/rtnetlink.c IFLA_AF_SPEC af_ops->set_link_af(dev, af); inet6_set_link_af if (tb[IFLA_INET6_ADDR_GEN_MODE]) Here it looks for IFLA_INET6_ADDR_GEN_MODE ``` Since link up we didn't filling up that it's failing. Closes systemd#12504.
Fillup IFLA_INET6_ADDR_GEN_MODE while we do link_up. Fixes the following error: ``` dummy-test: Could not bring up interface: Invalid argument ``` After reading the kernel code when we do a link up ``` net/core/rtnetlink.c IFLA_AF_SPEC af_ops->set_link_af(dev, af); inet6_set_link_af if (tb[IFLA_INET6_ADDR_GEN_MODE]) Here it looks for IFLA_INET6_ADDR_GEN_MODE ``` Since link up we didn't filling up that it's failing. Closes systemd#12504. (cherry picked from commit 4eb086a)
Fill up IFLA_INET6_ADDR_GEN_MODE while we do link_up.
After reading the kernel code when we do a link up
Since link up we don't filling up that it's failing.
Closes #12504 and possible same issue as per #10881
it seems
link_configure_addrgen_mode
reductant now.