FreeBSD aghjusta u supportu per u protocolu Netlink utilizatu in u kernel Linux

U codice FreeBSD adopta una implementazione di u protocolu di cumunicazione Netlink (RFC 3549), chì hè utilizatu in Linux per urganizà l'interazzione trà u kernel è i prucessi in u spaziu di l'utilizatori. U prugettu hè limitatu à supportà a famiglia di operazioni NETLINK_ROUTE per a gestione di u statu di u subsistema di rete in u kernel.

In a so forma attuale, a capa di supportu Netlink permette à FreeBSD di utilizà l'utilità IP Linux da u pacchettu iproute2 per gestisce l'interfacce di rete, stabilisce l'indirizzi IP, cunfigurà u routing, è manipule l'oggetti nexthop chì almacenanu u statu utilizatu per trasmette un pacchettu à u destinazione desiderata. . Dopu avè cambiatu pocu i fugliali di l'intestazione, hè pussibule aduprà Netlink in u pacchettu di routing Bird.

L'implementazione di Netlink per FreeBSD hè imballata cum'è un modulu di kernel caricabile chì, se pussibule, ùn affetta micca altri sottosistemi di kernel è crea file di task separati (tasqueue) per processà i missaghji entranti via u protokollu è fà operazioni in modu asincronu. U mutivu di porting Netlink hè a mancanza di un mecanismu standard per interagisce cù i sottosistemi di u kernel, chì porta à diversi sottosistemi è cunduttori chì inventanu i so protokolli.

Netlink offre una strata di cumunicazione unificata è un furmatu di missaghju estensibile chì pò agisce cum'è un intermediariu chì combina automaticamente dati disparati da diverse fonti in una sola dumanda. Per esempiu, i sottosistemi di FreeBSD cum'è devd, jail, è pfilctl ponu esse migrati à Netlink, avà aduprendu i so propiu ioctl chjamati, chì simplificà assai a creazione di applicazioni per travaglià cù questi sottosistemi. Inoltre, aduprendu Netlink per mudificà l'uggetti è i gruppi nexthop in a pila di routing permetterà una interazzione più efficaci cù i prucessi di routing di u spaziu di l'utilizatori.

Funzioni attualmente implementate:

  • Ottene infurmazione nantu à rotte, ughjetti è gruppi nexthops, interfacce di rete, indirizzi è ospiti vicini (arp/ndp).
  • Formazione di notificazioni nantu à l'apparizione è a disconnessione di l'interfacce di rete, stabilisce è sguassà l'indirizzi, aghjunghje è sguassà rotte.
  • Adding and remove routes, nexthops objects and groups, gateways, network interfaces.
  • Integrazione cù l'interfaccia Rtsock per gestisce a tabella di routing.

Source: opennet.ru

Add a comment