Nastny Poprzedni Spis Trei

4. Pytania o rozwój netfiltra

4.1 Nie rozumiem jak używaæ target QUEUE z przestrzeni użytkownika (userspace)

Biblioteka zwana libipq jest dostarczona do obsługi pakietów z przestrzeni użytkownika. (userspace). Jest dokumentacja do tego w postaci stron w manualu. Musisz skompilowaæ i zainstalowaæ komponenty rozwojowe iptables:

make install-devel

potem zobacz libipq(3).

Może także bêdziesz zainteresowany implementacją libipq dla Perla, Perlipq w: http://www.intercode.com.au/jmorris/perlipq/. Sama implementacja jest przykładem użycia biblioteki.

Inne przykłady kodu:

4.2 Moja aplikacja oparta na libipq zgłasza "Failed to receive netlink message: No buffer space available"

Oznacza to, że bufor gniazda (socket) Netlink po stronie jądra wyczerpał pamiêæ; aplikacja przestrzeni użytkownika nie jest w stanie obsłużyæ ilości danych dostarczonych z jądra.

Czy jest możliwe by zwiêkszyæ bufory jądra bym nie wpadał na ten problem?

Tak, są to standardowe gniazda (sockety) Netlink i możesz dostroiæ rozmiary buforów wejściowych (receive buffer) poprzez /proc/sys/net/core, sysctl lub używaæ opcji gniazda (socketa) SO_RCVBUF na deskryptorze pliku.

Możesz także spróbowaæ zapewniæ by aplikacja czytała dane najszybciej jak to jest możliwe. Jeśli nie potrzebujesz całego pakiety, spróbuj kopiowaæ mniej danych do przestrzeni użytkownika (zobacz ipq_set_mode(3)).

4.3 Chcê wnieśæ wkład w źródła, ale nie wiem jak

Główny zespół netfiltra utrzymuje listê TODO, która zawiera porządane zmiany / nowe cechy. Możesz pobraæ tê listê poprzez anonimowy CVS, instrukcje są na stronie głównej netfiltra. Ewentualnie możesz także pobraæ przez CVSweb http://cvs.netfilter.org/cgi-bin/cvsweb/netfilter/TODO/

4.4 Naprawiłem błąd lub napisałem nowy moduł. Co mam zrobiæ?

Jeśli chcesz to opublikowaæ, wyślij to listy dyskusyjnej netfilter-devel. Instrukcja jak zostaæ subskrybentem jest w http://lists.netfilter.org/mailman/listinfo/netfilter-devel/.

Prawidłowy sposób wysyłania łat:

Jeśli napisałeś nowe rozszerzenie, lub dodałeś nowe opcje do starego rozszerzenia, zwykle dobrze jest zaktualizowaæ także netfilter-extension-HOWTO by włączyæ opis nowej funkcjonalności. Dodatkowo, przyciągnie to wiêcej użytkowników do rozszerzenia i pozwoli na uzyskanie wiêcej informacji od użytkowników.


Nastny Poprzedni Spis Trei