]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
ipvs: allow rescheduling after RST
authorJulian Anastasov <ja@ssi.bg>
Sat, 5 Mar 2016 13:03:23 +0000 (15:03 +0200)
committerSimon Horman <horms@verge.net.au>
Mon, 7 Mar 2016 02:53:32 +0000 (11:53 +0900)
"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@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
net/netfilter/ipvs/ip_vs_core.c

index 4da560005b0e9168760c3e76825f18551d60d238..b9a4082afa3abb7f2fcbf931ac6594baf474c9f0 100644 (file)
@@ -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));