summaryrefslogtreecommitdiff
path: root/src/network
AgeCommit message (Collapse)Author
2015-02-11networkd: don't do exit-on-idle if there is something wrong with the dbus ↵Tom Gundersen
connection Just fall back to plain old event loop in this (highly unlikely) case. In the glorious future when kdbus is upstream we can of course drop all this.
2015-02-11networkd DHCPv4 logging endian fixPaul Martin
On Tue, Feb 10, 2015 at 08:10:43PM +0100, Lennart Poettering wrote: > Hmm, I think it would be nicer to use be32toh() here instead, since it > ensures the macro is (to a limited degree) typesafe. > > Any chance you could rework that? From: Paul Martin <paul.martin@codethink.co.uk> Date: Wed, 11 Feb 2015 11:47:16 +0000 Subject: [PATCH] networkd dhcpv4 logging endian fix On a big-endian host, systemd-networkd prints out IPv4 network addresses byte reversed: Feb 10 16:43:32 hostname systemd-networkd[151]: eth0 : DHCPv4 address 158.1.24.10/16 via 1.1.24.10 The address obtained is 10.24.1.158/16 and the route is 10.24.0.0/16 dev eth0 src 10.24.1.187 The macro ADDRESS_FMT_VAL() unpacks a "struct in_addr" in a little-endian specific manner. This patch forces the passed address into host order, then unpacks it. On an x86 later than i486, compiled with -O2, the only extra overhead is a single bswap instruction.
2015-02-10net: support globbing and disjunction in Match logicTom Gundersen
Match{Name,OrginalName,Type,Driver,Path} can now take a space-separated glob of matches.
2015-02-10networkd: fdb - refactor a bitTom Gundersen
Pass around Link objcets rather than FdbEntry objects. The link objects have an up-to-date ifname we can use for logging. match_name sholud _never_ be used for anything except matching. Firstly, it may be unset (usually is), and secondly it may not be up-to-date.
2015-02-10networkd: bus - expose MatchMACTom Gundersen
2015-02-10networkd: network-bus - use sd_bus_path_{en,de}codeTom Gundersen
2015-02-09networkd: link_object_find - don't accept invalid inputTom Gundersen
Reported by Zbigniew.
2015-02-09networkd: support route scopesTom Gundersen
For now we only support the hardcoded values RT_SCOPE_{UNIVERSE,LOCAL,HOST}, and not numerical values or values from /etc/iproute2/rt_scopes. This addresses https://bugs.freedesktop.org/show_bug.cgi?id=88508.
2015-02-09treewide: correct typos and use consistent "MAC" spellingTorstein Husebø
2015-02-09networkd: bus - switch to properly escaped object pathsTom Gundersen
2015-02-09networkd: add support for IPv6 tokensTom Gundersen
This allows the admin to set the host-specific part of IPv6 addresses, but still receive the prefix via SLAAC. .network file snippet: [Network] IPv6Token=::12 gives: $ ip token token ::12 dev eth0 This closes https://bugs.freedesktop.org/show_bug.cgi?id=81177.
2015-02-09networkd: generalize IPv4LL to LinkLocalTom Gundersen
This allows both IPv4 and IPv6 link-local addresses to be enabled or disabled. By default we still enable IPv6LL and disable IPv4LL. The old config option is kept for backwards compatibility, but removed from the documentation.
2015-02-08networkd: add basic org.freedesktop.network1.Network interfaceTom Gundersen
2015-02-08networkd: add network_get_by_nameTom Gundersen
2015-02-08networkd: use valid bus pathsMantas Mikulėnas
Object path components must start with [A-Za-z_] (AFAIK). Also the value of 'p' is undefined if asprintf fails. Compare to user_bus_path() in src/login/logind-user-dbus.c:281.
2015-02-05networkd: move the connection to the bus out of manager_new (again)Tom Gundersen
This would otherwise make the tests fail as we cannot grab the bus name.
2015-02-05networkd: gracefully handle failure to emit signals when dbus is not connectedTom Gundersen
When we get kdbus we don't need these hackse.
2015-02-05networkd: exit on idleTom Gundersen
We will be woken up on rtnl or dbus activity, so let's just quit if some time has passed and that is the only thing that can happen. Note that we will always stay around if we expect network activity (e.g. DHCP is enabled), as we are not restarted on that.
2015-02-05networkd: don't unlink state files on exitTom Gundersen
Only unlink state files on DELLINK. This allows sd-network to be used even when networkd is not running.
2015-02-05networkd: add basic dbus APITom Gundersen
Only the very basics, more to come. For now: $ busctl tree org.freedesktop.network1 └─/org/freedesktop/network1 └─/org/freedesktop/network1/link ├─/org/freedesktop/network1/link/1 ├─/org/freedesktop/network1/link/2 ├─/org/freedesktop/network1/link/3 ├─/org/freedesktop/network1/link/4 ├─/org/freedesktop/network1/link/5 ├─/org/freedesktop/network1/link/6 ├─/org/freedesktop/network1/link/7 ├─/org/freedesktop/network1/link/8 └─/org/freedesktop/network1/link/9 $ busctl introspect org.freedesktop.network1 /org/freedesktop/network1 NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.network1.Manager interface - - - .OperationalState property s "carrier" emits-change $ busctl introspect org.freedesktop.network1 /org/freedesktop/network1/link/1 NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.network1.Link interface - - - .AdministrativeState property s "unmanaged" emits-change .OperationalState property s "carrier" emits-change
2015-02-05networkd: don't warn about missing links unnecessarilyTom Gundersen
If we get a NEWLINK + NEWADDR between enumerating the links and enumerating the addresses, we would get a warning that the link corresponding to the address does not exist. This is a false warning as both the NEWLINK and NEWADDR would be processed after enumerating completed, so drop it.
2015-02-05networkd: log when finished enumerating links and addressesTom Gundersen
2015-02-03networkd: refactor socket activation a bitTom Gundersen
2015-02-03networkd: handle suspend eventsTom Gundersen
2015-02-02network-address,test-network: avoid undefined behaviourZbigniew Jędrzejewski-Szmek
2015-02-03util: rework strappenda(), and rename it strjoina()Lennart Poettering
After all it is now much more like strjoin() than strappend(). At the same time, add support for NULL sentinels, even if they are normally not necessary.
2015-02-02networkd: minor simplificationLennart Poettering
Let's return the fd we found as return value in systemd_netlink_fd(), instead of using call-by-reference.
2015-02-02networkd: support socket activationTom Gundersen
Still keep the non-socket activation code around for starting from the commandline, but will likely drop that too in the future.
2015-02-02networkd-wait-online: add timeoutTom Gundersen
Default to timing out after 120 seconds without a network connection. Setting a timeout of 0 disables the timeout.
2015-02-02networkd-wait-online: support globbing for ignored devicesTom Gundersen
2015-01-31networkd: dhcp-server - start as soon as addresses have been setTom Gundersen
We would otherwise wait for the interface to be completely configured, which could take considerable time with IPv4LL. As a result nspawn was very slow at obtaining IP addresses.
2015-01-31networkd-wait-online: allow specific devices to be ignoredTom Gundersen
In addition to the loopback device, also explicitly configured devices to be ignored. Suggested by Charles Devereaux <systemd@guylhem.net>.
2015-01-28networkd: tunnel - call tunnel modes ipip6, not ip4ipv6 to match ip(8)Tom Gundersen
2015-01-27networkd-dhcp6: Assign DHCPv6 addresses and prefix lengthsPatrik Flykt
Once IPv6 addresses have been acquired, assign these to the interface with the prefix lengths taken from the ICMPv6 Router Advertisement handling code. The preferred and valid IPv6 address lifetimes are handed to the kernel which will clean up them if not renewed in time. When a prefix announced via Router Advertisements expires, find all addresses that match that prefix and update the address to have a prefix length of 128 causing the prefix to be off-link.
2015-01-22networkd: Introduce ip6gre and ip6gretapSusant Sahani
This patch introduces ipv6 gre and gretap. test: ip6gre.netdev: [NetDev] Name=ip6gretap Kind=ip6gretap [Tunnel] Local=2a00:ffde:4567:edde::4987 Remote=2001:473:fece:cafe::5179 ip6gre.network: [Match] Name=eno16777736 [Network] Tunnel=ip6gretap ip link 6: ip6gre@eno16777736: <POINTOPOINT,NOARP> mtu 1448 qdisc noop state DOWN mode DEFAULT group default link/gre6 2a:00:ff:de:45:67:ed:de:00:00:00:00:00:00:49:87 peer 20:01:04:73:fe:ce:ca:fe:00:00:00:00:00:00:51:79
2015-01-22networkd: Introduce IP6 tunnelSusant Sahani
This patch enables networkd to create IP6 tunnels example conf: ipip6.netdev: [NetDev] Name=ipip6-tunnel Kind=ip6tnl [Tunnel] Mode=ip4ipv6 Local=2a00:ffde:4567:edde::4987 Remote=2001:473:fece:cafe::5179 ipip6.network [Match] Name=wlan0 [Network] Tunnel=ipip6-tunnel 23: ipip6-tunnel@wlan0: <POINTOPOINT,NOARP> mtu 1452 qdisc noop state DOWN mode DEFAULT group default link/tunnel6 2a00:ffde:4567:edde::4987 peer 2001:473:fece:cafe::5179
2015-01-22networkd: introduce gretapSusant Sahani
This patch introdeces gretap to networkd
2015-01-21networkd: plug lldp leakTom Gundersen
2015-01-20networkd: fix a typo in networkd-wait-online-manager.Rami Rosen
subscibe->subscribe
2015-01-19man: add networkctl(1)Zbigniew Jędrzejewski-Szmek
2015-01-19networkd: netdev - add ipvlan supportTom Gundersen
2015-01-13networkd: propagate IPFoward= per-interface setting also to ↵Lennart Poettering
/proc/sys/net/ipv4/ip_forward We need to turn on /proc/sys/net/ipv4/ip_forward before the per-interface forwarding setting is useful, hence let's propagate the per-interface setting once to the system-wide setting. Due to the unclear ownership rules of that flag, and the fact that turning it on also has effects on other sysctl flags we try to minimize changes to the flag, and only turn it on once. There's no logic to turning it off again, but this should be fairly unproblematic as the per-interface setting defaults to off anyway.
2015-01-13networkd: make IP forwarding for IPv4 and IPv6 individually configurableLennart Poettering
2015-01-13networkd: rename misnamed booleanLennart Poettering
2015-01-13networkd: introduce an AddressFamilyBoolean enum typeLennart Poettering
This introduces am AddressFamilyBoolean type that works more or less like a booleaan, but can optionally turn on/off things for ipv4 and ipv6 independently. THis also ports the DHCP field over to it.
2015-01-13networkd: add minimal IP forwarding and masquerading support to .network filesLennart Poettering
This adds two new settings to networkd's .network files: IPForwarding=yes and IPMasquerade=yes. The former controls the "forwarding" sysctl setting of the interface, thus controlling whether IP forwarding shall be enabled on the specific interface. The latter controls whether a firewall rule shall be installed that exposes traffic coming from the interface as coming from the local host to all other interfaces. This also enables both options by default for container network interfaces, thus making "systemd-nspawn --network-veth" have network connectivity out of the box.
2015-01-11network: apply static addresses in specified orderZbigniew Jędrzejewski-Szmek
https://bugs.freedesktop.org/show_bug.cgi?id=83270
2015-01-01networkctl: avoid potential use of unitialized variablesZbigniew Jędrzejewski-Szmek
Those values are based on a file we read from disk, so we should verify everything we receive, and make sure everything we print is sensible. Also, print fractional seconds for TTL.
2015-01-01networkctl: remove unused variableZbigniew Jędrzejewski-Szmek
2015-01-01network: fix scanf/printf formatZbigniew Jędrzejewski-Szmek
usec_t is defined as 64 bit wide, but long is 32 bit on many archs.