1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-14 15:21:37 +03:00
Commit Graph

71 Commits

Author SHA1 Message Date
Tom Gundersen
5d8364b3c5 networkd: resolv.conf - extend the comment a bit 2014-01-16 20:32:09 +01:00
Tom Gundersen
7ae4ef6d23 sd-dhcp-client: refactor DNS support
Rather than keeping an array of pointers to addresses, just keep an array of addresses.
2014-01-16 20:32:08 +01:00
Tom Gundersen
1346b1f038 sd-dhcp-client/networkd: add transient hostname support 2014-01-16 20:32:08 +01:00
Tom Gundersen
6fc7349894 networkd: dhcp - only set the MTU option once
Only set MTU request when creating the dhcp client, not every time it is restarted.
2014-01-16 20:32:08 +01:00
Tom Gundersen
396945dc1f networkd: link - only save original MTU when necessary 2014-01-16 20:32:08 +01:00
Tom Gundersen
1f6d9bc9ee networkd: improve logging 2014-01-16 20:32:08 +01:00
Tom Gundersen
4f882b2a50 sd-dhcp-client/networkd: add interface MTU support 2014-01-16 01:44:19 +01:00
Tom Gundersen
5be4d38e31 networkd: DHCPv4 - allow opting out of using DNS servers
Setting UseDNS=no will ignore any received DNS servers.
2014-01-13 21:54:57 +01:00
Tom Gundersen
f3621dec52 networkd: fix wording 2014-01-12 15:44:40 +01:00
Tom Gundersen
3bef724f7e networkd: generate resolv.conf
This adds support to generate a basic resolv.conf in /run/systemd/network.
This file will not take any effect unless a symlink is created from
/etc/resolv.conf.

Nameservers received over DHCP takes precedence over statically configured ones.

Note: /etc/resolv.conf is severely limited, so in the future we will likely
rather provide a much more powerfull nss plugin (or something to that effect),
but this should allow current users to function without any loss of
functionality.
2014-01-12 15:37:21 +01:00
Tom Gundersen
924fe4304a networkd: bridge - remove redundant state
We will not insist on getting the reply from rtnl that the bridge
was created before considering the bridge ready, as we will be
notified about that via udev. We will listen for the rtnl response
however, in case the creation of the bridge failed.
2014-01-12 15:37:21 +01:00
Tom Gundersen
f46685a4c0 networkd: don't automatically reload config at runtime
We don't know if the config will be consistent, so do as systemd itself and only
load config when the daemon starts (and possibly, in the future, when explicitly requested).
2014-01-12 15:37:21 +01:00
Tom Gundersen
ab47d620b4 networkd: improve logging a bit 2014-01-12 15:37:21 +01:00
Zbigniew Jędrzejewski-Szmek
39032b8777 network: use GNU-ism to simplify macros
Thanks David!
2014-01-11 10:07:22 -05:00
Zbigniew Jędrzejewski-Szmek
628706137e networkd: print the received DHCPv4 address and gateway
It seems that networkd stores in_addr.s_addr contents in reverse
order (little-endian, not network order). This is a bit confusing,
but sd_rtnl evidently likes this order.
2014-01-08 22:15:27 -05:00
Zbigniew Jędrzejewski-Szmek
3333d748fa networkd: use structured logging for links and bridges 2014-01-08 22:15:27 -05:00
Zbigniew Jędrzejewski-Szmek
2ad8416dd0 No need to canonicalize fixed paths 2014-01-08 22:15:27 -05:00
Tom Gundersen
b3070dc025 networkd: refuse to use .network files with missing Address/Gateway key
These keys are mandatory in [Address]/[Route] sections. Otherwise, we
hit an assert:

ens3: setting addresses
Assertion 'address->family == 2 || address->family == 10' failed at /build/amd64-generic/tmp/portage/sys-apps/systemd-9999-r1/work/systemd-9999/src/network/networkd-address.c:137, function address_configure(). Aborting.

Reported-by: Alex Polvi <alex.polvi@coreos.com>

At the same time make sure Route's Destination and Gateway uses the same address family.
2014-01-05 00:32:31 +01:00
Tom Gundersen
8b264404b6 networkd: link hash uses 64, not 32 bit keys 2014-01-03 18:27:26 +01:00
Tom Gundersen
aa3437a573 networkd: print the ifindex of added links
This debug information may be useful when comapring to dropped rtnetlink messages.
2014-01-03 18:20:11 +01:00
Tom Gundersen
2672953bde networkd: improve logging
This gives a bit better messages when a link is added twice.
2014-01-03 16:56:09 +01:00
Tom Gundersen
efbc88b8ed networkd: improve link state change logging 2014-01-03 16:20:10 +01:00
Tom Gundersen
d0d311d62f networkd: add some debug info about notifications we ignore 2014-01-03 16:02:12 +01:00
Tom Gundersen
ff25413852 networkd: link - explicitly set the link to be up if the call to IFF_UP succeeds
No need to wait for the NEWLINK message to arrive.
2014-01-03 02:18:55 +01:00
Zbigniew Jędrzejewski-Szmek
477e73b531 networkd: fix memory leak in error path 2014-01-02 19:49:49 -05:00
Zbigniew Jędrzejewski-Szmek
7384fa923e networkd: do not deference null pointer in cleanup 2014-01-02 19:49:43 -05:00
Tom Gundersen
b1b532f58c networkd: dhcp - avoid null pointer dereference 2014-01-03 01:42:26 +01:00
Tom Gundersen
1746cf2ad7 networkd: add more asserts and ignore all events when link has failed 2014-01-03 01:42:26 +01:00
Tom Gundersen
06a6e59301 networkd: only track state of links we are managing
If a network is not (yet) set for a link, we do not care about its state (as we
anyway don't know what to do with it).
2014-01-02 15:56:10 +01:00
Tom Gundersen
449f755492 networkd: improve logging
Remove redundant messages, add some debugging ones and make wording more uniform.
2014-01-02 15:49:23 +01:00
Kay Sievers
be9326ca1d networkd: fix NULL pointer deref 2014-01-02 05:16:14 +01:00
Tom Gundersen
5eb036ca53 networkd: fix getting initial state
We were requesting the state and then ignoring it...
2014-01-02 01:43:05 +01:00
Tom Gundersen
f5be560181 networkd: add DHCPv4 support
This adds basic DHCPv4 support. Link-sense is enabled unconditionally,
but the plan is to make that configurable.

I tested this in a VM with lots of NICs and over wifi in the various
coffee shops I found this Christmas, but more testing would definitely
be appreciated.
2014-01-01 16:26:27 +01:00
Tom Gundersen
f048a16b46 networkd: distinguish between static and dynamic addresses/routes
Static addresses/routes are associated with a network. Dynamic
addresses/routes are associtade with links (as the corresponding network
may be shared by several links).
2014-01-01 16:23:00 +01:00
Tom Gundersen
407fe036a2 network: add support for dropping address 2014-01-01 15:12:50 +01:00
Lennart Poettering
e120204729 core,logind,networkd: check for udev device initialization via enumeration matches
Instead of checking each device after we got it, check wuth an
enumeration filter instead, to make it more efficient.
2013-12-18 18:21:28 +01:00
Lennart Poettering
bf5332d2bf core,logind,networkd: don't pick up devices from udev before they finished udev initialization
Managers shouldn't pick up the devices the manage before udev finished
initialization, hence check explicitly for that.
2013-12-18 03:37:26 +01:00
Tom Gundersen
d638dee035 networkd: bridge - fix state machine
We were entering BRIDGE_STATE_CREATED rather than BRIDGE_STATE_READY.
2013-12-17 22:08:12 +01:00
Tom Gundersen
ef1ba6065c networkd: link - remove useless states
Rework the state-machine a bit.
2013-12-17 22:08:12 +01:00
Tom Gundersen
22936833e1 networkd: rename link_update_flags to link_update
We are likely to track more than the flags in the future.
2013-12-17 22:08:12 +01:00
Tom Gundersen
ae4c67a7c6 networkd: add support for Route sections 2013-12-17 09:24:57 +01:00
Tom Gundersen
b0d27a2508 networkd: correct logging message 2013-12-17 09:24:57 +01:00
Thomas Hindoe Paaboel Andersen
bf1bc67015 network: more asserts to shut up scan-build 2013-12-16 18:55:59 +01:00
Tom Gundersen
0f49a5f751 network: use SETLINK to bring up interfaces 2013-12-16 17:28:19 +01:00
Tom Gundersen
0a0dc69b65 rtnl: replace message_append by typesafe versions 2013-12-16 17:28:18 +01:00
Tom Gundersen
1f01fb4f29 rtnl: simplify route_new()
Drop most of the arguments and instead introduce set_dst_prefixlen().
2013-12-16 17:28:18 +01:00
Tom Gundersen
fc25d7f805 rtnl: simplify link_new()
Drop most of the arguments and instead introduce link_set_{flags,type}.
2013-12-16 17:28:18 +01:00
Lennart Poettering
7b77ed8cf3 event: be more conservative when returning errors from event handler callbacks
We really should return errors from event handlers if we have a
continous problem and don't know any other solution.
2013-12-13 04:06:43 +01:00
Lennart Poettering
cde93897cd event: hook up sd-event with the service watchdog logic
Adds a new call sd_event_set_watchdog() that can be used to hook up the
event loop with the watchdog supervision logic of systemd. If enabled
and $WATCHDOG_USEC is set the event loop will ping the invoking systemd
daemon right after coming back from epoll_wait() but not more often than
$WATCHDOG_USEC/4. The epoll_wait() will sleep no longer than
$WATCHDOG_USEC/4*3, to make sure the service manager is called in time.

This means that setting WatchdogSec= in a .service file and calling
sd_event_set_watchdog() in your daemon is enough to hook it up with the
watchdog logic.
2013-12-11 18:20:09 +01:00
Tom Gundersen
dd3efc0993 networkd: add link-sense and simplify state-machine a bit
This listens to rtnetlink for changes to IFF_UP and IFF_LOWER_UP (link sense). The latter
is simply logged at the moment, but will be useful once we add dhcp support.
2013-12-04 14:15:13 +01:00