diff options
author | Jouke Witteveen <j.witteveen@gmail.com> | 2012-05-17 11:01:10 +0200 |
---|---|---|
committer | Jouke Witteveen <j.witteveen@gmail.com> | 2012-05-17 11:01:10 +0200 |
commit | 0d3e56bf3809b03e1c60a5dce0d7bb8510720369 (patch) | |
tree | 78473972a45d9bc675d3c543009c873637024d90 /Makefile | |
parent | 91ff1c8c4ee490d113ac25fbca0f4596ca069a7d (diff) | |
download | netctl-0d3e56bf3809b03e1c60a5dce0d7bb8510720369.tar.gz netctl-0d3e56bf3809b03e1c60a5dce0d7bb8510720369.tar.xz |
Wait for DAD when using IPv6 (FS#28887)
In IPv6 you cannot bind to an address as long as it is not determined to be unique through Duplicate Address Detection. This can cause problems when routes in ROUTES6 reference a tentative source address or when something that starts after netcfg tries to.
This patch does a few things:
- Improve ROUTES(6) logic so that non-static connections can make use of them as intended according to the commit message of c8be1.
- Make additional arguments possible for ADDR6 addresses and ROUTES6 routes, such as ADDR6=('1234:5678:9abc:def::1/64 nodad').
- Introduce a DAD_TIMEOUT variable that governs how long to wait for DAD to finish.
- Move IPCFG processing to after IPv6 address set-up (it already was after IPv4 address set-up), so that custom commands can be sure to have working addresses.
WARNING: This changes make it impossible to use ROUTES6 and set the address through IPCFG instead of ADDR6. This was bad, unsupported practice, but sometimes needed as ADDR6 did not allow config flags to be used. Resolving this issue should be no problem: you should be able to properly use ADDR6 now. If not, then be a real hacker and set the routes through IPCFG too.
Many thanks to Steve Caligo for reporting this bug and helping out in finding a solution.
Diffstat (limited to 'Makefile')
0 files changed, 0 insertions, 0 deletions