summaryrefslogtreecommitdiff
path: root/src/network/networkd-link.c
AgeCommit message (Collapse)Author
2014-10-27networkd: don't stop the dhcp server when link goes downTom Gundersen
2014-10-11sd-dhcp-client: support non-Ethernet hardware addressesDan Williams
Like Infiniband. See RFC 4390 section 2.1 for details on DHCP and Infiniband; chaddr is zeroed, hlen is set to 0, and htype is set to ARPHRD_INFINIBAND because IB hardware addresses are 20 bytes in length.
2014-09-29Do not format USEC_INFINITY as NULLZbigniew Jędrzejewski-Szmek
systemctl would print 'CPUQuotaPerSecUSec=(null)' for no limit. This does not look right. Since USEC_INFINITY is one of the valid values, format_timespan() could return NULL, and we should wrap every use of it in strna() or similar. But most callers didn't do that, and it seems more robust to return a string ("infinity") that makes sense most of the time, even if in some places the result will not be grammatically correct.
2014-09-16sd-bus: sd_bus_message_get_errno should only return positive errnoThomas Hindoe Paaboel Andersen
sd_bus_message_get_errno can currently return either a number of different poitive errno values (from bus-error-mapping), or a negative EINVAL if passed null as parameter. The check for null parameter was introduced in 40ca29a1370379d43e44c0ed425eecc7218dcbca at the same as the function was renamed from bus_message_to_errno and made public API. Before becoming public the function used to return only negative values. It is weird to have a function return both positive and negative errno and it generally looks like a mistake. The function is guarded by the --enable-kdbus flags so I wonder if we still have time to fix it up? It does not have any documentation yet. However, except for a few details it is just a convenient way to call sd_bus_error_get_errno which is documented to return only positive errno. This patch makes it return only positive errno and fixes up the two calls to the function that tried to cope with both positive and negative values.
2014-09-15hashmap: introduce hash_ops to make struct Hashmap smallerMichal Schmidt
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.
2014-09-08sd-network: add _get_network_file apiTom Gundersen
2014-09-04networkd: link - allow loopback links to be manage, but ignore DHCP/IPv4LLTom Gundersen
2014-09-04networkd: link - clarify log message when receiving address for unknown linkTom Gundersen
2014-09-04networkd: link - do not manage loopback linksTom Gundersen
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=83134.
2014-09-04networkd: link - save link flags when the link is addedTom Gundersen
Don't wait for the link to be fully synchronised.
2014-09-04networkd: move carrier gained/lost handling from link_update_flags() to ↵Tom Gundersen
link_update() This allows us also to simplify link_has_carrier() a bit.
2014-08-19networkd: don't consider deprecated or tentative addresses when determining ↵Tom Gundersen
operstate https://bugs.freedesktop.org/show_bug.cgi?id=81287
2014-08-19networkd: link - don't enforce ENSLAVING stateTom Gundersen
We are only guaranteed to stay in ENSLAVING state whilst enslaving by bridges/bonds, not when adding stacked devices (as then the underlying device can be IFF_UP'ed and configured in parallel), so drop these asserts.
2014-08-18networkd: fix how we generate lists in link_save()Lennart Poettering
https://bugs.freedesktop.org/show_bug.cgi?id=82721
2014-08-15networkd: always write out locally configured settings first, dhcp-acquired ↵Lennart Poettering
ones later This is primarily important for the domains list, as we really should prefer the locally configured domain over the dhcp supplied ones when we use it as a search list.
2014-08-15sd-network: add support for wildcard domainsTom Gundersen
2014-08-15networkd: add support for Domains= to .network filesTom Gundersen
This allows the search/routing domanis to be specified per link/network and be passed on to resolved.
2014-08-15networkd: rename UseDomainName to UseDomainsTom Gundersen
This option will also apply to the search domains, so make it plural.
2014-08-14sd-network: add sd_network_linkg_get_domains()Tom Gundersen
For now this only exposes the domain name (DHCP Option 15), and not the search string (DHCP Option 119), which will be implemented in a follow-up patch.
2014-08-14networkd: link - don't enter LINK_CONFIGURED more than onceTom Gundersen
2014-08-14networkd: link - print address lifetime for tracked addressesTom Gundersen
This should help in debugging issues with DHCP lease renewal.
2014-08-13sd-network: rename operstates 'down' -> 'off' and 'up' -> 'no-carrier'Tom Gundersen
Suggested by Lennart and Kay.
2014-08-13sd-network: rename state INITALIZING to PENDING and expose as any other stateTom Gundersen
This is the state when we are waiting for udev to initialize the device, and waiting for libudev and rtnl to be in sync. In the future we probably will also be waiting for nl80211. At this point we do not yet have enough information to know whether or not networkd should be handling the device.
2014-08-12sd-network: split the operstate 'unknown' into 'down' and 'up'Tom Gundersen
2014-08-12networkd: link - split out dhcp4 handlingTom Gundersen
2014-08-12networkd: link - fix IN_SET usageTom Gundersen
2014-08-12networkd: link - split out ipv4ll handlingTom Gundersen
2014-08-12networkd: link - make check for whether addresses/routes are being ↵Tom Gundersen
configured implicit
2014-08-12networkd: split out networkd-link.hTom Gundersen
2014-08-12networkd: update manager_save() to use fflush_and_check() to simplify things ↵Lennart Poettering
a bit
2014-08-12networkd: fix buildLennart Poettering
2014-08-11networkd: monopolize in_addr utility functions in shared/in-addr-util.hLennart Poettering
Primarily, this means we get rid of net_parse_inaddr(), and replace it everywhere with in_addr_from_string() and in_addr_from_string_auto(). These functions do not clobber the callers arguments on failure, which is more close to our usual coding style.
2014-08-04sd-dhcp-server: always send out ROUTER and SUBNET_MASKTom Gundersen
For now we simply take these values from the server's address.
2014-08-04networkd: add and expose per-link LLMNR config optionTom Gundersen
2014-08-01networkd: track the MTU of each linkTom Gundersen
And inform the DHCPv4 clients about it.
2014-08-01Revert "networkd: don't assume udev_device_new_from_device_id sets errno"Tom Gundersen
libudev now does set errno correctly, so we can indeed rely on this. This reverts commit 2b49732c3d511007ae2c413997e56c40f678d79a.
2014-07-30networkd: don't assume udev_device_new_from_device_id sets errnoTom Gundersen
This reverts 6f4d55a8ae04e344a41fc2adef12ad99c2bb2927, as we cannot rely on errno here. Reported by David Herrmann.
2014-07-30networkd: improve error message when udev device can not be foundTom Gundersen
Reported by Raimonds Cicans <ray@apollo.lv>
2014-07-30networkd: ipv4ll - configure link-local address independently of DHCPv4Tom Gundersen
This changes the behavior when both DHCPv4 and IPv4LL are enabled. Before, we would disable IPv4LL when we got a DHCPv4 lease and enable it if the lease was lost. Now we just always set up both, if both are enabled, but the DHCPv4 addresses and routes will always take precedence due to their metric and scope.
2014-07-30resolved: when answer A or AAAA questions, order responses by whether ↵Lennart Poettering
addresses are link-local or not
2014-07-29networkd: fix reporting errors from hostnamedMichael Marineau
The return value may be -EINVAL or a positive errno from the dbus message. Check both ranges, otherwise most errors are silently ignored.
2014-07-28networkd: unify handling of stacked netdevsTom Gundersen
2014-07-28networkd: store ifindex as intTom Gundersen
2014-07-28sd-dhcp-client: drop event DHCP_EVENT_NO_LEASETom Gundersen
Keep this internal to the client and simply restart it when NAK is receieved, as per the RFC.
2014-07-25networkd: ipv4ll - drop unnecessary get_address()Tom Gundersen
2014-07-23networkd: merge DNS and NTP entries when exportingTom Gundersen
In the state files, do not distinguish where the various entries came from (static or DHCP), but include them all in the same list.
2014-07-23networkd: set route protocolDan Williams
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 better?). [tomegun: fixup src/network/networkd-link.c:972:33: error: too few arguments to function 'route_new_dynamic']
2014-07-21networkd: netdev - split NetDev struct into per-kind structsTom Gundersen
Similarly to how unit types work.
2014-07-18sd-rtnl: make string returned by sd_rtnl_message_read_string() constLennart Poettering
2014-07-17sd-network: fixup apiTom Gundersen
Do not expose link_is_loopback, people should just get this from rtnl directly. Do not expose NTP servers as IP addresses, these must be strings. Expose ifindex as int, not unsigned. This is what the kernel (mostly) and glibc uses.