[systemd-devel] [RFC][PATCH] networkd: add a basic network daemon

Holger Winkelmann [TP] hw at travelping.com
Tue Nov 5 22:56:32 PST 2013


good morning,

We really like to see this direct, how ever would it not better to join
efforts for network management. I.e. arch Linux claims with netctl [1]
to do network management "the systems way. and there are a few other
attempts to do network managent. I.e. netconfd [2] of openWRT is doing
network management (kind of monolitic) as a daemon as well which can
be configured via Bus RPC. (OK ubus in this case). Not to mention
the desktop centric network manager.

Can somebody explain the goals of systemd-networkd? If this just a small
basic tool will be replaced if more features are required or a new attempt
to for general network management?

[1] https://wiki.archlinux.org/index.php/netctl
    https://github.com/joukewitteveen/netctl
[2] http://wiki.openwrt.org/doc/techref/netifd

BR,
Holger

----- Original Message -----
> On Wed, 06.11.13 01:33, Tom Gundersen (teg at jklm.no) wrote:
> > Short-term TODO:
> >  - make rtnl calls asynchronous
> 
> Don't wait for too long for this! The longer you wait the more code you
> have to rework for this. And you shouldn't underestimate how complex
> changes from sync to async are...
> 
> > Gateway=192.168.1.1
> > Address=label at 192.168.1.23/24
> > Address=fe80::9aee:94ff:fe3f:c618/64
> 
> Hmm, what's the plan regarding confguration of scopes and other
> attributes of addresses? Is the "label@" syntax your invention or has
> this been used elsewhere (I am not opposed to the syntax, just curious).
> 
> > +        sd_event_add_io(m->event,
> > +                        udev_monitor_get_fd(m->udev_monitor),
> > +                        EPOLLIN,
> > +                        manager_dispatch_link_udev,
> > +                        (void *)m,
> > +                        &m->udev_event_source);
> 
> Missing return value check! (and cast to void* is unnecessary, in C
> all pointers automatically downgrade to void* without casting anyway)
> 
> > +        if (r < 0) {
> > +                log_warning("Colud not parse config file %s: %s",
> > filename, strerror(-r));
> 
>                                ^^^^^^ Typo
> 
> > +                return r;
> > +        } else
> > +                log_debug("Parsed configuration file %s", filename);
> > +
> > +        network->filename = strdup(filename);
> 
> OOM check missing!
> 
> > +static void networks_free(Manager *manager) {
> > +        Network *network, *network_next;
> > +
> > +        if (!manager)
> > +                return;
> > +
> > +        LIST_FOREACH_SAFE(networks, network, network_next,
> > manager->networks) {
> > +                network_free(network);
> > +        }
> 
> I usually just use:
> 
> while ((network = manager->networks))
>         network_free(free);
> 
> Which should do the job too.
> 
> > +struct Link {
> > +        uint64_t ifindex;
> 
> Hmm is this really an uint64_t? if_nametoindex(3) suggestes it's an
> "unsigned"?
> 
> But yeah, looks great. Commit.
> 
> Lennart
> 
> --
> Lennart Poettering, Red Hat
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel
> 

-- 
Holger Winkelmann
Managing Director

email: hw at travelping.com
phone: +49-391-819099-223
mobil: +49-171-5594745
http://www.linkedin.com/in/hwinkel

----------------- enabling your networks ---------------------

Travelping GmbH               phone:           +49-391-8190990
Roentgenstr. 13               fax:           +49-391-819099299
D-39108 Magdeburg             email:       info at travelping.com
GERMANY                       web:   http://www.travelping.com


Company Registration: Amtsgericht Stendal Reg No.:   HRB 10578
Geschaeftsfuehrer: Holger Winkelmann | VAT ID No.: DE236673780
--------------------------------------------------------------


More information about the systemd-devel mailing list