Commit ad147aa4 authored by Alex Gartrell's avatar Alex Gartrell Committed by Simon Horman

ipvs: Pass destination address family to ip_vs_trash_get_dest

Part of a series of diffs to tease out destination family from virtual
family.  This diff just adds a parameter to ip_vs_trash_get and then uses
it for comparison rather than svc->af.
Signed-off-by: default avatarAlex Gartrell <agartrell@fb.com>
Acked-by: default avatarJulian Anastasov <ja@ssi.bg>
Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
parent 655eef10
...@@ -657,8 +657,8 @@ static void __ip_vs_dst_cache_reset(struct ip_vs_dest *dest) ...@@ -657,8 +657,8 @@ static void __ip_vs_dst_cache_reset(struct ip_vs_dest *dest)
* scheduling. * scheduling.
*/ */
static struct ip_vs_dest * static struct ip_vs_dest *
ip_vs_trash_get_dest(struct ip_vs_service *svc, const union nf_inet_addr *daddr, ip_vs_trash_get_dest(struct ip_vs_service *svc, int dest_af,
__be16 dport) const union nf_inet_addr *daddr, __be16 dport)
{ {
struct ip_vs_dest *dest; struct ip_vs_dest *dest;
struct netns_ipvs *ipvs = net_ipvs(svc->net); struct netns_ipvs *ipvs = net_ipvs(svc->net);
...@@ -671,11 +671,11 @@ ip_vs_trash_get_dest(struct ip_vs_service *svc, const union nf_inet_addr *daddr, ...@@ -671,11 +671,11 @@ ip_vs_trash_get_dest(struct ip_vs_service *svc, const union nf_inet_addr *daddr,
IP_VS_DBG_BUF(3, "Destination %u/%s:%u still in trash, " IP_VS_DBG_BUF(3, "Destination %u/%s:%u still in trash, "
"dest->refcnt=%d\n", "dest->refcnt=%d\n",
dest->vfwmark, dest->vfwmark,
IP_VS_DBG_ADDR(svc->af, &dest->addr), IP_VS_DBG_ADDR(dest->af, &dest->addr),
ntohs(dest->port), ntohs(dest->port),
atomic_read(&dest->refcnt)); atomic_read(&dest->refcnt));
if (dest->af == svc->af && if (dest->af == dest_af &&
ip_vs_addr_equal(svc->af, &dest->addr, daddr) && ip_vs_addr_equal(dest_af, &dest->addr, daddr) &&
dest->port == dport && dest->port == dport &&
dest->vfwmark == svc->fwmark && dest->vfwmark == svc->fwmark &&
dest->protocol == svc->protocol && dest->protocol == svc->protocol &&
...@@ -950,7 +950,7 @@ ip_vs_add_dest(struct ip_vs_service *svc, struct ip_vs_dest_user_kern *udest) ...@@ -950,7 +950,7 @@ ip_vs_add_dest(struct ip_vs_service *svc, struct ip_vs_dest_user_kern *udest)
* Check if the dest already exists in the trash and * Check if the dest already exists in the trash and
* is from the same service * is from the same service
*/ */
dest = ip_vs_trash_get_dest(svc, &daddr, dport); dest = ip_vs_trash_get_dest(svc, udest->af, &daddr, dport);
if (dest != NULL) { if (dest != NULL) {
IP_VS_DBG_BUF(3, "Get destination %s:%u from trash, " IP_VS_DBG_BUF(3, "Get destination %s:%u from trash, "
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment