LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

[PATCH nf 2/3] netfilter: ipvs: allow rescheduling after RST

To: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
Subject: [PATCH nf 2/3] netfilter: ipvs: allow rescheduling after RST
Cc: lvs-devel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx, netfilter-devel@xxxxxxxxxxxxxxx, Wensong Zhang <wensong@xxxxxxxxxxxx>, Julian Anastasov <ja@xxxxxx>, Simon Horman <horms@xxxxxxxxxxxx>
From: Simon Horman <horms@xxxxxxxxxxxx>
Date: Thu, 18 Feb 2016 09:41:00 +0900
From: Julian Anastasov <ja@xxxxxx>

"RFC 5961, 4.2. Mitigation" describes a mechanism to request
client to confirm with RST the restart of TCP connection
before resending its SYN. As result, IPVS can see SYNs for
existing connection in CLOSE state. Add check to allow
rescheduling in this state.

Signed-off-by: Julian Anastasov <ja@xxxxxx>
Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx>
---
 net/netfilter/ipvs/ip_vs_core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
index 4da560005b0e..0c1d3fef9a7c 100644
--- a/net/netfilter/ipvs/ip_vs_core.c
+++ b/net/netfilter/ipvs/ip_vs_core.c
@@ -1089,6 +1089,7 @@ static inline bool is_new_conn_expected(const struct 
ip_vs_conn *cp,
        switch (cp->protocol) {
        case IPPROTO_TCP:
                return (cp->state == IP_VS_TCP_S_TIME_WAIT) ||
+                       cp->state == IP_VS_TCP_S_CLOSE ||
                        ((conn_reuse_mode & 2) &&
                         (cp->state == IP_VS_TCP_S_FIN_WAIT) &&
                         (cp->flags & IP_VS_CONN_F_NOOUTPUT));
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

<Prev in Thread] Current Thread [Next in Thread>