- Notifications
You must be signed in to change notification settings - Fork137
[WIP] Linux: set broadcast flag by default for ipvlan interfaces.#33
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:master
Are you sure you want to change the base?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
rsmarples left a comment
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.
Mainly comments on style.
Otherwise looks good!
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
deliciouslytyped commentedApr 23, 2021
Please remember to change the documentation as well! |
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
ido commentedApr 25, 2021
I squashed the commits into one patch. So far, this sets broadcast. I might have a solution for setting unique IAIDs soon. |
Linux ipvlan interfaces share a MAC address with their siblings andparent physical interface. Before they are assigned an IP address,these virtual interfaces do not receive DHCP OFFER unicast messagesbecause the ipvlan driver does not know to pass them to the virtualinterface yet by IP. This chicken-and-egg problem is resolved withtwo changes:In this patch, we set the broadcast flag for an interface if itbelongs to the ipvlan driver, as detected via SIOCETHTOOL ETHTOOL_GDRVINFO.(closes#32)A forthcoming patch will automatically modify the DHCP IAID foripvlan interfaces so that they do not conflict with the parent(lower/physical) interface IAID. For now, dhcpcd will display a warninglog message when conflicting IAID (same MAC address) interfaces are active.(A minor grammar correction is included free of charge.)
Uh oh!
There was an error while loading.Please reload this page.
Differentiate between ioctl error and zero-length driver name in if_get_driver.
Uh oh!
There was an error while loading.Please reload this page.
The patch uses ethtool's
SIOCETHTOOLioctlto obtain the driver name of the interface, and turns on the broadcast flag by default when it detects anipvlaninterface. This does not yet differentiate between L2, L3, or L3S mode.@rsmarples we can use this
ethtoolmethod to detect most other device types, likebridgeandtuntap, without reading/sys. I might refactor those after this is cleaned up.TODO:
ipvlaninterfaces do not generate an IAID conflict:ipvlan0: IAID conflicts with one assigned to eth0Fixes#32