This is the ipset source tree. Follow the next steps to install ipset: 0. You need the source tree of your kernel (version >= 2.6.31) and it have to be configured (with ip6tables support), modules compiled. Please apply the netlink.patch against your kernel tree (with kernel <= 2.6.31.1 please use the patch netlink.patch-2.6.31.1). Recompile and install the patched kernel and its modules. The ipset source code depends on the libmnl library so the library must be installed. 1. Initialize the compiling environment for ipset. The packages automake, autoconf and libtool are required. % ./autogen.sh 2. Run `./configure` and then compile the ipset binary and the kernel modules. Configure parameters can be used to to override the default path to the kernel source tree (/lib/modules/`uname -r`/build), the maximum number of sets (256), the default hash sizes (1024) or disable the extra compiler warning flags if your compiler does not support all of them. See `./configure --help`. % ./configure % make % make modules 3. Install the binary and the kernel modules # make install # make modules_install After installing the modules, you can run the testsuite as well. Please note, several assumptions must be met for the testsuite: - no sets defined - iptables/ip6tables rules are not set up - the destination for kernel logs is /var/log/kern.log - the networks 10.255.255.0/24 and 1002:1002:1002:1002::/64 are not in use - sendip utility is installed # make tests 4. Cleanup the source tree % make clean % make modules_clean That's it! Read the ipset(8) and iptables(8), ip6tables(8) manpages on how to use ipset and its match and target from iptables.