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:
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)).
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/
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.