Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#37781 - [netctl] should be able to execute commands/scripts before bringing an interface up
Attached to Project:
Arch Linux
Opened by Pavel (bartender) - Friday, 15 November 2013, 18:14 GMT
Last edited by Jouke Witteveen (jouke) - Sunday, 02 March 2014, 17:25 GMT
Opened by Pavel (bartender) - Friday, 15 November 2013, 18:14 GMT
Last edited by Jouke Witteveen (jouke) - Sunday, 02 March 2014, 17:25 GMT
|
DetailsDescription:
I'll explain what currently goes wrong with an example. Since kernel 3.10 and recent iproute2 we have support for IPv6 "tokens" in Linux. When you use IPv6 stateless autoconfiguration, tokens allow you to set a custom host part for IPv6 address. If you run this: ip token set ::abcd/64 dev eth0 your auto-configured address will look like 2222:3333:4444:5555::abcd where 2222:3333:4444:5555:: is the net part you got from your router. To use this with netctl you configure the profile like so: IPCustom=("token set ::2/64 dev eth0") But it will have a side effect. The interface will have both the initial global address and the tokened address. The first one will expire in a few hours. We currently have to way to configure netctl so that in marks an interface "up" only after the token is set (if I'm not missing something). One can remove the first address in a script, but it would be pretty complicated since we don't know the exact address beforehand. Additional info: * package version: 1.4 * my profile: Description="bridge connection" Interface=br0 Connection=bridge BindsToInterfaces=(lan0 veth1) IP=dhcp TimeoutDHCP=15 IP6=stateless IPCustom=("token set ::2/64 dev br0") ExecUpPost='/usr/local/bin/firewall' I'm not using the actual Arch, I run netctl in Gentoo and in Arch Linux ARM. |
This task depends upon
Closed by Jouke Witteveen (jouke)
Sunday, 02 March 2014, 17:25 GMT
Reason for closing: Fixed
Additional comments about closing: 03afcdc
Sunday, 02 March 2014, 17:25 GMT
Reason for closing: Fixed
Additional comments about closing: 03afcdc
One way to implement this right now is by having an interface hook containing a line `ip token set ::2/64 dev "$(basename "$0")"`, but this would be executed every time netctl sources the hook.
If there was another systemd service run prior to netctl for the purpose of setting tokens, it would have the same problem.