[systemd-devel] Wireless mesh networks and link_carrier_gained

Roger James roger at beardandsandals.co.uk
Tue Dec 18 05:46:20 UTC 2018


Hello,

I have been testing the uses of systemd-networkd to configure wireless mesh 
networks, and have encountered a problem which manifests itself as a 
failure to correctly configure the additional dchp options offered by the 
inbuilt dhcpv4 server.

This is related to the following commit.

https://github.com/systemd/systemd/commit/45a9eac9a0c85c0c76b46388a530edd335ae44af#diff-12a3ecdf5af7aa9f8583c27ac442ca43

This commit makes an assumption that carrier has been lost before it can be 
gained.

Mesh networks require configuration by external agents such as 
wpa_supplicant, hostapd or other command line tools. These can/will cause 
the carrier gained event to be generated. In the current code this causes 
an assertion which aborts further address configuration on the link.

I have attempted to fix this by checking whether the dhcp server is running 
before starting it again. This has opened a can of worms regarding the use 
of carrier state in relation to the configuration state of the link, when 
in fact  they are entirely unrelated.

I think this has already been debated elsewhere, but I cannot find the 
reference.

I am happy to share my code if anyone is interested.

Roger




More information about the systemd-devel mailing list