typo fix in comment
STRV_FOREACH_BACWARDS: start at the tail of the list

Otherwise, the user would have to manually initialize the pointer. Nobody currently uses this code,
so the change in behaviour sohuld be fine.
udev: move udev_rules_check_timestamp to shared

I want to use this from a bulitin in a subsequent patch.
udev-builtin: path_id - add support for bcma bus

This matches the bcma support in the network device naming.

Eventually wa want to make sure ID_PATH is equivalent to ID_NET_NAME_PATH,
so we never need to match on the latter.
update gitignore
STRV_FOREACH_BACKWARDS: improve readability a bit

The indentation was wrong, also put the semicolon on a separate line to make it clear it is a for-loop
with an epmyt body.
udev: add network link configuration tool

This tool applies hardware specific settings to network devices before they
are announced via libudev.

Settings that will probably eventually be supported are MTU, Speed,
DuplexMode, WakeOnLan, MACAddress, MACAddressPolicy (e.g., 'hardware',
'synthetic' or 'random'), Name and NamePolicy (replacing our current
interface naming logic). This patch only introduces support for
Description, as a proof of concept.

Some of these settings may later be overriden by a network management
daemon/script. However, these tools should always listen and wait on libudev
before touching a device (listening on netlink is not enough). This is no
different from how things used to be, as we always supported changing the
network interface name from udev rules, which does not work if someone
has already started using it.

The tool is configured by .link files in /etc/net/links/ (with the usual
overriding logic in /run and /lib). The first (in lexicographical order)
matching .link file is applied to a given device, and all others are ignored.

The .link files contain a [Match] section with (currently) the keys
MACAddress, Driver, Type (see DEVTYPE in udevadm info) and Path (this
matches on the stable device path as exposed as ID_PATH, and not the
unstable DEVPATH). A .link file matches a given device if all of the
specified keys do. Currently the keys are treated as plain strings,
but some limited globbing may later be added to the keys where it
makes sense.

Example:

/etc/net/links/50-wireless.link
[Match]
MACAddress=98:f2:e4:42:c6:92
Path=pci-0000:02:00.0-bcma-0
Type=wlan

[Link]
Description=The wireless link
udev: link-config: add ethtool support

This adds support for setting the link speed, duplex and WakeOnLan
settings.

Example:

[Link]
SpeedMBytes=100
Duplex=half
WakeOnLan=magic
path_lookup: moved _cleanup_lookup_paths_free_ from install.c to path-lookup.h
test-strv.c: added STRV_FOREACH and STRV_FOREACH_BACKWARDS
libsystemd-rtnl: add a rtnetlink library

This is intentionally as similar to sd-bus as possible. While it
would be simple to export it, the intentions is to keep this
internal (at least for the forseeable future).

Currently only synchronous communication is implemented
udev: link-config: add rtnl support

This adds support for setting the mac address, name and mtu.

Example:

[Link]
MTU=1450
MACAddress=98:76:54:32:10:ab
Name=wireless0
rtnl: relax the tests a bit

It is a bit too optimisitc that this stuff is the same on different hosts.
udev: link-config - sanity check the ifname and mac address
udev: link-config - move naming policy from udev rules

This introduces a new key NamePolicy, which takes an ordered list of naming
policies. The first successful one is applide. If all fail the value of Name
(if any) is used.

The possible policies are 'onboard', 'slot', 'path' and 'mac'.

This patch introduces a default link file, which replaces the equivalent udev
rule.
keymap: Reorder IdeaPad rules

So that they are together in the file.
keymap: Fix stuck keys on Lenovo IdeaPad Z370

https://launchpad.net/bugs/1245189
udev: link-config - add mac address policy

This introduces a new key MACAddressPolicy.

The possible policies are 'persistent' and 'random'.

'persistent' will do nothing if the current address is the hardware address,
but if the hardware does not have an address (or another address is set for
whatever reason), we will generate an address which will be random, but
persistent between boots (based on machineid and persistent netif name).

'random' will do nothing if the kernel already set a random address, otherwise
it will generate a random one and use that instead.

This patch sets MACAddressPolicy=persistent in the default .link file.
udev: don't mix static and dynamic libs
Update socket proxy name in TODO. Reformat to list.