[systemd-devel] [PATCH 02/24] sd-dhcp6-client: Add Router Solicitation and Advertisement support

Patrik Flykt Patrik.Flykt at linux.intel.com
Mon Jun 16 02:39:41 PDT 2014


	Hi,

On Fri, 2014-06-13 at 12:17 -0500, Dan Williams wrote:

> 1) usage of struct ether_addr may prevent correct operation on
> non-ethernet links, like Infiniband or PPP or GRE.  They don't have
> 6-byte MAC addresses, so anywhere that currently uses a MAC address I'd
> suggest passing "u8*, u8 len" instead, to allow for non-ethernet links.
> See ndisc_fill_addr_option() in the kernel...

Currently the MAC address is used as a fallback method for IAID creation
if the client runs in a container and can't access udev. If set, the MAC
address is also optionally sent in the router solicitation link address
option. Is the link address option mandatory for the links you listed
above?

The router solicitation code uses an IPPROTO_ICMPV6 socket bound to the
interface so that it avoids link-local IPv6 and MAC addresses
altogether.

> 2) as I replied to Tom, could we keep RS/RA code together and not tie it
> with DHCP stuff, since they aren't really related?  DHCP is the consumer
> of the M/O bits, but if DHCP isn't requested at all by the router via
> the M/O bits, there's no reason for DHCP to ever be involved in the
> process.  I think it would be better to keep them fully separate.

That I can do. Besides, such an API can then be extended to supply
networkd with DNS server information from the router advertisments. Once
someone has the time to write such code, that is.


Cheers,

	Patrik



More information about the systemd-devel mailing list