[systemd-devel] networkd: Is auto-negotiation turned off when specifying parameters in a link file?

Paul Menzel paulepanter at users.sourceforge.net
Wed Apr 8 13:13:50 PDT 2015


Am Dienstag, den 07.04.2015, 18:37 +0200 schrieb Lennart Poettering:
> On Mon, 06.04.15 22:16, Paul Menzel wrote:
> 
> > Am Freitag, den 03.04.2015, 16:47 +0200 schrieb Lennart Poettering:
> > > On Thu, 02.04.15 13:11, Paul Menzel wrote:
> > 
> > > > some network cards with certain cables and devices take up to five
> > > > seconds so that the link is up [1].
> > > > 
> > > >         $ sudo journalctl -u systemd-networkd
> > > >         -- Logs begin at Fr 2015-03-20 17:39:31 CET, end at So 2015-03-22 08:39:39 CET. --
> > > >         Mär 20 17:39:31 myhostname systemd-networkd[245]: lo              : gained carrier
> > > >         Mär 20 17:39:31 myhostname systemd-networkd[245]: eth0            : link configured
> > > >         Mär 20 17:39:34 myhostname systemd-networkd[245]: eth0            : gained carrier
> > > > 
> > > > This is annoying if the system is up, but you cannot log into a server
> > > > because the NIC is so slow configuring the link.
> > > > 
> > > > The Linux kernel module developers from the e1000-devel mailing list
> > > > suggested the following [2]:
> > > > 
> > > > > Both sides either need to be forced or both sides need to be auto-neg.
> > > > > Otherwise the auto-negotiation process will usually detect link (the
> > > > > physical signal) but fail to find duplex (since one side is not
> > > > > talking) and default to the lowest common denominator, e.g. half
> > > > > duplex.  So, you could try forcing speed, it may look right on your
> > > > > end but if you have no visibility to the other end it could be running
> > > > > at half duplex.
> > > > >
> > > > > You may be able to speed up the auto negotiation process by
> > > > > exclusively advertising 1000 Mbps Full Duplex.
> > > > >
> > > > > # ethtool -s ethX advertise 0x20
> > > > 
> > > > In the IRC channel #systemd at irc.freenode.net somebody told me to look
> > > > into systemd’s network link configuration (`man systemd.link`).
> > > > 
> > > > Reading the manual page, it’s not clear to me, if auto-negotiation is
> > > > going to be disabled, if the following is set.
> > > > 
> > > >         BitsPerSecond=1G
> > > >         Duplex=Full
> > > > 
> > > > Is that equivalent to `ethtool -s ethX advertise 0x20`? If not, how
> > > > could I set that up?
> > > 
> > > BitsPerSecond= and Duplex= are equivalent to "ethtool speed" and
> > > "ethtool duplex". 
> > > 
> > > We currently have no setting in .link files that was equivalent to
> > > "ethtool advertise". Maybe we could add that, Tom?
> > > 
> > > Paul, are you sure that this will really cut 5s from the configuration
> > > time? Did you try this?
> > 
> > I am not sure and didn’t try this, as I do not know where to integrate
> > that `ethtool -s eth0 advertise …` call. In udev or `systemd-networkd`?
> > 
> > If somebody could help me, how I can test this, I’ll report my findings
> > back.
> 
> Wouldn't it suffice to unplug the ethernet cable, then use ethtool to
> turn this on, then replug it, and measuring the time until networkd
> notices the link beat is back?

It would. But this is a rented Hetzner server and I have no access to
the data center. Do you have another idea. Please keep in mind that I
also only have remote access using that NIC. ;-)


Thanks,

Paul
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20150408/6353ff06/attachment.sig>


More information about the systemd-devel mailing list