Commit Graph
463 Commits
Author SHA1 Message Date
Lennart Poettering d57c365bf8 networkctl: add the same color logic to "list" and "status" outputs
And always put operational state first, setup state second.
2014-08-14 01:18:37 +02:00
Lennart Poettering ab1525bc2d networkctl: name setup state variable setup_state 2014-08-14 01:10:08 +02:00
Lennart Poettering 2368512a31 networkctl: update column header to new 'setup' state naming 2014-08-14 01:08:46 +02:00
Tom Gundersen 438ca2bbd4 sd-networkd: rename link_get_state to link_get_setup_state
Suggested by Kay and Lennart.
2014-08-13 22:55:49 +02:00
Tom Gundersen d3df0e3982 sd-network: rename operstates 'down' -> 'off' and 'up' -> 'no-carrier'
Suggested by Lennart and Kay.
2014-08-13 22:44:41 +02:00
Tom Gundersen d6731e4c79 sd-network: /_get_link_/_link_get_/
The link is the 'object', so make this in line with our usual naming convention.

Suggested by Kay and Lennart.
2014-08-13 22:37:45 +02:00
Daniel Buch 5323ead145 networkctl: color status dump without link name
Lets mimic colored operational state dump as if link name is appiled
2014-08-13 22:31:03 +02:00
Tom Gundersen 636db02d54 networkctl: add colors to admin state and fix alignment
It is useful to color in the admin state both to easily spot failed links, but also to quickly
distinguish between links that are fully configured and in degraded mode (only IPv4LL) or in
degraded mode and still waiting for DHCP.
2014-08-13 15:39:57 +02:00
Tom Gundersen 8434fd5cf2 sd-network: rename state INITALIZING to PENDING and expose as any other state
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-13 15:39:57 +02:00
Tom Gundersen 38de08a7e4 networkd: dhcp4 - fix copy-paste error
Reported by poma.
2014-08-12 23:12:09 +02:00
Tom Gundersen ccf1c0299f networkd: disable ipv4ll default routes by default
This causes machines without connectivity to hang where they would otherwise fail. Keep it
opt-in for now, but consider whether we sholud just drop it.
2014-08-12 20:50:13 +02:00
Tom Gundersen 54cba0b16c sd-network: split the operstate 'unknown' into 'down' and 'up' 2014-08-12 20:42:59 +02:00
Tom Gundersen 3c9b886068 networkd: link - split out dhcp4 handling 2014-08-12 20:42:59 +02:00
Tom Gundersen 77a008c090 networkd: link - fix IN_SET usage 2014-08-12 20:42:59 +02:00
Tom Gundersen b22d8a00f4 networkd: link - split out ipv4ll handling 2014-08-12 20:42:59 +02:00
Tom Gundersen 431ca2cebb networkd: link - make check for whether addresses/routes are being configured implicit 2014-08-12 20:42:59 +02:00
Tom Gundersen 0b1831c20c networkd: split out networkd-link.h 2014-08-12 20:42:59 +02:00
Lennart Poettering f7d68aa8c9 networkctl: make networkctl status without link name show all local IP addresses 2014-08-12 16:19:37 +02:00
Lennart Poettering 6d0c65ffb4 networkctl: when outputing a list fo links, sort them by ifindex 2014-08-12 16:03:45 +02:00
Lennart Poettering df3fb561b2 networkctl: add a bit of color to the output 2014-08-12 15:41:01 +02:00
Lennart Poettering 9085f64a66 networkctl: add new switch "-a" to "networkctl status" to show verbose status of all local links 2014-08-12 15:19:30 +02:00
Lennart Poettering 1b17f21198 networkctl: properly format MAC addresses 2014-08-12 15:08:09 +02:00
Lennart Poettering 03cc0fd143 sd-network: add API to output all collected system-wide NTP and DNS servers
Also, output the collected information in "networkctl".
2014-08-12 15:06:51 +02:00
Lennart Poettering c0c743cb3d networkd: expose a global list of DNS and NTP servers in the state file 2014-08-12 13:02:27 +02:00
Lennart Poettering c2d6bd61ee networkd: update manager_save() to use fflush_and_check() to simplify things a bit 2014-08-12 13:02:27 +02:00
Lennart Poettering 91d3efeddd networkd: fix build 2014-08-12 02:33:37 +02:00
Lennart Poettering a903fd34c0 sd-network: move sd-network API into libsystemd proper
In contrast to the DHCP/IPv4LL/ICMP6 APIs sd-network is not a protocol
implementation but a client API for networkd, hence move it into
libsystemd proper.
2014-08-12 02:12:05 +02:00
Lennart Poettering 7bfe1e9cb0 sd-network: remove client-side dhcp API
The networkd should abstract the difference between DHCP supplied and
configured data, and hence the DHCP lease concept should not exposed on
the client side.

Should we want to support arbitrary DHCP fields one day, we can add a
new sd_network_get_link_dhcp_field() call or so.
2014-08-12 02:04:17 +02:00
Lennart Poettering ee8c456895 networkd: add minimal client tool "networkd" to query network status
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-12 01:54:40 +02:00
Lennart Poettering 6436165dbc sd-network: rename the per-ifindex calls to sd_network_get_link_xxx()
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-11 22:56:52 +02:00
Lennart Poettering 44e7b94926 networkd: monopolize in_addr utility functions in shared/in-addr-util.h
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-11 22:46:42 +02:00
Lennart Poettering b3df0b34c1 sd-network: when the LLMNR setting is not known for an interface consider 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-04 23:06:07 +02:00
Lennart Poettering 2cd666f8c9 sd-network: actually open the state file in sd_network_get_llmnr() 2014-08-04 23:05:26 +02:00
Tom Gundersen 59b8f6b628 sd-dhcp-server: always send out ROUTER and SUBNET_MASK
For now we simply take these values from the server's address.
2014-08-04 20:58:15 +02:00
Tom Gundersen bd8f653876 networkd: add and expose per-link LLMNR config option 2014-08-04 16:56:34 +02:00
Zbigniew Jędrzejewski-Szmek 601185b43d Unify parse_argv style
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-03 21:46:07 -04:00
Tom Gundersen afe7fd56f5 networkd: track the MTU of each link
And inform the DHCPv4 clients about it.
2014-08-01 16:34:50 +02:00
Tom Gundersen 9fecce8041 Revert "networkd: don't assume udev_device_new_from_device_id sets errno"
libudev now does set errno correctly, so we can indeed rely on this.

This reverts commit 2b49732c3d.
2014-08-01 11:56:13 +02:00
Tom Gundersen 2b49732c3d networkd: don't assume udev_device_new_from_device_id sets errno
This reverts 6f4d55a8ae, as we cannot rely on errno here.

Reported by David Herrmann.
2014-07-30 21:53:38 +02:00
Tom Gundersen 6f4d55a8ae networkd: improve error message when udev device can not be found
Reported by Raimonds Cicans <ray@apollo.lv>
2014-07-30 18:35:53 +02:00
Tom Gundersen ba17915457 networkd: ipv4ll - configure link-local address independently of DHCPv4
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-30 17:45:47 +02:00
Lennart Poettering af93291cc4 resolved: when answer A or AAAA questions, order responses by whether addresses are link-local or not 2014-07-30 00:48:59 +02:00
Michael Marineau 70b34f5de8 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.
2014-07-29 22:24:58 +02:00
Tom Gundersen 16aa63a00b networkd: route/address - use trivial hash functions 2014-07-28 12:21:51 +02:00
Tom Gundersen 6a0a2f860f networkd: unify handling of stacked netdevs 2014-07-28 12:16:40 +02:00
Tom Gundersen ae06ab1014 networkd: store ifindex as int 2014-07-28 11:46:57 +02:00
Tom Gundersen 2d2349cc3e 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.
2014-07-28 10:44:51 +02:00
Tom Gundersen bfa695b5cc 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: <http://avahi.org/wiki/AvahiAutoipd#Routes>
2014-07-25 02:14:23 +02:00
Tom Gundersen 3c072310d5 networkd: ipv4ll - drop unnecessary get_address() 2014-07-25 02:12:00 +02:00
Tom Gundersen 6f4dedb250 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.
2014-07-23 23:54:52 +02:00