TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Eth0 no more?

154 pointsby PassTheAmmoabout 14 years ago

13 comments

_b8r0about 14 years ago
I can understand why people will resist this, thinking that somehow renaming eth0 to em0 or similar will break stuff, but here's the rub: It'll only break stuff that's badly written.<p>There's a right way to enumerate network interfaces and a wrong way (which is dependent on the language you're using for enumeration - the wrong way is assuming that eth0 is the only network device).<p>Bear in mind that the new convention is not entirely dissimilar to how WiFi cards have worked on Linux for some time, so the only things that will break will be things that:<p><pre><code> a) Assume eth0 instead of enumerating devices b) Have a legitimate reason for using eth0 only (I can't think of one, but I wouldn't be surprised if one existed)</code></pre>
评论 #2256169 未加载
zdwabout 14 years ago
Mac OS X and Linux are the only OS's that I'm aware of that put all ethernet nics in the same device namespace.<p>Everyone else has separate device namespaces for - you might have an fxp0 , rl0, hme0, etc. on any BSD or Solaris machine.<p>Rather than looking in /dev, they really ought to be parsing the output of <i>ifconfig -a</i>.
评论 #2255003 未加载
评论 #2254867 未加载
评论 #2254921 未加载
评论 #2256088 未加载
javanixabout 14 years ago
From the limitations section of the wiki page linked in the article:<p><i>Not all add-in cards have a method to expose their Linux interface name(s) to external port mapping. biosdevname may provide incorrect names for such. Discussions are ongoing on the netdev mailing list to standardize a method of exposing such mapping.</i><p>Seems like this would be kind of a deal-breaker for any wholesale move like this. I'd be fairly surprised if this got any widespread adoption anytime soon.
评论 #2254886 未加载
eklitzkeabout 14 years ago
There was a pretty good discussion about this on LWN a while back, I recommend it to anyone who wants more information (both the commentary their, as well as the linked article): <a href="https://lwn.net/Articles/424859/" rel="nofollow">https://lwn.net/Articles/424859/</a>
rdtscabout 14 years ago
Here is a whitepaper from Dell that discusses some of these issues and provides some of the solutions. It is a couple of years old but still relevant:<p><a href="http://linux.dell.com/files/whitepapers/nic-enum-whitepaper-v3.pdf" rel="nofollow">http://linux.dell.com/files/whitepapers/nic-enum-whitepaper-...</a>
16sabout 14 years ago
The BSDs have always done this... if I recall correctly, em is an Intel based NIC.<p>NAME em - Intel PRO/1000 10/100/Gigabit Ethernet device<p><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=em&#38;apropos=0&#38;sektion=0&#38;manpath=OpenBSD+Current&#38;arch=i386&#38;format=html" rel="nofollow">http://www.openbsd.org/cgi-bin/man.cgi?query=em&#38;apropos=...</a><p>Edit: Reading more of that thread I may be off-base here, but naming a network interface em that's not powered by certain Intel chipsets will be very confusing to BSD users. Just my 2 cents.
spydumabout 14 years ago
People will whine and complain about this, but it's about time some sanity was brought to Linux's network device names. The eth* enumeration has been terrible for quite a long time, especially when dealing with servers housing multiple interfaces. And if you don't like the solution, they explicitly say you can just set biosdevname=0 on the kernel params and carry on with the previous insanity.
beobaabout 14 years ago
Looks like this could solve the problem of network interfaces renaming themselves after reboots. Hooray!
评论 #2254857 未加载
评论 #2254836 未加载
samuel1604about 14 years ago
From a quick look on a fresh ubuntu small server install it does not seem there is much that reference eth* scheme :<p><pre><code> ~$ sudo egrep -Irl 'eth[0-9]' /etc /usr 2&#62;/dev/null |wc -l 27</code></pre>
dhughesabout 14 years ago
With eth changing to em and mile long IPv6 addresses it's going to be a strange world.
d135-1r43about 14 years ago
I assume any consumer OS will generate a symlink for compatibility reasons.
评论 #2255681 未加载
评论 #2255431 未加载
chopsueyarabout 14 years ago
'know' one knows?
BlazingFrogabout 14 years ago
"... something else that <i>know one</i> will recognise ..."<p>Really??