summaryrefslogtreecommitdiff
path: root/src/udev/udev-builtin-net_id.c
AgeCommit message (Collapse)Author
2015-09-02udev: net_id - support predictable ifnames on virtio busesTom Gundersen
Virtio buses are undeterministically enumerated, so we cannot use them as a basis for deterministic naming (see bf81e792f3c0). However, we are guaranteed that there is only ever one virtio bus for every parent device, so we can simply skip over the virtio buses when naming the devices.
2015-06-02udev: add some assertsTom Gundersen
Mostly for documentation purposes.
2015-05-22udev/net_id: Only read the first 64 bytes of PCI config spaceJason S. McMullan
The original code used fread(), which on some libc implementions (ie glibc 2.17) would pre-read a full 4K (PAGE_SIZE) of the PCI config space, when only 64 bytes were requested. I have recently come across PCIe hardware which responds with Completion Timeouts when accesses above 256 bytes are attempted. This can cause server systems with GHES/AEPI support to cause and immediate kernel panic due to the failed PCI transaction. This change replaces the buffered fread() with an explict unbuffered read() of 64 bytes, which corrects this issue by only reading the guaranteed first 64 bytes of PCIe config space.
2015-04-01udev: net_id - improve commentsTom Gundersen
The dev_port concept is a bit confusing, expand on the comment a bit.
2015-04-01udev: net_id - support multi-port enpo* device namesTom Gundersen
I'd argue that having firmware labels for such devices makes no sense, but they exist, so make sure we handle them as best as we can.
2015-04-01udev: net_id - fix copy-paste errorTom Gundersen
In case pci_slot overflows we were truncating pci_path instead.
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-01-22Assorted format fixesZbigniew Jędrzejewski-Szmek
Types used for pids and uids in various interfaces are unpredictable. Too bad.
2015-01-05udevadm,..: make --help output of udev tools more like the output of the ↵Lennart Poettering
various other tools
2014-12-11treewide: correct spacing near eol in code commentsTorstein Husebø
2014-08-12udev: modernize net_id builtin a bitLennart Poettering
2014-07-01Use dev_port for the ID of a network device.Thadeu Lima de Souza Cascardo
For network devices on the same PCI function, dev_id should not be used, since its purpose is for IPv6 support on interfaces with the same MAC address. The new dev_port sysfs attribute should be used instead of dev_id.
2014-04-06udev: net_id - use constants rather than magic numbersTom Gundersen
2014-03-27udev: persistent naming - we cannot use virtio numbers as they are not stableTom Gundersen
This reverts commit 8741f2defaf26aafe5ee0fd29954cfdf84ee519c: 'Add virtio-blk support to path_id' and commit e3d563346c4237af23335cc6904e0662efdf62ad: 'udev: net_id - handle virtio buses'. Distros may want to take note of this, as it changes behavior.
2014-03-27udev: update net_id commentsKay Sievers
2014-01-11udev/net_id: Introduce predictable network names for Linux on System zHendrik Brueckner
Use the bus-ID to create predicatable devices names for network interfaces on Linux on System z instances. The bus-ID identifies a device in the s390 channel subsystem. Network interfaces of device type Ethernet are named as: enccw0.0.1234 (13 characters) up to enccwff.7.ffff (14 characters) CTC network devices of device type SLIP, use a different prefix as follows: slccw0.0.1234 (13 characters) See also Red Hat Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=870859 [tomegun: typical problem of netdevs switching names between reboots.]
2014-01-04udev: net_id - handle virtio busesTom Gundersen
This was already supported in path_id, so should be uncontroversial.
2013-12-15Fix a few signed/unsigned format string issuesZbigniew Jędrzejewski-Szmek
Since numbers involved are all small, behaviour was correct already. https://bugzilla.redhat.com/show_bug.cgi?id=1043304
2013-12-03trivial coding style clean upsThomas Hindoe Paaboel Andersen
- Add space between if/for and the opening parentheses - Place the opening brace on same line as the function (not for udev) From the CODING_STYLE Try to use this: void foo() { } instead of this: void foo() { }
2013-07-08hwdb: add --lookup-prefix= optionKay Sievers
2013-07-01hwdb: add --device=<device-id> and --filter=<key name glob>Kay Sievers
2013-06-18udev: handle network controllers in nonstandard domainsSean McGovern
Onboard network controllers are not always on PCI domain 0. [Kay: use int instead of long, add [P] to slot naming, remove sysname var]
2013-04-05Use initalization instead of explicit zeroingZbigniew Jędrzejewski-Szmek
Before, we would initialize many fields twice: first by filling the structure with zeros, and then a second time with the real values. We can let the compiler do the job for us, avoiding one copy. A downside of this patch is that text gets slightly bigger. This is because all zero() calls are effectively inlined: $ size build/.libs/systemd text data bss dec hex filename before 897737 107300 2560 1007597 f5fed build/.libs/systemd after 897873 107300 2560 1007733 f6075 build/.libs/systemd … actually less than 1‰. A few asserts that the parameter is not null had to be removed. I don't think this changes much, because first, it is quite unlikely for the assert to fail, and second, an immediate SEGV is almost as good as an assert.
2013-03-03udev: fix segfault with android rndisRob Clark
The android gadget driver for network tethering over rndis somehow has a parent device with a null subsystem. Probably this is bug in android driver, but it is easy enough to make systemd/udev behave gracefully and not segfault. And this will help for making linux distros with systemd (like fedora) work on android devices.
2013-02-14honor SELinux labels, when creating and writing config filesHarald Hoyer
Also split out some fileio functions to fileio.c and provide a SELinux aware pendant in fileio-label.c see https://bugzilla.redhat.com/show_bug.cgi?id=881577
2013-02-13use streq instead of strcmpThomas Hindoe Paaboel Andersen
2013-02-13use strneq instead of strncmpThomas Hindoe Paaboel Andersen
2013-01-19udev: net_id - add link to the wiki pageKay Sievers
2013-01-17udev: net_id - suppress bcma core == 0Kay Sievers
2013-01-17udev: net_id - handle "bcma" busesKay Sievers
2013-01-09udev: move string copy functions to shared/Kay Sievers
2013-01-09udev: don't call fclose on NULL in is_pci_multifunctionLukas Nykryn
2013-01-08udev: net_id - skip stacked network devicesKay Sievers
2013-01-04udev: net_id - append "dev_id" value if neededKay Sievers
2012-12-09udev: net_id: update commentsKay Sievers
2012-12-06udev: net_id - fix OUI handlingKay Sievers
2012-12-06udev: net_id - fix typosKay Sievers
2012-12-06udev: net_id - update examplesKay Sievers
2012-12-06udev: net_id - update examplesKay Sievers
2012-12-06udev: net_id - provide path names for USB devicesKay Sievers
2012-12-04hwdb: add IAB to the OUI databaseTom Gundersen
The individual address block is a poor man's organizationally unique identifier. Perhaps we should change the udev key from ID_OUI_FROM_DATABASE to something like ID_IEEE_VENDOR_FROM_DATABASE? Suggested-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
2012-12-03udev: net_id - clarify commentsKay Sievers
2012-12-02udev: hwdb - fix OUI lookupKay Sievers
2012-11-30udev: net_id - suppress function number for single-function devicesKay Sievers
2012-11-26udev: net_id - merge properties into the correct deviceKay Sievers
2012-11-26udev: net_id - export PCI hotplug slot namesKay Sievers
2012-11-23udev: net_id - read ACPI _SUN -- slot user numberKay Sievers
2012-11-20udev: net - add device naming propertiesKay Sievers
2012-11-09udev: net_id - add builtin to retrieve data for network devicesKay Sievers