Shared publicly  - 
 
Networking in +systemd - networkd

With the preliminaries out of the way, the current state of networkd (which will ship with systemd v209) is that it supports statically assigned addresses (and setting the default route). We also have basic bridging support (i.e., we can create bridges and add network devices to them). The main aim with this release will be as a tech-preview I guess, to give people and idea of where we want to go, and hopefully to recievie some constructive feedback and maybe even some contributions.

We introduce two types of configuration files .network files and .netdev files. Let's start withe most interesting ones, the .network files:

Whenever udev notifies networkd about a new network device, it will try to find a matching .network file, using a similar logic to the .link files described in the previous post. The only difference is that .network files may also match on Name=, which is the network interface name, just note that this only really makes sense if you use predictable network names, as the kernel-assigned ones are not guaranteed to be stable. If a matching .network file is found, the configuration therein is applied to the network device.

Currently, we support two sections [Network], which may take the keys Address, Gateway, and Bridge (the latter is simply the name of the bridge device to join, see later). And [Address], which make take the keys Address= and Label=, in the future this section will be extended to also allow setting other address properties. The Address= key in the [Network] section should simply be thought of as short-hand for an [Address] section with only the Address= key set. In the future we will also introduce [Route] sections, with Gateway= being the short-hand notation for the default route.

Secondly, let's consider the .netdev files. These configure virtual network devices that networkd should create at startup. Currently, only bridge devices are supported (configured by creating a [Bridge] section with a Name= entry), but in the future we plan to both extend the bridge support and to add other types of virtual devices.

If anyone are interested in working on any of this, please do get in touch, there is plenty to do :)
9
1
Jon Disnard's profile photoTom Gundersen's profile photoarnaud gaboury (gabx)'s profile photosystemd's profile photo
5 comments
 
+Antoni Segura Puimedon Hi! Development and discussions happen on the systemd mailing list, but I intended to write up everything we have so far, so (unless I forgot something), this is basically it. If you have any particular use-cases or features you want to see covered, do get in touch and let's discuss it.
 
Wondering about IPv6 support and tuntap devs. Look forward to looking it over.
 
+Jon Disnard IPv6 support is so far very basic (you can set static IPv6 addresses, and that's it). We plan to support it fully in the future though.
 
I am far from being a Linux expert, but I still consider myself as a advanced user ++. I have been trying to set up a simple bridge with a static Ip for a container, and after TWO WEEKS of read/test/post I still can't get a working network on the container. Nobody/no wiki is able to tell me how these things are to be setup.
I am a great fan of systemd overall functionalities, but this networkd is really for intelligencia or NASA tech engineer.
It is not worth offering services with no clear manual/doc to use it.
Add a comment...