diff options
author | Ingo Molnar <mingo@kernel.org> | 2016-06-14 09:17:42 (GMT) |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-06-14 09:17:42 (GMT) |
commit | 245050c287a9176cee9f98109df101909c1eeef4 (patch) | |
tree | 77358451bcc85e3fa2ab824240d5b351894ce74c /net/netfilter/ipvs/ip_vs_conn.c | |
parent | d4c3be70ca0e7a1ae308bedd3462900c61e97b11 (diff) | |
parent | db06d759d6cf903aeda8c107fd3abd366dd80200 (diff) | |
download | linux-245050c287a9176cee9f98109df101909c1eeef4.tar.xz |
Merge branch 'linus' into locking/core, to pick up fixes before merging new changes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/netfilter/ipvs/ip_vs_conn.c')
-rw-r--r-- | net/netfilter/ipvs/ip_vs_conn.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c index 2cb3c62..096a451 100644 --- a/net/netfilter/ipvs/ip_vs_conn.c +++ b/net/netfilter/ipvs/ip_vs_conn.c @@ -762,7 +762,7 @@ static int expire_quiescent_template(struct netns_ipvs *ipvs, * If available, return 1, otherwise invalidate this connection * template and return 0. */ -int ip_vs_check_template(struct ip_vs_conn *ct) +int ip_vs_check_template(struct ip_vs_conn *ct, struct ip_vs_dest *cdest) { struct ip_vs_dest *dest = ct->dest; struct netns_ipvs *ipvs = ct->ipvs; @@ -772,7 +772,8 @@ int ip_vs_check_template(struct ip_vs_conn *ct) */ if ((dest == NULL) || !(dest->flags & IP_VS_DEST_F_AVAILABLE) || - expire_quiescent_template(ipvs, dest)) { + expire_quiescent_template(ipvs, dest) || + (cdest && (dest != cdest))) { IP_VS_DBG_BUF(9, "check_template: dest not available for " "protocol %s s:%s:%d v:%s:%d " "-> d:%s:%d\n", |