FreeBSD Linux yadrosida ishlatiladigan Netlink protokolini qo'llab-quvvatlaydi

FreeBSD kod bazasi Linuxda yadro va foydalanuvchi maydonidagi jarayonlar o'rtasidagi o'zaro aloqani tashkil qilish uchun ishlatiladigan Netlink aloqa protokolining (RFC 3549) amalga oshirilishini qabul qiladi. Loyiha yadrodagi tarmoq quyi tizimining holatini boshqarish uchun NETLINK_ROUTE operatsiyalar oilasini qo'llab-quvvatlash bilan cheklangan.

Joriy shaklda Netlink qo'llab-quvvatlash qatlami FreeBSD-ga tarmoq interfeyslarini boshqarish, IP manzillarini o'rnatish, marshrutni sozlash va paketni kerakli manzilga yo'naltirish uchun ishlatiladigan holatni saqlaydigan nexthop ob'ektlarini boshqarish uchun iproute2 paketidagi Linux ip yordam dasturidan foydalanish imkonini beradi. . Sarlavha fayllarini biroz o'zgartirgandan so'ng, Netlink-ni Bird marshrutlash paketida ishlatish mumkin.

FreeBSD uchun Netlink ilovasi yuklanishi mumkin bo'lgan yadro moduli sifatida paketlangan bo'lib, agar iloji bo'lsa, boshqa yadro quyi tizimlariga ta'sir qilmaydi va protokol orqali kiruvchi xabarlarni qayta ishlash va asinxron rejimda operatsiyalarni bajarish uchun alohida topshiriq navbatlarini (vazifa navbatini) yaratadi. Netlink-ni ko'chirishning sababi yadro quyi tizimlari bilan o'zaro ta'sir qilishning standart mexanizmining yo'qligi bo'lib, bu turli quyi tizimlar va drayverlarning o'z protokollarini ixtiro qilishiga olib keladi.

Netlink birlashgan aloqa qatlamini va turli manbalardan olingan turli ma'lumotlarni avtomatik ravishda bitta so'rovda birlashtirgan vositachi sifatida ishlay oladigan kengaytiriladigan xabar formatini taklif etadi. Masalan, devd, jail va pfilctl kabi FreeBSD quyi tizimlari endi o'zlarining ioctl qo'ng'iroqlari yordamida Netlink-ga ko'chirilishi mumkin, bu esa ushbu quyi tizimlar bilan ishlash uchun ilovalar yaratishni sezilarli darajada soddalashtiradi. Bundan tashqari, marshrutlash stekidagi keyingi ob'ektlar va guruhlarni o'zgartirish uchun Netlink-dan foydalanish foydalanuvchi-makon marshrutlash jarayonlari bilan yanada samarali o'zaro ta'sir qilish imkonini beradi.

Hozirda amalga oshirilayotgan xususiyatlar:

  • Marshrutlar, nexthops ob'ektlari va guruhlari, tarmoq interfeyslari, manzillar va qo'shni xostlar (arp/ndp) haqida ma'lumot olish.
  • Tarmoq interfeyslarining paydo bo'lishi va uzilishi, manzillarni o'rnatish va o'chirish, marshrutlarni qo'shish va o'chirish to'g'risida bildirishnomalarni shakllantirish.
  • Marshrutlarni, keyingi ob'ektlar va guruhlarni, shlyuzlarni, tarmoq interfeyslarini qo'shish va o'chirish.
  • Marshrutlash jadvalini boshqarish uchun Rtsock interfeysi bilan integratsiya.

Manba: opennet.ru

a Izoh qo'shish