rtsold: run script if MANAGED bit set #4476
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In FreeBSD 12.2-STABLE rtsold was changed to allow for a script to run when the router advertisement has the MANAGED flag set.
From rfc4861:
If the managed bit is set then the script specified with the -O option is not executed. The -M option is (currently) processed before the -O option. The {$g['varetc_path']}/rtsold_{$wanif}_script.sh never runs and therefore no DHCPv6 client is started.
I probably could have just changed the O option to M, but seemed safer and possibly more resistant to future rtsold changes to include both since only one will execute.
rtsold.c changes:
freebsd/freebsd-src@8ffcd47
https://reviews.freebsd.org/D26099
I also noticed that the {$g['varetc_path']}/rtsold_{$wanif}_script.sh is using $2 when the input to the script is only the name of the interface, but did not address that.