Mengapa * BSD menggunakan nama khusus driver untuk antarmuka jaringan?
Untuk membuat hal-hal sederhana. Jika Anda melihat antarmuka yang bernama bge0
dan melihat manual atau menggunakan sistem tautan mnemonik Anda, Anda akan segera ingat bahwa driver ini adalah Broadcom Gigabit Etherhet . Ini dokumen juga berguna.
Apakah ini berarti tidak ada lapisan abstraksi yang menggambarkan "antarmuka jaringan generik" di kernel, sehingga setiap driver akan ditangani secara internal melalui APInya sendiri?
Aturannya di sini adalah:
- Gunakan nama driver untuk membuat nama perangkat;
- Gunakan id PCI terendah untuk membuat nomor tepat setelah nama perangkat;
Tidak diperlukan lapisan abstraksi. Sesederhana itu.
(bagaimana) apakah itu memengaruhi subsistem seperti agregasi tautan, pembentukan lalu lintas, QoS (ALTQ), pemfilteran, dan lainnya?
Nama antarmuka tidak boleh mengganggu lalu lintas shapping.
Tepatnya, sepertinya di bawah pfSense, saya tidak bisa menggunakan ALTQ dengan antarmuka virtual agregasi tautan (LAG).
Hari ini seharusnya bekerja:
Apakah ini batasan internal BSD karena kurangnya lapisan abstraksi yang sesuai?
Bukan berarti tidak ada lapisan yang tepat untuk menangani ini. Itu karena Anda bisa menggunakan sumber daya lain untuk menangani nama-nama seperti membuat nama antarmuka ( /etc/rc.conf
), atau mengubah id pci pada pengaturan motherboard. Dan seperti yang dikatakan oleh orang lain tentang pertanyaan ini, bahkan Linux akan mengikuti jalan ini biosdevname
.