diff mbox

[4/10] ipvs: Use IP_VS_RT_MODE_* instead of magic constants.

Message ID alpine.LFD.2.00.1105110123001.4532@ja.ssi.bg
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Julian Anastasov May 10, 2011, 10:26 p.m. UTC
Fix more IP_VS_RT_MODE_* constants

Signed-off-by: Julian Anastasov <ja@ssi.bg>
---

	Following patch can be used after patch 4, eg. as
number 6 because patches 4 and 5 are ok and we are going to replace
patches 6 and 7.

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

Comments

David Miller May 10, 2011, 10:30 p.m. UTC | #1
From: Julian Anastasov <ja@ssi.bg>
Date: Wed, 11 May 2011 01:26:09 +0300 (EEST)

> 
> 	Fix more IP_VS_RT_MODE_* constants
> 
> Signed-off-by: Julian Anastasov <ja@ssi.bg>
> ---
> 
> 	Following patch can be used after patch 4, eg. as
> number 6 because patches 4 and 5 are ok and we are going to replace
> patches 6 and 7.

Thanks Julian.

What I'm going to do is hold back the IPVS parts of the patches I
posted last night.  In particular, I'll integrate this into the
original patch #4.

And then we can work through the reimplementation ideas you posted to
me in private email.

If you could post those ideas here on the list I'd appreciate it,
so others can follow along and provide feedback.

Thanks!
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Julian Anastasov May 10, 2011, 11:24 p.m. UTC | #2
Hello,

On Tue, 10 May 2011, David Miller wrote:

> > 	Fix more IP_VS_RT_MODE_* constants
> > 
> > Signed-off-by: Julian Anastasov <ja@ssi.bg>
> > ---
> > 
> > 	Following patch can be used after patch 4, eg. as
> > number 6 because patches 4 and 5 are ok and we are going to replace
> > patches 6 and 7.
> 
> Thanks Julian.
> 
> What I'm going to do is hold back the IPVS parts of the patches I
> posted last night.  In particular, I'll integrate this into the
> original patch #4.
> 
> And then we can work through the reimplementation ideas you posted to
> me in private email.
> 
> If you could post those ideas here on the list I'd appreciate it,
> so others can follow along and provide feedback.

	I think, I included the main things in the comments
with patch 7. I forgot to tell that I'll do some IPVS-IPv4 tests
tomorrow. May be Hans will test the patches too.

Regards

--
Julian Anastasov <ja@ssi.bg>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Hans Schillstrom May 11, 2011, 6:02 a.m. UTC | #3
Hi
On Wednesday 11 May 2011 01:24:42 Julian Anastasov wrote:
> 
> 	Hello,
> 
> On Tue, 10 May 2011, David Miller wrote:
> 
> > > 	Fix more IP_VS_RT_MODE_* constants
> > > 
> > > Signed-off-by: Julian Anastasov <ja@ssi.bg>
> > > ---
> > > 
> > > 	Following patch can be used after patch 4, eg. as
> > > number 6 because patches 4 and 5 are ok and we are going to replace
> > > patches 6 and 7.
> > 
> > Thanks Julian.
> > 
> > What I'm going to do is hold back the IPVS parts of the patches I
> > posted last night.  In particular, I'll integrate this into the
> > original patch #4.
> > 
> > And then we can work through the reimplementation ideas you posted to
> > me in private email.
> > 
> > If you could post those ideas here on the list I'd appreciate it,
> > so others can follow along and provide feedback.
> 
> 	I think, I included the main things in the comments
> with patch 7. I forgot to tell that I'll do some IPVS-IPv4 tests
> tomorrow. May be Hans will test the patches too.

It all looks good to me, I'll do some tests today.

> 
> Regards
> 
> --
> Julian Anastasov <ja@ssi.bg>
Julian Anastasov May 11, 2011, 11:32 p.m. UTC | #4
Hello,

On Tue, 10 May 2011, David Miller wrote:

> > 	Following patch can be used after patch 4, eg. as
> > number 6 because patches 4 and 5 are ok and we are going to replace
> > patches 6 and 7.
> 
> Thanks Julian.
> 
> What I'm going to do is hold back the IPVS parts of the patches I
> posted last night.  In particular, I'll integrate this into the
> original patch #4.
> 
> And then we can work through the reimplementation ideas you posted to
> me in private email.

	My simple tests do not show any problems with patches
4, 5 and the new 6 and 7. I tested TUN mode for rt_src/rt_dst
and DR/NAT for rt_dst replacement, related ICMP is relayed properly.
So, we should be ok but I'll do more tests in the following
days because the list with possible combinations for testing
is too long: different forwarding mode (DR/TUN/NAT),
local or remote real server, local or remote client,
In or Out related ICMP, Passive or Active FTP...

Regards

--
Julian Anastasov <ja@ssi.bg>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Hans Schillstrom May 12, 2011, 5:28 a.m. UTC | #5
On Thursday 12 May 2011 01:32:09 Julian Anastasov wrote:
> 
> 	Hello,
> 
> On Tue, 10 May 2011, David Miller wrote:
> 
> > > 	Following patch can be used after patch 4, eg. as
> > > number 6 because patches 4 and 5 are ok and we are going to replace
> > > patches 6 and 7.
> > 
> > Thanks Julian.
> > 
> > What I'm going to do is hold back the IPVS parts of the patches I
> > posted last night.  In particular, I'll integrate this into the
> > original patch #4.
> > 
> > And then we can work through the reimplementation ideas you posted to
> > me in private email.
> 
> 	My simple tests do not show any problems with patches
> 4, 5 and the new 6 and 7. I tested TUN mode for rt_src/rt_dst
> and DR/NAT for rt_dst replacement, related ICMP is relayed properly.
> So, we should be ok but I'll do more tests in the following
> days because the list with possible combinations for testing
> is too long: different forwarding mode (DR/TUN/NAT),
> local or remote real server, local or remote client,
> In or Out related ICMP, Passive or Active FTP...
> 
I will try to test the Backup/Failover aspects of above
David Miller May 12, 2011, 10:28 p.m. UTC | #6
From: Julian Anastasov <ja@ssi.bg>
Date: Thu, 12 May 2011 02:32:09 +0300 (EEST)

> 	My simple tests do not show any problems with patches
> 4, 5 and the new 6 and 7. I tested TUN mode for rt_src/rt_dst
> and DR/NAT for rt_dst replacement, related ICMP is relayed properly.
> So, we should be ok but I'll do more tests in the following
> days because the list with possible combinations for testing
> is too long: different forwarding mode (DR/TUN/NAT),
> local or remote real server, local or remote client,
> In or Out related ICMP, Passive or Active FTP...

Julian, I integrated your work and pushed 3 patches to net-next-2.6

1) Original patch #4 with your followup integrated
2) Original patch #5
3) You're replacement for original patch #6 and #7

Let me know if there are any followup fixes that we need to work
on.

Thanks!
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff -urp net-next-2.6-7ef73bc/linux/net/netfilter/ipvs/ip_vs_xmit.c linux/net/netfilter/ipvs/ip_vs_xmit.c
--- net-next-2.6-7ef73bc/linux/net/netfilter/ipvs/ip_vs_xmit.c	2011-05-10 23:51:34.831272176 +0300
+++ linux/net/netfilter/ipvs/ip_vs_xmit.c	2011-05-10 23:51:28.900271527 +0300
@@ -230,8 +230,6 @@  out_err:
 
 /*
  * Get route to destination or remote server
- * rt_mode: flags, &1=Allow local dest, &2=Allow non-local dest,
- *	    &4=Allow redirect from remote daddr to local
  */
 static struct rt6_info *
 __ip_vs_get_out_rt_v6(struct sk_buff *skb, struct ip_vs_dest *dest,
@@ -275,13 +273,14 @@  __ip_vs_get_out_rt_v6(struct sk_buff *sk
 	}
 
 	local = __ip_vs_is_local_route6(rt);
-	if (!((local ? 1 : 2) & rt_mode)) {
+	if (!((local ? IP_VS_RT_MODE_LOCAL : IP_VS_RT_MODE_NON_LOCAL) &
+	      rt_mode)) {
 		IP_VS_DBG_RL("Stopping traffic to %s address, dest: %pI6\n",
 			     local ? "local":"non-local", daddr);
 		dst_release(&rt->dst);
 		return NULL;
 	}
-	if (local && !(rt_mode & 4) &&
+	if (local && !(rt_mode & IP_VS_RT_MODE_RDR) &&
 	    !((ort = (struct rt6_info *) skb_dst(skb)) &&
 	      __ip_vs_is_local_route6(ort))) {
 		IP_VS_DBG_RL("Redirect from non-local address %pI6 to local "