Në bazën e kodit të FreeBSD është pranuar implementimi i protokollit të komunikimit Netlink (RFC 3549), i përdorur në Linux për të organizuar ndërveprimin e bërthamës me proceset në hapësirën e përdoruesit. Projekti kufizohet në mbështetje të familjes së operacioneve NETLINK_ROUTE për menaxhimin e gjendjes së nënstrukturen të rrjetit në bërthamë.
Në formën aktuale, niveli i mbështetjes për Netlink lejon përdorimin në FreeBSD të mjetit Linux ip nga paketa iproute2 për menaxhimin e ndërfaqeve të rrjetit, vendosjen e adresave IP, konfigurimin e rrugëve dhe manipulimin e objekteve nexthop, të cilat ruajnë të dhënat e gjendjes, të përdorura për transmetimin e paketave në destinacionin e dëshiruar. Pas disa ndryshimeve të vogla në skedarët ndihmës, është e mundur që Netlink të përdoret gjithashtu në paketën e rrugës Bird.
Implementimi i Netlink për FreeBSD është realizuar si një modul të ngarkueshëm bërthamor, i cili, për aq sa është e mundur, nuk prekin nën-sistemat e tjera të bërthamës dhe krijon radhë të veçanta punësh (tasqueue) për trajtimin e mesazheve të pranuara përmes protokollit dhe për kryerjen e operacioneve në mënyrë asinkrone. Arsyetimi për portimin e Netlink është mungesa e një mekanizmi standard për bashkëveprimin me nën-sistemat e bërthamës, i cili bëhet shkak që nën-sistemat dhe drejtuesit të ndryshëm të shpiknin protokolle të veta.
Netlink ofron një nivel komunikimi të unifikuar dhe një format të zgjerueshëm mesazhesh, i cili mund të shërbejë si ndërmjetës, duke bashkuar automatikisht në një kërkesë të vetme të dhëna të shkëputura nga burime të ndryshme. Për shembull, nën-sistemat FreeBSD, si devd, jail dhe pfilctl, të cilat aktualisht përdorin thirrje të veçanta ioctl, mund të përkthehen në Netlink, gjë që do të thjeshtojë ndjeshëm krijimin e aplikacioneve për punë me këto nën-sistema. Përveç kësaj, përdorimi i Netlink për modifikimin e objekteve dhe grupeve nexthop në stackun e rrugëzimit do të lejojë një bashkëpunim më efikas me proceset e rrugëzimit në hapësirën e përdoruesit.
Funksionalitetet e aktualizuara:
- Marrja e informacionit mbi rrugët, objektet dhe grupet e nexthops, ndërfaqet rrjetë, adresat dhe hostet fqinj (arp/ndp).
- Krijimi i njoftimeve për shfaqjen dhe fikjen e ndërfaqeve rrjetë, instalimin dhe fshirjen e adresave, shtimin dhe fshirjen e rrugëve.
- Shtimi dhe fshirja e rrugëve, objekteve dhe grupeve të nexthops, portave, ndërfaqeve rrjetë.
- Integrimi me ndërfaqen Rtsock për menaxhimin e tabelës së rrugëve.
Burimi: opennet.ru
