#14: Investigate systemd-networkd ------------------------------+-------------------------------- Reporter: mattdm | Owner: janeznemanic Type: task | Status: new Priority: normal | Milestone: Fedora 21 (Alpha) Component: Cloud Base Image | Resolution: Keywords: | ------------------------------+-------------------------------- Comment (by janeznemanic): Report on my work. First I had to learn a little bit about systemd. What is all about, how does it work etc. Then I focused on networking subsystem in Fedora and tried to understand how it works. After setting my little lab environment I started with hands on approach. My test environment: - host system: 32 bit Fedora 20 - hypervisor: VirtualBox - guest system: 32 bit Fedora 20 - systemd release: rawhide My experiment and current findings I disabled Gnome's NetworkManager, NetworkManager-dispatcher and NetworkManager-wait-online and dropped network configuration file into /usr/lib/systemd/network. The content of this file is: [Match] Name=p* [Network] DHCP=yes Systemd names network interface p2p1 on my guest Fedora. So that's why I used Name=p*. That's the most simple and basic network configuration with systemd-networkd. I think that DHCP is also default configuration in desktop Fedora 20. I restarted systemd-networkd service and I could ping www.google.com and do DNS look up with dig. Ping and dig work as you would expect on my guest and on my host system. I did some research on scripts in /etc/sysconfig/network-scripts. All those scripts depend on ifcfg-* files in the same directory. But systemd- networkd doesn't use ifcfg-* files. I removed ifcfg-* files and systemd- netword worked fine. I was also able to ping google. But if I tried to use for example ifup or ifdown script then that script failed. Because it couldn't source ifcfg-*. I think so, I might be wrong. Since ifup and ifdown are links to /usr/sbin/{ifup,ifdown} it might be possible to remove /usr/sbin/{ifup,ifdown}. But I haven't tested that so I'm not sure. I think we also don't need to use /etc/rc.d/init.d/network. I removed that file and networking worked fine with systemd-networkd. So to sum up. If systemd-networkd service is used it is possible in my opinion to remove scripts in /etc/sysconfig/network-scripts and /etc/rc.d/init.d/network script. Besides that it is possible to remove NetworkManager. '''Thoughts? Suggestions? Ideas?''' One more thing that's been bothering me for a few days now. How does systemd name network interfaces when Fedora is run on top of different hypervisors? If xen or kvm is used how does systemd name network interfaces? -- Ticket URL: <https://fedorahosted.org/cloud/ticket/14#comment:3> cloud <https://fedorahosted.org/cloud> Fedora Cloud Working Group Ticketing System _______________________________________________ cloud mailing list cloud@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/cloud Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct