Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Network Manager 1.0 Released after 10 years of development (gnome.org)
121 points by Mister_Snuggles on Dec 23, 2014 | hide | past | favorite | 37 comments


> A faster, lighter-weight internal DHCP client based on code from systemd-networkd has been added

This is huge news. systemd-networkd's DHCP client, thanks to Tom Gundersen's work, can successfully get an address in milliseconds, rather than the many seconds required by dhclient. See https://plus.google.com/+TomGundersen/posts/eztZWbwmxM8 for some of the details.

I eagerly await wireless networking support in systemd-networkd, but in the interim, this will drastically improve network setup time on the average Linux system.


The author of dhcpcd (Roy Marples) also weighs in the discussion, saying that the former matches the same speed as long as ARP checking is disabled.

So really, it seems to me that the only reason networkd's DHCP is fast is because it's bare bones (and also skips a few sections of RFC 1531, according to Jayson Vantuyl... which doesn't sound good). Only dealing with lease negotiation, if Gundersen's statement near the end is still true.


IIRC, Apple also does something similar (skipping a few sections of the standard) to acquire a lease faster. That's why Macs connect faster to the network.

I'm not an expert on the implementation of mac/windows/linux so maybe someone who knows can chip in.


Upon reconnectionn to the network the Apple OSs immediately resume using their previous lease address on the network, whilst initiating DHCP in the background.

Works OK in small domestic networks but can cause some issues in big uni and corporate nets with frequent address churn.


Didn't they do something similar on iPhone, only to discover that it was a security risk because the damn thing would reveal to anyone within broadcast range what networks you frequented?



That's great news indeed ! Thanks for the informative link.

Does it now work wireless though ? From the link you shared :

    Using networkd together with wpa_supplicant on my laptop on my crappy home wifi, the time from link-sense to fully configured network is roughly 50ms


Yeah I'm pretty excited by this. Its one of those small usability improvements that will make everything just feel nicer.


That post has some nice specs but didn't hint at what any of the fixes were. Why was it so slow to begin with?


See this article for some of the optimisations that are possible [1] - not sure which systemd has implemented.

[1] http://cafbit.com/entry/rapid_dhcp_or_how_do


Gotta "love" the exchange between Kay Seivers and Ted Lemon in the comments of that post...


Is this the same thing as dhcpcd or something else?


Seems like nmcli is still kind of a second-class citizen— would be interested to see an in-depth comparison between nmcli and connman for the use case of a wifi-connected headless device.


At least you can connect to new networks now. Pre 1.0 it was practically a joke.


Try nmtui


So NetworkManager has been using the GRUB model of what "1.0" means, then?


Everyone who gets to touch a version number should have a read of http://semver.org/ first. And for this particular case, the FAQ question "How do I know when to release 1.0.0?" is particularly appropriate.

My favourite one to watch was the roguelike ADoM, which went through 0.1 - 0.9, then 0.91 - 0.99, then .99alpha - .99gamma, then got up to .99gamma16 before it finally hit 1.0.


I'm sure drivers play a part in it but I always found Network Manager to be more inconsistent than WICD.


Has anyone tried the bridge support? Can it be used reliably yet? (I sure hope so for a 1.0 release).


I am using the one from Fedora 21 which is definitely pre 1.0 and bridge support seems to work fine with KVM.

What issues have you had?


fairly certain bridging works fine, though it does not support bridging to a teamed interface for some reason (though it can be manually setup)


got my first real exposure on NetworkManager/nmcli this past week doing some redhat 7 stuff. it turns out that it works quite well. For automation stuff, it definitely beats trying to sed a bunch of ifcfg- files. havent really touched the gui though.


Redhat 7? Oh you must mean RHEL 7. Redhat 7.1 was the first distro I ever installed back in 2001. At the time NetworkManager didn't exist.


Does this mean I should switch from wicd? Wicd seemed to install better in xfce/debian environments, but dislikes certain networks when connecting for some reason.


where is reliable, easy internet connection sharing on linux?

i've built scripts that serve ics but only under shamanic preconditions that elude me

network manager is supposed to allow for it with their 'share this connection' but getting it to work has also eluded me

on a windows7 boot everything just works with ics, but then i'm booted into windows

gramm`err : /allude/elude/


Unfortunately every couple of years the popular kids come up with a new half-assed GUI for doing this stuff, but if you stick to the command line then the same simple things that have always worked still work, viz:

    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Ta-da, basic internet connection sharing is working. (If you want automatic network configuration for the devices that are connecting to your machine, you'll need to install and configure a dhcp server e.g. dhcpd)

Edit: oh, no, that won't work, your network device is no longer eth0 because the distros have been messing around with it again. Sorry, I can't help, I moved to FreeBSD years ago to get away from this crap.


I believe that is what justifier was alluding to as 'shamanic preconditions'.


They're two simple lines and they work everywhere; I'd understand "shamanic" to mean things that work as long as you sacrifice a chicken and the phase of the moon is right and your heart is pure. i.e. networkmanager.


The shamanic line was because those two lines you suggested would sometimes work, then suddenly stop working, or just fall to start working, or even rarely dibilitate all network activity where manually removing the flag and disabling the route failed to fix anything; then requiring a full reboot to fix

Sometimes using those two lines would work alone, sometimes they would only work in conjunction with more lines with different flags.. This is why I said reliable and shamanic

I run ubuntu 1404 server, slack on my notebook, debian on my home box.. Those two lines all do something different on each at different times of day under different moons, or alike when they all fail to do anything at all

I chalked it up to some kind of collision with how nm or wicd, machine respective, were trying to run their show


On slack or pre-systemd debian, those two lines work 100% reliably (I've used them thousands of times), unless you've installed something that would screw them up. On ubuntu I wouldn't be surprised if network manager arbitrarily messed up your stuff.


i have wicd installed on both and it seems to have a waffling identity crisis trying to connect to both my eth0 and wlan0

its been years since i tried a *BSD back in my greener days when i was trying every alt os around before i settled on linux by way of slack, but itd be interesting to look at it now with more knowledge of the whys and wherefores


The key is to create/keep a network profile with IPv4 specifically set to "Shared to other computers". This way, when I have one connection to the internet (on a different interface, of course) I just pick this aptly named "Shared" connection in the applet. Works just fine!


Grammar nazi here: elude


thanks for the free copy

you are fine to point out when sumone errs without associating yourself with a genocidal political movement

still.. any thoughts on linux ics?


Grammar something nobody will be offended by here: someone.


allow me to avoid further misunderstanding due my brevity and idiosyncratic humor..

I was unoffended by the parent referring to thaemself as a grammar Nazi, my message latent in my response was a genuine appreciation for bringing my error to my attention, and my lament that so much culture is afraid to make a mistake that we shame people who explain correct usage to the point that as a defense people preemptively shame themselves

Like I said,'its fine to correct sumone[sic]'

Also, sumone was an international mistake intended to make people smile and remind us of our humanity:'to err is to be humen'


On my Mac, getting connection sharing to work is always hokey, and it works better when I intentionally trigger some race conditions and then go and change things with `ifconfig`. I suspect this is just hard.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: