Re: [RFC] IPVS: secure_tcp does provide alternate state timeouts
From: Simon Horman <horms@verge.net.au>
Date: 2011-09-29 09:01:56
Also in:
lvs-devel, netfilter-devel
On Thu, Sep 29, 2011 at 11:47:10AM +0300, Julian Anastasov wrote:
Hello, On Thu, 29 Sep 2011, Simon Horman wrote:quoted
* Also reword the test to make it read more easily (to me) Signed-off-by: Simon Horman <horms@verge.net.au> --- Julian, I don't see that IPVS currently implements alternate timeouts for secure_tcp. Am I missing something?Yes, only states are changed. What is missing is a libipvs support to modify per-protocol timeouts because they are not exported to /proc anymore. As the states have name, may be we can implement timeout to be set as follows: ipvsadm --set-state-timeout -p TCP SYN 10 Using 2 timeout tables just for secure_tcp is complicated and with the above control it is not needed.
Yes, I agree there is room for improvement. I guess the best way forward is to use netlink to allow per-state per-protocol timeout adjustment. In the mean time, I'll queue this patch up as I think its good that the documentation reflects the implementation.
quoted
--- Documentation/networking/ipvs-sysctl.txt | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-)diff --git a/Documentation/networking/ipvs-sysctl.txt b/Documentation/networking/ipvs-sysctl.txt index 1dcdd49..13610e3 100644 --- a/Documentation/networking/ipvs-sysctl.txt +++ b/Documentation/networking/ipvs-sysctl.txt@@ -140,13 +140,11 @@ nat_icmp_send - BOOLEAN secure_tcp - INTEGER 0 - disabled (default) - The secure_tcp defense is to use a more complicated state - transition table and some possible short timeouts of each - state. In the VS/NAT, it delays the entering the ESTABLISHED - until the real server starts to send data and ACK packet - (after 3-way handshake). + The secure_tcp defense is to use a more complicated TCP state + transition table. For VS/NAT, it also delays entering the + TCP ESTABLISHED state until the three way handshake is completed. - The value definition is the same as that of drop_entry or + The value definition is the same as that of drop_entry and drop_packet. sync_threshold - INTEGER-- 1.7.5.4Regards -- Julian Anastasov [off-list ref]