<p dir="ltr"><br>
On 30 May 2014 10:25, "Patrik Flykt" <<a href="mailto:Patrik.Flykt@linux.intel.com">Patrik.Flykt@linux.intel.com</a>> wrote:<br>
><br>
> On Thu, 2014-05-29 at 18:18 +0100, Tom Gundersen wrote:<br>
> > + if (link->udev_device) {<br>
> > +     const char *l2;<br>
> > +<br>
> > +     l2 = udev_device_get_sysattr_value(link->udev_device, "layer2");<br>
> > +     if (l2) {<br>
> > +             unsigned layer2;<br>
> > +<br>
> > +             r = safe_atou(l2, &layer2);<br>
> > +             if (r < 0)<br>
> > +                     return r;<br>
> > +<br>
> > +             if (!layer2) {<br>
> > +                     r = sd_dhcp_client_request_broadcast(link->dhcp_client);<br>
> > +                     if (r < 0)<br>
> > +                             return r;<br>
> > +             }<br>
><br>
> Am I now missing something if I can't find the<br>
> file /sys/class/net/<device>/device/layer2 for a regular networking<br>
> interface? The above enables broadcast only for virtual interfaces,<br>
> right?</p>
<p dir="ltr">That's correct. My hope was that the interfaces that require broadcast would expose that somehow. It appears that's not the case, so a scheme like yours sounds more robust.</p>
<p dir="ltr">I'm wondering if the criterion should be to request broadcast if and only if we have not configured an IP address (I.e. only in discovering, requesting and init-reboot), as that seems to be the problem, or did I get that wrong?</p>

<p dir="ltr">Cheers,</p>
<p dir="ltr">Tom</p>