chiark / gitweb /
7 years agoresolved: set LLMNR TCP and UDP TTLs to the values suggested by the RFC
Lennart Poettering [Tue, 29 Jul 2014 21:51:34 +0000 (23:51 +0200)]
resolved: set LLMNR TCP and UDP TTLs to the values suggested by the RFC

7 years agosd-network: make socket filter programs static const where possible
Lennart Poettering [Tue, 29 Jul 2014 21:49:54 +0000 (23:49 +0200)]
sd-network: make socket filter programs static const where possible

(also, fix some whitespace/indentation issues, and avoid "index" as identifier in
order to not clash against libc's "index()" call)

7 years agoresolved: we don't need the DNS server "source" concept anymore, remove it
Lennart Poettering [Tue, 29 Jul 2014 19:46:12 +0000 (21:46 +0200)]
resolved: we don't need the DNS server "source" concept anymore, remove it

7 years agonetworkd: fix reporting errors from hostnamed
Michael Marineau [Mon, 21 Jul 2014 23:23:42 +0000 (16:23 -0700)]
networkd: fix reporting errors from hostnamed

The return value may be -EINVAL or a positive errno from the dbus
message. Check both ranges, otherwise most errors are silently ignored.

7 years agoresolved: discard more invalid llmnr messages
Lennart Poettering [Tue, 29 Jul 2014 17:50:28 +0000 (19:50 +0200)]
resolved: discard more invalid llmnr messages

7 years agoUpdate TODO
Lennart Poettering [Tue, 29 Jul 2014 17:50:19 +0000 (19:50 +0200)]
Update TODO

7 years agoresolved: when resolving an address PTR record via llmnr, make a tcp connection by...
Lennart Poettering [Tue, 29 Jul 2014 17:49:45 +0000 (19:49 +0200)]
resolved: when resolving an address PTR record via llmnr, make a tcp connection by default

7 years agoresolve: add llmnr responder side for UDP and TCP
Lennart Poettering [Tue, 29 Jul 2014 12:24:02 +0000 (14:24 +0200)]
resolve: add llmnr responder side for UDP and TCP

Name defending is still missing.

7 years agobarrier: fix race in test-code
David Herrmann [Tue, 29 Jul 2014 17:14:23 +0000 (19:14 +0200)]
barrier: fix race in test-code

The barrier_wait_next_twice* test-cases run:
  Parent:                             Child:
    set_alarm(10)                       sleep_for(1);
    ...                                 set_alarm(1);
    sleep_for(2)                        ...

Therefore, the parent exits after 2+ periods, the client's alarm fires
after 2+ periods. This race turns out to be lost by the child on other
machines, so avoid it by increasing the parent's sleep-interval to 4. This
way, the client has 2 periods to run the barrier test, which is far more
than enough.

7 years agobuild-sys: add missing files for distcheck
Kay Sievers [Tue, 29 Jul 2014 15:54:57 +0000 (17:54 +0200)]
build-sys: add missing files for distcheck

7 years agotest: test_tables - fix missing symbols when --gc-sections are not available
Kay Sievers [Tue, 29 Jul 2014 15:07:27 +0000 (17:07 +0200)]
test: test_tables - fix missing symbols when --gc-sections are not available

7 years agofactory: install minimal PAM and nsswitch config
Kay Sievers [Tue, 29 Jul 2014 14:44:04 +0000 (16:44 +0200)]
factory: install minimal PAM and nsswitch config

7 years agoudev: place opening { at the same line as the function declaration
Kay Sievers [Tue, 29 Jul 2014 13:47:41 +0000 (15:47 +0200)]
udev: place opening { at the same line as the function declaration

7 years agobuild-sys: remove systemd-coredumpctl symlink
Kay Sievers [Tue, 29 Jul 2014 13:20:42 +0000 (15:20 +0200)]
build-sys: remove systemd-coredumpctl symlink

7 years agoudev: unify event timeout handling
Kay Sievers [Tue, 29 Jul 2014 13:18:27 +0000 (15:18 +0200)]
udev: unify event timeout handling

7 years agoudevd: add --event-timeout commandline option
Hannes Reinecke [Tue, 29 Jul 2014 07:06:14 +0000 (09:06 +0200)]
udevd: add --event-timeout commandline option

Some events take longer than the default 30 seconds. Killing those
events will leave the machine halfway configured.

Add a commandline option '--event-timeout' to handle these cases.

7 years agologin: update systemd-user PAM configuration file
Kay Sievers [Tue, 29 Jul 2014 11:01:51 +0000 (13:01 +0200)]
login: update systemd-user PAM configuration file

7 years agotime-util: add and use USEC/NSEC_INFINIY
Kay Sievers [Tue, 29 Jul 2014 10:23:31 +0000 (12:23 +0200)]
time-util: add and use USEC/NSEC_INFINIY

7 years agobarrier: convert msecs to usecs in test-code
David Herrmann [Tue, 29 Jul 2014 11:04:51 +0000 (13:04 +0200)]
barrier: convert msecs to usecs in test-code

Avoid using msecs in favor of usec_t. This is more consistent with the
other parts of systemd and avoids the confusion between msec and usec. We
always use usecs, end of story.

7 years agoterminal/subterm: use usec_t instead of "unsigned long"
David Herrmann [Tue, 29 Jul 2014 11:00:35 +0000 (13:00 +0200)]
terminal/subterm: use usec_t instead of "unsigned long"

Avoid hard-coding "unsigned long" and use the usec_t type defined in

7 years agonetworkd: route/address - use trivial hash functions
Tom Gundersen [Mon, 28 Jul 2014 10:21:51 +0000 (12:21 +0200)]
networkd: route/address - use trivial hash functions

7 years agonetworkd: unify handling of stacked netdevs
Tom Gundersen [Mon, 28 Jul 2014 10:10:37 +0000 (12:10 +0200)]
networkd: unify handling of stacked netdevs

7 years agonetworkd: store ifindex as int
Tom Gundersen [Mon, 28 Jul 2014 09:39:37 +0000 (11:39 +0200)]
networkd: store ifindex as int

7 years agosd-dhcp-server: add forcerenew support
Tom Gundersen [Sat, 26 Jul 2014 17:12:24 +0000 (19:12 +0200)]
sd-dhcp-server: add forcerenew support

7 years agosd-dhcp-client: add support for FORCERENEW
Tom Gundersen [Thu, 15 May 2014 22:50:44 +0000 (00:50 +0200)]
sd-dhcp-client: add support for FORCERENEW

This partially implements RFC3203. Note that we are not fully compliant as we do not
support authentication.

7 years agosd-dhcp-client: listen on UDP socket as soon as a lease is acquired
Tom Gundersen [Fri, 25 Jul 2014 12:44:12 +0000 (14:44 +0200)]
sd-dhcp-client: listen on UDP socket as soon as a lease is acquired

This is necessary in order to listen for FORCERENEW events.

7 years agodhcp-network: enable IP_FREEBIND for UDP sockets
Tom Gundersen [Fri, 25 Jul 2014 12:43:16 +0000 (14:43 +0200)]
dhcp-network: enable IP_FREEBIND for UDP sockets

This allows the sockets to be bound to a specific address before it is configured,
also enable SO_REUSEADDR to allow multiple DHCP clients to run at the same time.

7 years agosd-dhcp-client: drop event DHCP_EVENT_NO_LEASE
Tom Gundersen [Sat, 17 May 2014 19:23:20 +0000 (21:23 +0200)]
sd-dhcp-client: drop event DHCP_EVENT_NO_LEASE

Keep this internal to the client and simply restart it when NAK is receieved, as
per the RFC.

7 years agosd-dhcp-client: only verify UDP messages
Tom Gundersen [Sat, 26 Jul 2014 15:53:33 +0000 (17:53 +0200)]
sd-dhcp-client: only verify UDP messages

RAW messages are verified by the BPF in the kernel.

7 years agojournald: always add syslog facility for messages coming from kmsg
Michal Sekletar [Fri, 25 Jul 2014 12:38:22 +0000 (14:38 +0200)]
journald: always add syslog facility for messages coming from kmsg

Set SYSLOG_FACILITY field for kernel log messages too. Setting only
SYSLOG_IDENTIFIER="kernel" is not sufficient and tools reading journal
maybe confused by missing SYSLOG_FACILITY field for kernel log messages.

7 years agoshell-completion: prevent mangling unit names (bash)
Eric Cook [Sun, 27 Jul 2014 19:07:03 +0000 (15:07 -0400)]
shell-completion: prevent mangling unit names (bash)

This fixes the issue noted by Zbigniew in most cases.
if a unit's name is enclosed in single quotes completion still
will not happen after the first `\'.

7 years agodrop_duplicates: copy full BindMount struct
Ansgar Burchardt [Sun, 27 Jul 2014 14:32:13 +0000 (16:32 +0200)]
drop_duplicates: copy full BindMount struct

At least

  t->ignore = f->ignore;

is missing here. Just copy the full struct to be sure.

7 years agoparse_boolean: require exact matches
Ansgar Burchardt [Sun, 27 Jul 2014 13:19:00 +0000 (15:19 +0200)]
parse_boolean: require exact matches

Require exact matches in all cases instead of treating strings
starting with 't' ('f') as true (false).

This is required for config_parse_protect_system to parse ProtectSystem=full
correctly: it uses parse_boolean and only tries a more specific parsing
function if that did not return a valid result. Thus "full" was treated as
"false" before.

7 years agofactory: nss - add generic config
Kay Sievers [Sun, 27 Jul 2014 12:53:21 +0000 (14:53 +0200)]
factory: nss - add generic config

7 years agofactory: PAM - add generic fallback config
Kay Sievers [Sun, 27 Jul 2014 12:08:11 +0000 (14:08 +0200)]
factory: PAM - add generic fallback config

Single PAM fallback config file to be used in /etc to allow
bootstrapping of a system with an empty /etc.

7 years agocore: only set the kernel's timezone when the RTC runs in local time
Kay Sievers [Sat, 26 Jul 2014 22:11:08 +0000 (00:11 +0200)]
core: only set the kernel's timezone when the RTC runs in local time

We can not reliably manage any notion of local time. Every daylight
saving time change or time zone change by traveling will make the
time jump, and the local time might jump backwards which creates
unsolvable problems with file timestamps.

We will no longer tell the kernel our local time zone and leave
everything set to UTC. This will effectively turn FAT timestamps
into UTC timestamps.

If and only if the machine is configured to read the RTC in local
time mode, the kernel's time zone will be configured, but
systemd-timesysnc will disable the kernel's system time to RTC
syncing. In this mode, the RTC will not be managed, and external
tools like Windows bootups are expected to manage the RTC's time.

7 years agobash-completion: use list-unit-files to get "all" units
Zbigniew Jędrzejewski-Szmek [Sun, 27 Jul 2014 00:11:58 +0000 (20:11 -0400)]
bash-completion: use list-unit-files to get "all" units

I think that it is better to return good results slightly more slowly,
than partial quickly. Also reading from disk seems fast enough. Even
the delay on first try with completely cold cache is acceptable.

This is just for bash, 'cause zsh was already doing this.

7 years agoPrint kdbus path when opening fails
Zbigniew Jędrzejewski-Szmek [Sat, 26 Jul 2014 18:59:52 +0000 (14:59 -0400)]
Print kdbus path when opening fails

This makes it easier to debug what is going on.

7 years agoupdate-done: include a short description in .updated
Zbigniew Jędrzejewski-Szmek [Sat, 26 Jul 2014 19:01:49 +0000 (15:01 -0400)]
update-done: include a short description in .updated

People might be confused where the file comes from, since the name is not
at all specific.

7 years agoAdd utility function to append root to path
Zbigniew Jędrzejewski-Szmek [Sat, 26 Jul 2014 18:47:31 +0000 (14:47 -0400)]
Add utility function to append root to path

7 years agosystemctl: do not bother to mutate state on error
Zbigniew Jędrzejewski-Szmek [Sat, 26 Jul 2014 18:03:11 +0000 (14:03 -0400)]
systemctl: do not bother to mutate state on error

We will abort anyway.

7 years agoanalyze: fix seg-fault with no cl-argument
Daniel Buch [Thu, 24 Jul 2014 21:29:40 +0000 (23:29 +0200)]
analyze: fix seg-fault with no cl-argument

We need to check if argv[1] is set before compare

7 years agoAlways check asprintf return code
Karel Zak [Fri, 25 Jul 2014 13:38:31 +0000 (15:38 +0200)]
Always check asprintf return code

There is a small number of the places in sources where we don't check
asprintf() return code and assume that after error the function
returns NULL pointer via the first argument. That's wrong, after
error the content of pointer is undefined.

7 years agoshell-completion: prevent mangling unit names
Eric Cook [Sat, 26 Jul 2014 15:15:52 +0000 (11:15 -0400)]
shell-completion: prevent mangling unit names

Units with literal hex '\xFF' in their names has to be read
and printed properly.
dev-disk-byx2dlabel-root.device != dev-disk-by\x2dlabel-root.device

7 years agosysctl.d: enable promote_secondaries by default
Tom Gundersen [Fri, 25 Jul 2014 09:08:23 +0000 (11:08 +0200)]
sysctl.d: enable promote_secondaries by default

Without this, secondary addresses would get deleted when the primary one is. This is not
the desired behavior when one would like to transition from one address to another in the
same subnet (such as when a new IP address is given over DHCP).

In networkd, when given a new IP over DHCP we will add it, without explicitly removing the
old one first (and hence never have a window without an IP address configured). Assuming the
addresses are in the same subnet, that means that the old address is the primary and the new
address is the secondary one. Once the old address expires, the kernel will drop it. With the
old behavior this means that both addresses would be lost, which is clearly not what we want.
With the new behavior, only the old address is lost, and the new one is promoted to primary.

Reported by Michael Olbrich <>

7 years agobusname: CLD_KILLED was used twice
Lukas Nykryn [Fri, 25 Jul 2014 08:44:27 +0000 (10:44 +0200)]
busname: CLD_KILLED was used twice

7 years agobus-proxyd: fix incorrect comparison
Lukas Nykryn [Fri, 25 Jul 2014 08:25:06 +0000 (10:25 +0200)]
bus-proxyd: fix incorrect comparison

We should be interested in k variable.

7 years agobus-proxyd: fix incorrect comparison
Lukas Nykryn [Fri, 25 Jul 2014 07:58:52 +0000 (09:58 +0200)]
bus-proxyd: fix incorrect comparison

Err can't be bigger then zero. Rest of the code uses negative Exxxx values.

7 years agonetworkd: ipv4ll - default to setting up ipv4ll routes
Tom Gundersen [Fri, 25 Jul 2014 00:09:29 +0000 (02:09 +0200)]
networkd: ipv4ll - default to setting up ipv4ll routes

This is necessary for non-ipv4ll hosts to communicate with ipv4ll-only hosts on the same link. Defaults
to being enabled, but can be opted out.

See: <>

7 years agonetworkd: ipv4ll - drop unnecessary get_address()
Tom Gundersen [Thu, 24 Jul 2014 23:28:39 +0000 (01:28 +0200)]
networkd: ipv4ll - drop unnecessary get_address()

7 years agoudev: exclude MD from block device ownership event locking
Kay Sievers [Thu, 24 Jul 2014 21:37:35 +0000 (23:37 +0200)]
udev: exclude MD from block device ownership event locking

MD instantiates devices at open(). This is incomptible with the
locking logic, as the "change" event emitted when stopping a
device will bring it back.

7 years agolibsystemd-network: use CLOCK_BOOTTIME instead of CLOCK_MONOTONIC where possible
Tom Gundersen [Thu, 24 Jul 2014 16:53:01 +0000 (18:53 +0200)]
libsystemd-network: use CLOCK_BOOTTIME instead of CLOCK_MONOTONIC where possible

The timeouts in the networking library (DHCP lease timeouts and similar) should not be affected
by suspend. In the cases where CLOCK_BOOTTIME is not implemented, it is still safe to fallback to
CLOCK_MONOTONIC, as the consumers of the library (i.e., networkd) _should_ renew the leases when
coming out of suspend.

7 years agotime-util: add clock_boottime_or_monotonic
Tom Gundersen [Thu, 24 Jul 2014 16:36:37 +0000 (18:36 +0200)]
time-util: add clock_boottime_or_monotonic

CLOCK_BOOTTIME is not supported by timerfd on older kernels, so for the time beeing,
use this helper instead which will fallback to CLOCK_MONOTONIC if CLOCK_BOOTTIME is
not supported.

7 years agosd-event: add support for CLOCK_BOOTTIME
Tom Gundersen [Thu, 24 Jul 2014 14:08:07 +0000 (16:08 +0200)]
sd-event: add support for CLOCK_BOOTTIME

This requires a very recent kernel (3.15), so care should be taken
when using this functionality.

7 years agosd-network: expose DNS/NTP servers as strings
Tom Gundersen [Wed, 23 Jul 2014 21:03:50 +0000 (23:03 +0200)]
sd-network: expose DNS/NTP servers as strings

This avoids having to distinguish between IPv4 and IPv6, allowing us
to keep their internal orderings. The consumers now has to turn the
strings into addresses.

7 years agoresolved: don't read DHCP leases
Tom Gundersen [Wed, 23 Jul 2014 21:10:00 +0000 (23:10 +0200)]
resolved: don't read DHCP leases

networkd will expose both statically configured DNS servers and servers
receieved over DHCP in sd_network_get_dns(), so no need to keep
the distinction in resolved.

7 years agonetworkd: merge DNS and NTP entries when exporting
Tom Gundersen [Wed, 23 Jul 2014 11:48:18 +0000 (13:48 +0200)]
networkd: merge DNS and NTP entries when exporting

In the state files, do not distinguish where the various entries came from
(static or DHCP), but include them all in the same list.

7 years agoman: fix path for system-sleep hook directory
Michael Biebl [Wed, 23 Jul 2014 21:35:22 +0000 (23:35 +0200)]
man: fix path for system-sleep hook directory

7 years agodocs: remove repeating words from man/*xml
Karel Zak [Wed, 23 Jul 2014 10:40:07 +0000 (12:40 +0200)]
docs: remove repeating words from man/*xml

7 years agodhcp-network: remove unused DHCP6_STATE_RS
Dan Williams [Tue, 22 Jul 2014 22:18:14 +0000 (17:18 -0500)]
dhcp-network: remove unused DHCP6_STATE_RS

Probably a left-over from when router solicitations were
requested in the DHCP6 code.  But since they are now separate,
this state is no longer needed.

7 years agonetworkd: set route protocol
Dan Williams [Tue, 22 Jul 2014 21:54:47 +0000 (16:54 -0500)]
networkd: set route protocol

All routes added by networkd are currently set RTPROT_BOOT, which according
to the kernel means "Route installed during boot" (rtnetlink.h).  But this
is not always the case as networkd changes routing after boot too.  Since
the kernel gives more detailed protocols, use them.

With this patch, user-configured static routes now use RTPROT_STATIC (which
they are) and DHCP routes use RTPROT_DHCP.  There is no define for IPv4LL
yet, so those are installed as RTPROT_STATIC (though perhaps RTPROT_RA is

[tomegun: fixup
src/network/networkd-link.c:972:33: error: too few arguments to function 'route_new_dynamic']

7 years agoupdate TODO
Lennart Poettering [Wed, 23 Jul 2014 00:00:32 +0000 (02:00 +0200)]
update TODO

7 years agoresolved: most DNS servers can't handle more than one question per packet, hence...
Lennart Poettering [Tue, 22 Jul 2014 23:59:36 +0000 (01:59 +0200)]
resolved: most DNS servers can't handle more than one question per packet, hence let's not generate that

7 years agoresolved: implement negative caching
Lennart Poettering [Tue, 22 Jul 2014 22:57:25 +0000 (00:57 +0200)]
resolved: implement negative caching

7 years agoresolved: rework logic so that we can share transactions between queries of different...
Lennart Poettering [Tue, 22 Jul 2014 19:48:41 +0000 (21:48 +0200)]
resolved: rework logic so that we can share transactions between queries of different clients

7 years agonss-myhostname: don't include assert.h twice
Lennart Poettering [Mon, 21 Jul 2014 22:36:01 +0000 (00:36 +0200)]
nss-myhostname: don't include assert.h twice

7 years agoman: merge systemd-verify with systemd-analyze
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jul 2014 01:14:08 +0000 (21:14 -0400)]
man: merge systemd-verify with systemd-analyze

7 years agoshell-completion: systemd-analyze verify, systemctl link
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jul 2014 01:11:56 +0000 (21:11 -0400)]
shell-completion: systemd-analyze verify, systemctl link

Some zsh completion helpers were not installed, so completion
was broken.

Add systemd-analyze verify. Make systemctl link complete only
unit names.

7 years agoMerge systemd-verify with systemd-analyze
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jul 2014 01:11:54 +0000 (21:11 -0400)]
Merge systemd-verify with systemd-analyze

7 years agoconfigure: add -Wno-typedef-redefinition
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jul 2014 01:07:19 +0000 (21:07 -0400)]
configure: add -Wno-typedef-redefinition

Message-ID: <>

7 years agoAdd IFLA_VTI defines to missing.h
Jean-André Santoni [Tue, 22 Jul 2014 01:04:44 +0000 (21:04 -0400)]
Add IFLA_VTI defines to missing.h

7 years agoupdate-done: set proper selinux context for .updated
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jul 2014 00:56:29 +0000 (20:56 -0400)]
update-done: set proper selinux context for .updated

7 years agosysusers: fix selinux context of backup files
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jul 2014 00:41:19 +0000 (20:41 -0400)]
sysusers: fix selinux context of backup files

Also, fix fopen_temporary_label to set proper context. By chance,
all users so far used the same context, so the error didn't matter.

Also, check return value from label_init().

7 years agonetworkd: bridge - use USEC_PER_MSEC macros
Tom Gundersen [Mon, 21 Jul 2014 18:54:09 +0000 (20:54 +0200)]
networkd: bridge - use USEC_PER_MSEC macros

Lennart said:
> We have these nice USEC_PER_MSEC-style macro definitions which make it a
> little bit clearer what we are converting here from what into
> what... please use that instead of writing "1000"...
> (we stole those from gstreamer btw)

7 years agonetworkd: add support for bond options
Susant Sahani [Mon, 21 Jul 2014 13:44:48 +0000 (19:14 +0530)]
networkd: add support for bond options

The following bond options are supported by this patch.

Specifies the frequency in milli-seconds that MII link
monitoring will occur.

Specifies the delay time in milli-seconds to enable a link
after a link up status has been detected.

Specifies the delay time in milli-seconds to disable a link
after a link failure has been detected.

1. Added gconf variables.
2. man page




cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2+3 (2)
MII Status: up
MII Polling Interval (ms): 1000
Up Delay (ms): 2000
Down Delay (ms): 8000

802.3ad info
LACP rate: fast
Min links: 0
Aggregator selection policy (ad_select): stable
bond bond1 has no active aggregator

[tomegun: rephrased manpage, dropped bond_ prefix from variables]

7 years agonetworkd: bond add support for lacp rate
Susant Sahani [Mon, 21 Jul 2014 13:22:14 +0000 (18:52 +0530)]
networkd: bond add support for lacp rate

option specifies the rate in which link partner to transmit
LACPDU packets in 802.3ad mode.  Possible values
slow : Request partner to transmit LACPDUs every 30 seconds
fast : Request partner to transmit LACPDUs every 1 second
The default is slow.

1. Added enum bond_lacp_rate_table
2. gperf LacpduTransmitRate

conf file:


cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2+3 (2)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: fast
Min links: 0
Aggregator selection policy (ad_select): stable
bond bond1 has no active aggregator

[tomegun: renamed from LacpduTransmitRate to LACPTransmitRate, manpage fixes and
dropped bond_ prefix from variables]

7 years agonetworkd: add support for bond transmit hash policy
Susant Sahani [Mon, 21 Jul 2014 13:07:05 +0000 (18:37 +0530)]
networkd: add support for bond transmit hash policy

This patch adds support  the transmit hash policy to use
for slave selection in balance-xor, 802.3ad, and tlb modes

layer2, layer3+4, layer2+3, encap3+4, encap3+4

1. BondXmitHashPolicy
2. conf param TransmitHashPolicy

Test conf:


test output:
cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2+3 (2)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: slow
Min links: 0
Aggregator selection policy (ad_select): stable
bond bond1 has no active aggregator

[tomegun: dropped bond_ prefix from new Bond variable, drop repeated man-page section]

7 years agosd-rtnl: uncomment bond rtnl constants
Susant Sahani [Wed, 16 Jul 2014 08:26:24 +0000 (13:56 +0530)]
sd-rtnl: uncomment bond rtnl constants

7 years agonetworkd: netdev - split NetDev struct into per-kind structs
Tom Gundersen [Wed, 16 Jul 2014 11:17:10 +0000 (13:17 +0200)]
networkd: netdev - split NetDev struct into per-kind structs

Similarly to how unit types work.

7 years agosd-network: drop get_ifindices
Tom Gundersen [Fri, 18 Jul 2014 23:37:22 +0000 (01:37 +0200)]
sd-network: drop get_ifindices

People should use rtnl for this, and then only query sd-network by the ifindices it finds.

7 years agoman: add systemd-verify(1)
Zbigniew Jędrzejewski-Szmek [Sun, 20 Jul 2014 23:28:58 +0000 (19:28 -0400)]
man: add systemd-verify(1)

7 years agosystemd-verify: check man pages
Zbigniew Jędrzejewski-Szmek [Sun, 20 Jul 2014 22:23:53 +0000 (18:23 -0400)]
systemd-verify: check man pages

7 years agosystemd-verify: a simple tool for offline unit verification
Zbigniew Jędrzejewski-Szmek [Sun, 20 Jul 2014 21:58:35 +0000 (17:58 -0400)]
systemd-verify: a simple tool for offline unit verification

This tool will warn about misspelt directives, unknown sections, and
non-executable commands. It will also catch the common mistake of
using Accept=yes with a non-template unit and vice versa.

7 years agopath-lookup: make SYSTEMD_UNIT_PATH more flexible
Zbigniew Jędrzejewski-Szmek [Sun, 20 Jul 2014 21:56:57 +0000 (17:56 -0400)]
path-lookup: make SYSTEMD_UNIT_PATH more flexible

It can now contain more than one directory, and can be used
to only prepend, not totally override, the normal load path.

7 years agotest-cgroup-mask: fix masks in test and enable by default
Zbigniew Jędrzejewski-Szmek [Fri, 18 Jul 2014 21:50:04 +0000 (17:50 -0400)]
test-cgroup-mask: fix masks in test and enable by default

Commit 637f421e5c6a ("cgroups: always propagate controller membership
to siblings") changed the mask propagation logic, but the test wasn't

Move to normal tests from manual tests, it should not touch the system

7 years agotest-cgroup-mask: pass on kernels without memory controller
Zbigniew Jędrzejewski-Szmek [Wed, 19 Feb 2014 04:28:15 +0000 (23:28 -0500)]
test-cgroup-mask: pass on kernels without memory controller

It seems that unit_get_siblings_mask returns the controllers
filtered by what is available, but get_members_mask and
get_cgroup_mask do not. This just fixes the test following the

7 years agosystemd: return the first error from manager_startup()
Zbigniew Jędrzejewski-Szmek [Fri, 18 Jul 2014 21:05:18 +0000 (17:05 -0400)]
systemd: return the first error from manager_startup()

7 years agotest-engine: fix access to unit load path
Zbigniew Jędrzejewski-Szmek [Tue, 7 Jan 2014 13:41:24 +0000 (08:41 -0500)]
test-engine: fix access to unit load path

Also add a bit of debugging output to help diagnose problems,
add missing units, and simplify cppflags.

Move test-engine to normal tests from manual tests, it should now
work without destroying the system.

7 years agoAdd quotes to warning message
Zbigniew Jędrzejewski-Szmek [Sun, 20 Jul 2014 23:47:42 +0000 (19:47 -0400)]
Add quotes to warning message

The message for SYSTEMD_LOG_LEVEL= looked a bit strange.

7 years agosystemd: use pager for --test and --help
Zbigniew Jędrzejewski-Szmek [Tue, 7 Jan 2014 05:00:05 +0000 (00:00 -0500)]
systemd: use pager for --test and --help

7 years agojournalctl,man: allow + only between terms
Zbigniew Jędrzejewski-Szmek [Sun, 20 Jul 2014 01:05:07 +0000 (21:05 -0400)]
journalctl,man: allow + only between terms

7 years agobash-completion: -p option for journalctl
Zbigniew Jędrzejewski-Szmek [Sat, 19 Jul 2014 23:46:04 +0000 (19:46 -0400)]
bash-completion: -p option for journalctl

7 years agoinstall: systemd-timesyncd.service is enabled by
Michael Olbrich [Fri, 18 Jul 2014 04:33:52 +0000 (06:33 +0200)]
install: systemd-timesyncd.service is enabled by

systemd-timesyncd.service has a "" so the
initially generated link should match that.

7 years agocore: remove systemd_running_as lookup functions
Zbigniew Jędrzejewski-Szmek [Tue, 7 Jan 2014 02:26:20 +0000 (21:26 -0500)]
core: remove systemd_running_as lookup functions

They are unused and unlikely to ever be.

7 years agoescape: fix return code
Zbigniew Jędrzejewski-Szmek [Sat, 19 Jul 2014 19:35:48 +0000 (15:35 -0400)]
escape: fix return code

7 years agobarrier: suppress false-positive warning
David Herrmann [Sat, 19 Jul 2014 09:32:25 +0000 (11:32 +0200)]
barrier: suppress false-positive warning

If poll() returns, one of both revents must be set, thus "buf" is set by
either clause. This is non-obvious for code-checkers so add an "else
continue;" clause to suppress "uninitialized variable" warnings.

7 years agocore: show timeouts when watchdog howls
Zbigniew Jędrzejewski-Szmek [Fri, 27 Dec 2013 22:14:24 +0000 (17:14 -0500)]
core: show timeouts when watchdog howls

7 years agoSmall modernizations
Zbigniew Jędrzejewski-Szmek [Fri, 18 Jul 2014 18:01:13 +0000 (14:01 -0400)]
Small modernizations

7 years agoBe more verbose when bind or listen fails
Zbigniew Jędrzejewski-Szmek [Tue, 4 Mar 2014 00:49:40 +0000 (19:49 -0500)]
Be more verbose when bind or listen fails

Also be more verbose in devnode_acl_all().

7 years agoNuke update-kbd-map
Zbigniew Jędrzejewski-Szmek [Sat, 19 Jul 2014 01:44:59 +0000 (21:44 -0400)]
Nuke update-kbd-map

Our version has evolved independently of the original table
in systemd-config-keyboard, so it cannot be ever regenerated from
original upstream. Remove script to avoid confusion.