F "işlev dizinleri" içindir.
en = ethernet
p# = PCI bus number
s# = slot number
f# = function index
Bazı kaynaklar eklendi: libvirt.org'un iyi bir açıklaması var
waste.org "f" hakkında şunu söylüyor:
Tüm cihazların en az 1 işlevi vardır, işlev # 0. Aygıt başına 0-7 numaralı 8 olası işlev vardır. Birden fazla fonksiyona sahip olan herhangi bir cihaza çok fonksiyonlu bir cihaz denir. Kombine modem + ses kartı gibi çok işlevli cihazlarda genellikle 0 ve 1 numaralı benzersiz adreslenebilir 2 işlev bulunur.
İşlev satıcıya ve cihaz kimliğine yönlendirir:
Bir cihazın her bir işlevi 256 sekiz bitlik kayıt defterine sahiptir. 0-3F yazmaçları, PCI spesifikasyonu ile tanımlanır ve belirli fonksiyon hakkında bilgi hazinesi sağlar. Kayıtlar 40-FF, satıcı tarafından tanımlanır ve fonksiyonun özelliklerini kontrol eder. Satıcıya özel belgeler olmadan, bu kayıtlar muhtemelen el değmeden bırakılmalıdır.
- 0 ve 1 numaralı kayıtlar, PCI tanımlaması tarafından satıcı kimliği olarak tanımlanır. Satıcı kimliği 16bit bir değerdir.
- 2. ve 3. kayıtlar cihaz kimliğidir.
Yorumlardaki pbhj'in bağlantısından kaynak koduna geçiyor :
Satır 264+:
if (sscanf(sysname, "%x:%x:%x.%u", &domain, &bus, &slot, &func) != 4)
return -ENOENT;
if (naming_scheme_has(NAMING_NPAR_ARI) &&
is_pci_ari_enabled(names->pcidev))
/* ARI devices support up to 256 functions on a single device ("slot"), and interpret the
* traditional 5-bit slot and 3-bit function number as a single 8-bit function number,
* where the slot makes up the upper 5 bits. */
func += slot * 8;
man systemd.net-naming-scheme