Pakete einreihen

Der Netfilter Code erlaubt es, sogenannte Queuehandler zu registrieren. Zur Zeit nutzt ip_queue.c diese Schnittstelle. Ist der Queuehandler mit nf_register_queue_handler() registriert, so werden alle Pakete, für die an einem Hook NF_QUEUE zurückgegeben worden ist, in die Warteschlange aufgenommen. Ist kein Queuehandler registriert, so sind NF_QUEUE und NF_DROP äquivalent.
Während sich die Pakete in der Queue befinden, lassen sie sich beliebig manipulieren. Mit nf_reinject() können sie an das System zurückgeben werden. Mit dem Paket übergibt man weiterhin ein Urteil zurück, welches das weitere Schicksal des Paketes bestimmt. Hier sind wieder alle fünf Rückgabewerte möglich.

Das Einreihen von Paketen zusammen mit dem Queuehandler ip_queue erlauben es, fast alles, was zur Zeit im Kernel an Filtern möglich ist, auch im sogenannten ,,userspace`` zu realisieren. Ip_queue bietet dem Programmierer einen Unix Socket, auf dem er die Pakete bearbeiten kann.



Klaus Rechert 2004-03-09