In windows, a typical firewall program may contain a driver to deal with the datagram processing. What about in Linux? Does it also need to write a Linux driver?