summaryrefslogtreecommitdiff
path: root/src/network/networkd-link.c
AgeCommit message (Collapse)Author
2014-03-08networkd: fix confusion from missing bracesZbigniew Jędrzejewski-Szmek
Fixup for 76800848f281c3 'networkd: link - degrade failed UP to warning'.
2014-03-08networkd: link - degrade failed UP to warningTom Gundersen
Something else may still bring the link up, so don't enter failed state prematurely.
2014-03-07networkd: use new rtnl_message_read() APITom Gundersen
2014-03-05networkd: listen to changes to the MAC addressTom Gundersen
Bridges will change their MAC address when other devices are enslaved. We need the correct MAC address to acquire a DHCP lease, so take note of it whenever it changes.
2014-03-05networkd: restore logic for enslaving to a master bonding interfaceMark Oteiza
This partially reverts commit 54abf46, which unintentionally removed the enslaving support for bonding interfaces
2014-03-03sd-network: IPv4 link-local support [v2]Umut Tezduyar Lindskog
Implements IPv4LL with respect to RFC 3927 (http://tools.ietf.org/rfc/rfc3927.txt) and integrates it with networkd. Majority of the IPv4LL state machine is taken from avahi (http://avahi.org/) project's autoip. IPv4LL can be enabled by IPv4LL=yes under [Network] section of .network file. IPv4LL works independent of DHCP but if DHCP lease is aquired, then LL address will be dropped. [tomegun: removed a trailing newline and a compiler warning]
2014-02-28sd-network: add new libraryTom Gundersen
This is similar to sd-login, but exposes the state of networkd rather than logind. Include it in libsystemd-dhcp and rename it to libsystemd-network.
2014-02-25networkd: add basic support for MACVLANsTom Gundersen
2014-02-22networkd: handle SIGINT and SIGTERMTom Gundersen
2014-02-20api: in constructor function calls, always put the returned object pointer ↵Lennart Poettering
first (or second) Previously the returned object of constructor functions where sometimes returned as last, sometimes as first and sometimes as second parameter. Let's clean this up a bit. Here are the new rules: 1. The object the new object is derived from is put first, if there is any 2. The object we are creating will be returned in the next arguments 3. This is followed by any additional arguments Rationale: For functions that operate on an object we always put that object first. Constructors should probably not be too different in this regard. Also, if the additional parameters might want to use varargs which suggests to put them last. Note that this new scheme only applies to constructor functions, not to all other functions. We do give a lot of freedom for those. Note that this commit only changes the order of the new functions we added, for old ones we accept the wrong order and leave it like that.
2014-02-19make gcc shut upLennart Poettering
If -flto is used then gcc will generate a lot more warnings than before, among them a number of use-without-initialization warnings. Most of them without are false positives, but let's make them go away, because it doesn't really matter.
2014-02-19networkd: dhcp - log when lease is lostTom Gundersen
2014-02-19networkd: link - only reset transient hostname if it was set by usTom Gundersen
2014-02-18networkd: refactor link_add() ↵Tom Gundersen
:( Don't set set **ret when returning r < 0, as matching on the errno may easily give false positives in the future leading to null pointer dereference. Reported-by: David Herrmann <dh.herrmann@gmail.com>
2014-02-18sd-rtnl-message: store reference to the bus in the messageTom Gundersen
This mimics the sd-bus api, as we may need it in the future.
2014-02-17networkd: act on lease only if there is oneUmut Tezduyar Lindskog
Interface could go down before acquiring a dhcp lease
2014-02-13rtnl: rename constructors from the form sd_rtnl_xxx_yyy_new() to ↵Lennart Poettering
sd_rtnl_xxx_new_yyy() So far we followed the rule to always indicate the "flavour" of constructors after the "_new_" or "_open_" in the function name, so let's keep things in sync here for rtnl and do the same.
2014-02-13rtnl: drop "sd_" prefix from cleanup macrosLennart Poettering
The "sd_" prefix is supposed to be used on exported symbols only, and not in the middle of names. Let's drop it from the cleanup macros hence, to make things simpler. The bus cleanup macros don't carry the "sd_" either, so this brings the APIs a bit nearer.
2014-02-10networkd: link - correctly skip state ENSLAVING when no vlans configuredTom Gundersen
This fixes a regression introduced in 672682a6b
2014-02-10networkd: VLAN - allow multiple vlans to be created on a linkTom Gundersen
Also limit the range of vlan ids. Other implementations and documentation use the ranges {0,1}-{4094,4095}, but we use the one accepted by the kernel: 0-4094. Reported-by: Oleksii Shevchuk <alxchk@gmail.com>
2014-02-10networkd: fix setting dns from dhcpTom Gundersen
2014-02-07remove unused variablesThomas Hindoe Paaboel Andersen
2014-02-07sd-dhcp-client: split sd_dhcp_lease from sd_dhcp_clientTom Gundersen
This allows us users of the library to keep copies of old leases. This is used by networkd to know what addresses to drop (if any) when the lease expires. In the future this may be used by DNAv4 and sd-dhcp-server.
2014-02-01networkd: don't fail on DHCP errorsTom Gundersen
2014-01-31networkd: dhcp - refactor handlerTom Gundersen
2014-01-30networkd: netdev - reduce chance of race when receiving netdev's ifindexTom Gundersen
When creating a new link, the kernel will not inform us about the new ifindex in its ack. We have to listen for newly created devices and deduce the new ifindex by matching on the ifname. We used to do this by waiting for a new device from libudev, but that is asking for trouble, as udev will happily rename the device before handing it to us. Listen on rtnl instead, the chance of the name being changed before reaching us is much smaller (if not nil). Kernel patch in the works to make this unneccessary.
2014-01-30sd-dhcp-client/net-util: make netmask_to_prefixlen genericTom Gundersen
This was originally included in the dhcp-client at my request, but it is not really dhcp-specific and useful outside of it, so let's pull it out.
2014-01-30networkd: address - add support for broadcastTom Gundersen
2014-01-30networkd: dhcpv4 - add notion of 'CriticalConnection'Tom Gundersen
These connections are never torn down, even when the DHCP specifications say that they should be. This is useful/necessary when the rootfs (or another critical fs) is mounted over this network connection, and dataloss would result if the connection is lost. This option defaults to off, but our initrd generator (TBD) will enable it when applicable.
2014-01-25networkd: improve logging a bitTom Gundersen
Fix/add some structured logging messages, and be uniform about when we WARN and ERR.
2014-01-25networkd: add basic VLAN supportTom Gundersen
2014-01-22networkd: add basic bonding supportTom Gundersen
Refactor bridging support to be generic netdev support and extend it to cover bonding as well.
2014-01-22sd-rtnl: link - allow setting the change maskTom Gundersen
2014-01-19networkd: use 'up'/'down' rather than 'on'/'off'Tom Gundersen
2014-01-18sd-dhcp-client: refactor client_{free,new}Tom Gundersen
Make them more simiar to sd_bus and friends. Also factor out the event attachment. In the future, we will likely want to support external main-loops, so this is a first step. For the time being, we are still requiring an sd_event to be attached though.
2014-01-18networkd: don't hard depend on system busTom Gundersen
We may not have a dbus daemon in the initrd (until we can rely on kdbus). In this case, simply ignore any attempts at using the bus. There is only one user for now, but surely more to come. In order to work reliably in the real root without kdbus, but at the same time don't delay boot when kdbus is in use, order ourselves after dbus.service.
2014-01-16sd-dhcp-client: refactor DNS supportTom Gundersen
Rather than keeping an array of pointers to addresses, just keep an array of addresses.
2014-01-16sd-dhcp-client/networkd: add transient hostname supportTom Gundersen
2014-01-16networkd: dhcp - only set the MTU option onceTom Gundersen
Only set MTU request when creating the dhcp client, not every time it is restarted.
2014-01-16networkd: link - only save original MTU when necessaryTom Gundersen
2014-01-16networkd: improve loggingTom Gundersen
2014-01-16sd-dhcp-client/networkd: add interface MTU supportTom Gundersen
2014-01-13networkd: DHCPv4 - allow opting out of using DNS serversTom Gundersen
Setting UseDNS=no will ignore any received DNS servers.
2014-01-12networkd: generate resolv.confTom Gundersen
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-12networkd: improve logging a bitTom Gundersen
2014-01-11network: use GNU-ism to simplify macrosZbigniew Jędrzejewski-Szmek
Thanks David!
2014-01-08networkd: print the received DHCPv4 address and gatewayZbigniew Jędrzejewski-Szmek
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-08networkd: use structured logging for links and bridgesZbigniew Jędrzejewski-Szmek
2014-01-03networkd: print the ifindex of added linksTom Gundersen
This debug information may be useful when comapring to dropped rtnetlink messages.
2014-01-03networkd: improve loggingTom Gundersen
This gives a bit better messages when a link is added twice.