summaryrefslogtreecommitdiff
path: root/src/network
AgeCommit message (Collapse)Author
2014-08-12networkd: add minimal client tool "networkd" to query network statusLennart Poettering
In the long run this should become a full fledged client to networkd (but not before networkd learns bus support). For now, just pull interesting data out of networkd, udev, and rtnl and present it to the user, in a simple but useful output.
2014-08-11sd-network: rename the per-ifindex calls to sd_network_get_link_xxx()Lennart Poettering
This way we can introduce system-wide versions of these calls that are called the same way, but without the "link" in the name.
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-network: when the LLMNR setting is not known for an interface consider ↵Lennart Poettering
that as ENODATA ENODATA should be returned whenever we have no idea about something. A missing LLMNR setting can only really happen during upgrades, in whichc ase we really have no idea, so let's turn this into another ENODATA case.
2014-08-04sd-network: actually open the state file in sd_network_get_llmnr()Lennart Poettering
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-03Unify parse_argv styleZbigniew Jędrzejewski-Szmek
getopt is usually good at printing out a nice error message when commandline options are invalid. It distinguishes between an unknown option and a known option with a missing arg. It is better to let it do its job and not use opterr=0 unless we actually want to suppress messages. So remove opterr=0 in the few places where it wasn't really useful. When an error in options is encountered, we should not print a lengthy help() and overwhelm the user, when we know precisely what is wrong with the commandline. In addition, since help() prints to stdout, it should not be used except when requested with -h or --help. Also, simplify things here and there.
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: route/address - use trivial hash functionsTom Gundersen
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 - default to setting up ipv4ll routesTom Gundersen
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: <http://avahi.org/wiki/AvahiAutoipd#Routes>
2014-07-25networkd: ipv4ll - drop unnecessary get_address()Tom Gundersen
2014-07-23sd-network: expose DNS/NTP servers as stringsTom Gundersen
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.
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: bridge - use USEC_PER_MSEC macrosTom Gundersen
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)
2014-07-21networkd: add support for bond optionsSusant Sahani
The following bond options are supported by this patch. MIIMonitorSec: Specifies the frequency in milli-seconds that MII link monitoring will occur. UpDelaySec: Specifies the delay time in milli-seconds to enable a link after a link up status has been detected. DownDelaySec: Specifies the delay time in milli-seconds to disable a link after a link failure has been detected. changes: 1. Added gconf variables. 2. man page conf: [NetDev] Name=bond1 Kind=bond [Bond] Mode=802.3ad TransmitHashPolicy=layer2+3 LacpduTransmitRate=fast MIIMonitorSec=1s UpDelaySec=2s DownDelaySec=8s 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]
2014-07-21networkd: bond add support for lacp rateSusant Sahani
LacpduTransmitRate 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. chages: 1. Added enum bond_lacp_rate_table 2. gperf LacpduTransmitRate Test: conf file: [NetDev] Name=bond1 Kind=bond [Bond] Mode=802.3ad LacpduTransmitRate=fast test: 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]
2014-07-21networkd: add support for bond transmit hash policySusant Sahani
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 Added: 1. BondXmitHashPolicy 2. conf param TransmitHashPolicy Test conf: [NetDev] Name=bond1 Kind=bond [Bond] Mode=802.3ad TransmitHashPolicy=layer2+3 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]
2014-07-21networkd: netdev - split NetDev struct into per-kind structsTom Gundersen
Similarly to how unit types work.
2014-07-21sd-network: drop get_ifindicesTom Gundersen
People should use rtnl for this, and then only query sd-network by the ifindices it finds.
2014-07-18change type for address family to "int"Lennart Poettering
Let's settle on a single type for all address family values, even if UNIX is very inconsitent on the precise type otherwise. Given that socket() is the primary entrypoint for the sockets API, and that uses "int", and "int" is relatively simple and generic, we settle on "int" for this.
2014-07-18networkd-wait-online: fix comilation warningTom Gundersen
sd_rtnl_message_read_string() was changed to take a const argument, update the users.
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.
2014-07-17networkd-wait-online: track linksTom Gundersen
Rather than refetching the link information on ever event, we liston to rtnl to track them. Much code stolen from resolved. This will allow us to simplify the sd-network api and don't expose information available over rtnl.
2014-07-17sd-network: expose 'unmanaged' as a regular stateTom Gundersen
This is useful to save in the consumer of the lib, unlike ENODATA/EBUSY which means that the user should wait until a useful state is available.
2014-07-17networkd: fix colud typoZbigniew Jędrzejewski-Szmek
sztanpet> if your already there, might fixing "Colud" to Could in 53af3b7
2014-07-17sd-network: if a boolean is mising, we should just take it as falseLennart Poettering
That way, we can deprecate fields later on without problems
2014-07-17sd-network: remove redundant array size parameter from functions that return ↵Lennart Poettering
arrays As long as the number of array entries is relatively small it's nicer to simply return the number of entries directly, instead of using a size_t* return parameter for it.
2014-07-17sd-network: fix parameter order for sd_network_monitor_new()Lennart Poettering
Constructors should return the object they created as first parameter, except when they are generated as a child/member object of some other object in which case that should be first.
2014-07-16test-tables: add new entriesZbigniew Jędrzejewski-Szmek
One missing string found. A few things had to be moved around to make it possible to test them.
2014-07-16tty-ask-password-agent: modernizationZbigniew Jędrzejewski-Szmek
2014-07-16Be more careful when checking for empty filesZbigniew Jędrzejewski-Szmek
If we want to avoid reading a totally empty file, it seems better to check after we have opened the file, not before.
2014-07-16Let config_parse open file where applicableZbigniew Jędrzejewski-Szmek
Special care is needed so that we get an error message if the file failed to parse, but not when it is missing. To avoid duplicating the same error check in every caller, add an additional 'warn' boolean to tell config_parse whether a message should be issued. This makes things both shorter and more robust wrt. to error reporting.
2014-07-15Constify ConfigTableItem tablesZbigniew Jędrzejewski-Szmek
2014-07-15networkd: remove unused variableThomas Hindoe Paaboel Andersen
2014-07-15networkd: netdev - set mac for bond/bridge devicseTom Gundersen
Suggested by poma.
2014-07-15sd-dhcp-client: make request broadcasts opt-inTom Gundersen
It appears there is no good way to decide whether or not broadcasts should be enabled, there is hardware that must have broadcast, and there are networks that only allow unicast. So we give up and make this configurable. By default, unicast is used, but if the kernel were to inform us abotu certain interfaces requiring broadcast, we could change this to opt-in by default in those cases.
2014-07-14networkd: link - fix memory leakTom Gundersen
Make link_initialized() idempotent to avoid taking refs on several udev_device objects.
2014-07-14test: network - skip if we don't have permissions to create netdevsTom Gundersen