On Wed, Apr 2, 2014 at 10:42 PM, Dan Williams <[email protected]> wrote:
> On Sat, 2014-03-29 at 19:14 +0100, Yegor Yefremov wrote:
>> On Sat, Mar 29, 2014 at 7:06 PM, Yegor Yefremov
>> <[email protected]> wrote:
>> > Signed-off-by: Yegor Yefremov <[email protected]>
>>
>> This is my first attempt to add udhcpc. udhcpc starts, but nm doesn't
>> the info from it. How does dhcp.manager communicate with DHCP client?
>> Via lease file?
>
> NM calls dhclient with a custom script.  That script takes the
> environment variables that dhclient hands to the script, and stuffs them
> into a D-Bus message, which is then sent back to NetworkManager.  The
> script helper is src/dhcp-manager/nm-dhcp-helper.c.  The NM daemon-side
> code that parses that message is src/dhcp-manager/nm-dhcp-client.c in
> ip4_options_to_config() and ip6_options_to_config().
>
> dhcpcd at least used to use the same environment variable format as
> dhclient does, so it uses the same codepaths.  NM gives the same helper
> script to dhcpcd as it does to dhclient.

Thanks for the explanation. Now I have a better understanding for the system.

> But for udhcpc you'll have to look at how it passes the lease
> information to helper scripts.  That helper script could do the same
> basic thing as the dhclient one, and just shove the environment into a
> D-Bus message and hand it to NM.  Then the daemon-side code would parse
> that message and construct the internal NM DHCP configuration.
>
> What do the udhcpc helpers look like?

This man page (http://manpages.ubuntu.com/manpages/hardy/man8/udhcpc.8.html)
describes, what env vars are passed to the invoked script. I've seen
such a helper script by OpenWrt, but must look at it again and
thoroughly.

Yegor
_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to