/ / Verwendet jemand netlink für IPC? - Linux, IPC, Netlink

Verwendet jemand netlink für IPC? - Linux, IPC, Netlink

Ich plane, netlink für die Kommunikation zu verwendenzwischen zwei Userland-Prozessen. Ein Teil des Grundes, der über netlink so wählerisch ist, ist - Die meiste Verarbeitung für einen der Prozesse würde schließlich in den Kernelraum gehen und die netlinkbasierte Kommunikation kann so verwendet werden, wie sie ist (hoffentlich).

Der Ansatz, den ich nehme, ist - definiere ein neuesGenerische Netlink-Familie (Ich werde ein Kernel-Modul schreiben müssen, nur um diese Familie zu unterstützen - so wie es im Moment aussieht). Das ist in Ordnung, ich habe mir einen Beispielcode angeschaut, bei dem Kernel im Wesentlichen nur Nachrichten zwischen verschiedenen Prozessen weiterleitet und keine Arbeit verrichtet - die eigentliche Population dieser Nachrichten wird von den Prozessen verarbeitet.

Meine Frage ist - ist jemand netlink in ähnlicher Weise in einem der Projekte? Auch - macht der obige Ansatz Sinn?

Ich habe über einen Vorschlag über netlink-basierte DBUS gelesen. Aber ich habe keine Implementierung davon gefunden. Das kommt meinen Anforderungen am nächsten.

Vielen Dank.

Antworten:

5 für die Antwort № 1

Was du suchst ist NETLINK_USERSOCK wenn Sie zwischen Userspace-Prozessen kommunizieren möchten.

Netlink-Dokumentation ist leider sehr knapp. Dies könnte ein wenig helfen: Wer kann mir die neuesten Netlink-Programmierbeispiele geben?

Stellen Sie nur sicher, dass nl_pid nicht null ist und stimmt mit dem Bereich überein, in dem der Benutzerbereich gebunden ist und Sie eine Unicast senden.