Announcement

Collapse
No announcement yet.

Systemd Is Working Towards Its Own Super Fast DHCP Server, Client

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Systemd, the Emacs of init systems.

    Comment


    • #12
      Originally posted by Ericg View Post
      One small note... This is about adding dhcp to systemd-networkd. Under the "systemd" umbrella but not a part of systemd (PID 1). Systemd-networkd is a small network config utility for those who don't want to a custom solution but for whom NetworkManager is overkill.
      ok, as far as i remember there was a plan for NM to be able to go trough systemd-networkd (might be wrong). but, does that translates into networkd being client of dhcpd or reinventing the wheel (aka, networkd reimplementing whole dhcpd)? client was never a problem in my question, just server.

      Originally posted by doom_Oo7 View Post
      Well, when you install Debian you get Apache server, etc... by default in the boot process. (imho it is bad, too, and I generally go for a netinst w/ systemd).
      However maybe with socket activation their dhcp server will be launched only when a dhcpdiscover message is received ?
      there is a difference between booting whole distro and pid1. but, english is not my native language, so it might just being me asking wrong question

      Comment


      • #13
        This must be April fools.

        Comment


        • #14
          Originally posted by justmy2cents View Post
          ok, as far as i remember there was a plan for NM to be able to go trough systemd-networkd (might be wrong). but, does that translates into networkd being client of dhcpd or reinventing the wheel (aka, networkd reimplementing whole dhcpd)? client was never a problem in my question, just server.



          there is a difference between booting whole distro and pid1. but, english is not my native language, so it might just being me asking wrong question
          The DHCP server presented here is not in the PID1... PID1 starts it, that's all.

          Comment


          • #15
            Originally posted by doom_Oo7 View Post
            The DHCP server presented here is not in the PID1... PID1 starts it, that's all.
            which would differ from now... how? it's april 2nd here, but i kinda think this is just april 1st joke out of my GMT. hmmm, correction... i hope it is, lol

            Comment


            • #16
              Originally posted by justmy2cents View Post
              which would differ from now... how? it's april 2nd here, but i kinda think this is just april 1st joke out of my GMT. hmmm, correction... i hope it is, lol
              Do you see a different between putting the web server in the kernel vs user space? Not exactly analogous but, similarity is that you want to keep as much out of pid1/kernel you can. Make them add simple and this reliable, as possible.

              Comment


              • #17
                This is not an April Fool's joke. There already is dhcp in networkd. The improvements Gunderson talked about is already in systemd-212 I believe. After reading his post on Google+, I immediately enabled networkd to try it out.

                it was pretty amazing. On my wifi, I really did get sub 50ms lease time. And so I'll just take his word for it when he says that when network latency is taken out of the equation, sub 1ms times can be achieved (when dhcp server is run locally in the case of containers). I don't know what everyone's complaining about, this is amazing. And it doesn't have to be started up at boot unless you enable it (like any other service file)

                Comment


                • #18
                  Originally posted by justmy2cents View Post
                  hmmm, can anyone involved explain this? i mean, i understand client as part of booting process, but... server? stucking whole dhcp server complexity into regular boot... i'm kinda having hard time to understand it. stucking half assed partial implementation makes even less sense.
                  I understand the confusion, a bit of context is required to make sense of this You almost certainly already have a DHCP client as part of your boot process. It is probably being forked off as a separate daemon from whatever configures your network (maybe NetworkManager?). networkd is a network management daemon shipped with systemd, which can manage some types of basic networks. Including configuring DHCP. We don't fork off a daemon though, we do this via a library inside the networkd process itself (but that's an implementation detail). So from a users point of view configuring DHCP via networkd or networkmanager is not so different. They are both separate daemons started by PID1 at boot.

                  As to the server, there are cases where a network managment daemon may need to hand out dhcp leases. I'm not thinking of big DHCP servers like in your router or at your ISP, use special-purpose DHCP servers for that. If you have a peer-to-peer connection one side may want to hand out a dhcp lease to the other (wifi direct does this for instance), or if you do network sharing, you may want to connect your phone to the internet over 3G, set up a hotpot and hand out DHCP leases on that. The user-case I have in mind though, is to hand out DHCP leases to containers as they are started on your machine.

                  Comment


                  • #19
                    Originally posted by bnolsen View Post
                    so when will systemd release their own editor and then systemdOS ?
                    No, no, no. Emacs is going to absorb systemd into *their* tree and call the result 'boot to emacs', bragging about emacs in less than 1/10 of a second

                    Comment


                    • #20
                      Originally posted by tomegun View Post
                      networkd is a network management daemon shipped with systemd, which can manage some types of basic networks. Including configuring DHCP. We don't fork off a daemon though, we do this via a library inside the networkd process itself (but that's an implementation detail).
                      Well, this sounds like quite an important implementation detail to me. Could you clear up the design a bit please? In particular: What happens if the non-forked-off library hits a nullptr-deref... will it kill PID 1? How much of your system do you need to update to do a bugfix in the library? As what user is networkd (and NetworkManager, for that matter) ran, and what are the consequences of "popping a shell" by exploiting a bug in it?

                      Comment

                      Working...
                      X