24 May 10:25
[v4 PATCH 0/1] netfilter: "fail-open" feature support for NFQUEUE
Krishna Kumar <krkumar2 <at> in.ibm.com>
2012-05-24 08:25:18 GMT
2012-05-24 08:25:18 GMT
Many users of an IBM security product, which uses netfilter's NFQUEUE target to process packets in userspace, face a problem of dropped connections during heavy load. Incoming packets are queued and processed by the security module, which does deep packet analysis to decide whether to accept or reject them. However during heavy load, the queue fills up and connections fail when large number of packets get dropped. This patch implements a "failopen" support for NFQUEUE to help keep connections open during such failures. This is achieved by allowing acceptance of packets temporarily when the queue is full, which enables existing connections to be kept open. Failopen is enabled/disabled using a new call - nfq_set_flags(qh, mask, flags), which makes use of two new netlink attributes: NFQA_CFG_MASK - Specifies which flags are being modified. NFQA_CFG_FLAGS - Set/reset the bits for each of those flags. Tests done: ------------ - netperf TCP_STREAM - 64 netperf stress testing to ensure there are no memory leaks - icmp ping - enabling/disabling failopen in the middle of existing connections - checksum verification of transferred files using scp - different flag/mask values to check that code handling NFQA_CFG_MASK works as expected Test results: -------------(Continue reading)
RSS Feed