Systemd/src/udev
Umut Tezduyar Lindskog b5db00e52e sd-ipv4ll/networkd: generate predictable addresses
Increase the chance of using the same link local address between reboots. The
pseudo random sequence of addresses we attempt is now seeded with data that is
very likely to stay the same between reboots, but at the same time be unique
to the specific machine/nic.

First we try to use the ID_NET_NAME_* data from the udev db combined with the
machin-id, which is guaranteed to be unique and persistent, if available. If
that is not possible (e.g., in containers where we don't have access to the
udev db) we fallback to using the MAC address of the interface, which is
guaranteed to be unique, and likely to be persistent.

[tomegun: three minor changes:

 - don't expose HASH_KEY in the siphash24 header
 - get rid of some compile-warnings (and some casts at the same time),
   by using uint8_t[8] rather than uint64_t in the api
 - added commit message]
2014-03-21 20:24:10 +01:00
..
accelerometer everywhere: always use O_CLOEXEC where it makes sense 2014-02-13 14:59:56 +01:00
ata_id everywhere: always use O_CLOEXEC where it makes sense 2014-02-13 14:59:56 +01:00
cdrom_id cdrom_id: use the old MMC fallback 2014-02-27 11:12:04 +01:00
collect everywhere: always use O_CLOEXEC where it makes sense 2014-02-13 14:59:56 +01:00
mtd_probe everywhere: always use O_CLOEXEC where it makes sense 2014-02-13 14:59:56 +01:00
net sd-ipv4ll/networkd: generate predictable addresses 2014-03-21 20:24:10 +01:00
scsi_id Remove dead lines in various places 2014-02-24 19:24:14 -05:00
v4l_id Remove duplicate includes 2013-11-18 20:28:55 -05:00
.gitignore udev: add builtin 'keyboard' to manage key mappings 2013-07-10 22:52:55 +02:00
.vimrc
Makefile build-sys: add stub makefiles to all subdirs to ease development with emacs 2012-04-13 21:37:59 +02:00
udev-builtin-blkid.c udev-builtin-blkid: remove dead code 2014-03-07 14:39:20 +01:00
udev-builtin-btrfs.c everywhere: always use O_CLOEXEC where it makes sense 2014-02-13 14:59:56 +01:00
udev-builtin-firmware.c log: log_error() and friends add a newline after each line anyway, so avoid including it in the log strings 2013-12-24 16:39:37 +01:00
udev-builtin-hwdb.c udev: hwdb - try reading modalias for usb before falling back to the composed one 2013-08-07 16:47:31 +02:00
udev-builtin-input_id.c input_id: Recognize buttonless joystick types 2014-03-10 08:54:22 +01:00
udev-builtin-keyboard.c log: log_error() and friends add a newline after each line anyway, so avoid including it in the log strings 2013-12-24 16:39:37 +01:00
udev-builtin-kmod.c log: log_error() and friends add a newline after each line anyway, so avoid including it in the log strings 2013-12-24 16:39:37 +01:00
udev-builtin-net_id.c udev/net_id: Introduce predictable network names for Linux on System z 2014-01-11 15:03:25 +00:00
udev-builtin-net_setup_link.c udev - link-setup - expose ID_NET_DRIVER 2014-02-21 21:00:39 +01:00
udev-builtin-path_id.c udev-builtin-path: fix printf specifiers 2013-12-14 23:10:03 -05:00
udev-builtin-uaccess.c udev-builtin: uaccess - inherit logging form udev 2013-10-19 12:23:17 +02:00
udev-builtin-usb_id.c doc: update punctuation 2014-02-17 19:03:07 -05:00
udev-builtin.c udev: builtin - rename net_link to net_setup_link 2013-10-29 14:17:57 +01:00
udev-ctrl.c make gcc shut up 2014-02-19 17:53:50 +01:00
udev-event.c udev: properly detect reference to unexisting part of PROGRAM's result 2014-03-11 13:18:13 +01:00
udev-node.c log: log_error() and friends add a newline after each line anyway, so avoid including it in the log strings 2013-12-24 16:39:37 +01:00
udev-rules.c Use strlen even for constant strings 2014-03-16 09:52:56 -04:00
udev-watch.c log: log_error() and friends add a newline after each line anyway, so avoid including it in the log strings 2013-12-24 16:39:37 +01:00
udev.conf move imported udev into place 2012-04-04 05:05:07 +02:00
udev.h udev: declare some symbols static 2013-11-13 03:34:24 +01:00
udev.pc.in udev.pc: install udev files to /lib/udev rather than /lib/systemd 2012-05-27 15:24:20 +02:00
udevadm-control.c udevadm: modernization 2013-12-18 23:58:23 -05:00
udevadm-hwdb.c udev: make sure we always return a valid error code in trie_store() 2014-02-19 17:53:50 +01:00
udevadm-info.c Remove dead lines in various places 2014-02-24 19:24:14 -05:00
udevadm-monitor.c use memzero(foo, length); for all memset(foo, 0, length); calls 2014-01-31 11:55:01 +01:00
udevadm-settle.c core, libsystemd, systemd, timedate, udev: spelling fixes 2014-03-17 02:35:35 -04:00
udevadm-test-builtin.c udevadm,scsi_id: add short options to help strings and to the man page 2013-12-18 23:58:23 -05:00
udevadm-test.c log: log_error() and friends add a newline after each line anyway, so avoid including it in the log strings 2013-12-24 16:39:37 +01:00
udevadm-trigger.c everywhere: always use O_CLOEXEC where it makes sense 2014-02-13 14:59:56 +01:00
udevadm.c log: log_error() and friends add a newline after each line anyway, so avoid including it in the log strings 2013-12-24 16:39:37 +01:00
udevd.c everywhere: always use O_CLOEXEC where it makes sense 2014-02-13 14:59:56 +01:00