I want to find all the possible means by which iptables userspace program interacts with the kernel.I have found that it does by means of setsockopt and getsockopt calls in the source code.But there is also a libipq library with the userspace program which uses netlink sockets.But any of the functions of the libipq library are not called from the source code.Is it safe to assume that the only means of interaction of the userspace program with the kernel is only by means of set and getsockopt calls?? If so under what circumstances is the libipq used??