Age | Commit message (Collapse) | Author |
|
So far we only supported selecting them by sibling attributes.
(This stuff is all a bit crazy, but there seems to be no other way...)
|
|
Still parse the CMSG data, and most importantly make sure we drop the message when peeking.
|
|
causes EOF. Seems like a kernel bug. Ignoring it seems to work be the best we
can do for now...
See https://bugs.freedesktop.org/show_bug.cgi?id=88397
|
|
|
|
|
|
Still keep the non-socket activation code around for starting from the commandline, but
will likely drop that too in the future.
|
|
|
|
As in sd-bus, simply log at debug level when a callback fails, but don't fail the event handler.
Otherwise any error returned by any callback will disable the rtnl event handler. We should
only do that on serious internal errors in sd-rtnl that we know cannot be recovered from.
|
|
This patch introduces ipv6 gre and gretap.
test:
ip6gre.netdev:
[NetDev]
Name=ip6gretap
Kind=ip6gretap
[Tunnel]
Local=2a00:ffde:4567:edde::4987
Remote=2001:473:fece:cafe::5179
ip6gre.network:
[Match]
Name=eno16777736
[Network]
Tunnel=ip6gretap
ip link
6: ip6gre@eno16777736: <POINTOPOINT,NOARP> mtu 1448 qdisc noop state
DOWN mode DEFAULT group default
link/gre6 2a:00:ff:de:45:67:ed:de:00:00:00:00:00:00:49:87 peer
20:01:04:73:fe:ce:ca:fe:00:00:00:00:00:00:51:79
|
|
This patch enables networkd to create IP6 tunnels
example conf:
ipip6.netdev:
[NetDev]
Name=ipip6-tunnel
Kind=ip6tnl
[Tunnel]
Mode=ip4ipv6
Local=2a00:ffde:4567:edde::4987
Remote=2001:473:fece:cafe::5179
ipip6.network
[Match]
Name=wlan0
[Network]
Tunnel=ipip6-tunnel
23: ipip6-tunnel@wlan0: <POINTOPOINT,NOARP> mtu 1452 qdisc noop state
DOWN mode DEFAULT group default
link/tunnel6 2a00:ffde:4567:edde::4987 peer 2001:473:fece:cafe::5179
|
|
This patch introdeces gretap to networkd
|
|
Types used for pids and uids in various interfaces are unpredictable.
Too bad.
|
|
|
|
|
|
This does not make a difference, but the code was confusing.
|
|
This exposes an IP port on the container as local port using DNAT.
|
|
https://github.com/vlajos/misspell_fixer
https://github.com/torstehu/systemd/commit/b6fdeb618cf2f3ce1645b3315f15f482710c7ffa
Thanks to Torstein Husebo <torstein@huseboe.net>.
|
|
All we care about is that the kernel (pid==0) sent the message. Verifying the sender uid
seems to break when using userns.
Reported by Stéphane Graber.
|
|
Only a minor change as the timeout would be hit soon thereafetr at the next loop.
|
|
This caused rtnl_poll to always return true immediately in sd_rtnl_call().
|
|
Read the message form the socket or we will loop trying to read the
same message repeatedly.
|
|
We should just try again instead.
|
|
We drop messages received from the wrong uid/pid, log this at debug level.
|
|
|
|
|
|
The kernel always returns all addresses, rather than only for the given link, so let's only enumerate once.
|
|
Nothing was being dropped, we just failed to account for the NLMSG_DONE.
|
|
This makes the API more consistent.
|
|
|
|
This way we can be sure that the returned list is stable regarding
modifications in the kernel.
|
|
account
|
|
Also check that the source netmask is 0, not only the destination
netmask.
|
|
gateway
This is useful inside of containers or local networks to intrdouce a
stable name of the default gateway host (in case of containers usually
the host, in case of LANs usually local router).
|
|
|
|
|
|
|
|
|
|
contents
|
|
|
|
The one in tmpfiles.c:create_item() even looks like it fixes a bug.
|
|
It corrrectly handles both positive and negative errno values.
|
|
As a followup to 086891e5c1 "log: add an "error" parameter to all
low-level logging calls and intrdouce log_error_errno() as log calls
that take error numbers", use sed to convert the simple cases to use
the new macros:
find . -name '*.[ch]' | xargs sed -r -i -e \
's/log_(debug|info|notice|warning|error|emergency)\("(.*)%s"(.*), strerror\(-([a-zA-Z_]+)\)\);/log_\1_errno(-\4, "\2%m"\3);/'
Multi-line log_*() invocations are not covered.
And we also should add log_unit_*_errno().
|
|
We got the following error when running systemd on a device with many ports:
"rtnl: kernel receive buffer overrun
Event source 'rtnl-receive-message' returned error, disabling: No buffer space
available"
I think the kernel socket receive buffer queue should be increased. The default
value is taken from:
"/proc/sys/net/core/rmem_default", but we can overwrite it using SO_RCVBUF
socket option.
This is already done in networkd for other sockets.
For example, the bus socket (sd-bus/bus-socket.c) has a receive queue of 8MB.
In our case, the default is 208KB.
Increasing the buffer receive queue for manager socket to 512KB should be enough
to get rid of the above error.
[tomegun: bump the limit even higher to 8M]
|
|
To mirror the recent name change of the concept for sd_bus objects,
follow the same logic for sd_event_source objects, too.
|
|
Add bridge port attributes to sd-rtnl to configure
via networkd.
|
|
This patch adds functionality to set family type
in the rtnl message for example PF_BRIDGE.
|
|
The kernel mostly does not check this, but let's be consisntent and allways set it anyway. Based
on patch from Susant Sahani.
|
|
We must filter out the 'network-byteorder' and 'nested' flags.
|
|
|
|
It is redundant to store 'hash' and 'compare' function pointers in
struct Hashmap separately. The functions always comprise a pair.
Store a single pointer to struct hash_ops instead.
systemd keeps hundreds of hashmaps, so this saves a little bit of
memory.
|