Re: "Established connection" issues using multipath

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 03, 2006 at 11:28:47AM +0100, <Alpt>:
~> On Sun, Dec 25, 2005 at 11:29:21AM +0100, <Alpt>:
~> ~> The multipath code creates new cached routes. Since
~> ~> 	after connect the socket is "connected", i.e. saddr and
~> ~> 	daddr are known and they are always provided when resolving
~> ~> 	route
~> ~> 
~> ~> 	So, the connected socket should not experience any outage
~> ~> 	when the route is resolved after cache entry expiration
~> ~> 	assuming the routing rules do not change.
~> ~> (That is snip of the Julian Anastasov's reply in a lartc thread:
~> ~> http://mailman.ds9a.nl/pipermail/lartc/2002q2/003780.html)
~> ~> 
~> ~> Does it mean that it should work?
~> 
~> No, it doesn't. Any ideas?
~> 
~> PS: this thread was:
~> http://marc.theaimsgroup.com/?l=linux-net&m=113550638110682&w=2

Yay, there is a solution, but we cannot use it:

The IP of gw A is 10.157.108.4
The IP of gw B is 10.29.212.6
The IP of C is 10.157.108.213

They are in an ad-hoc network, A can see C but not B, and B can see C.

The steps are:
- the node C creates for each gw an IPIP tunnel to A and a second to B
	tunl0: ip/ip  remote any  local any  ttl inherit  nopmtudisc
	tunl1: ip/ip  remote any  local 10.157.108.214 ttl inherit    
- the node C assigna a different IP to each tunnel
	ifconfig tunl0 10.157.108.213
	ifconfig tunl1 10.157.108.214

At this point we have two different interfaces and we can use the LARTC
method:
http://www.lartc.org/howto/lartc.rpdb.multiple-links.html
an we have:

pc1:~/src# ip rule
0:      from all lookup local
32764:  from 10.157.108.213 lookup 201
32765:  from 10.157.108.214 lookup 202
32766:  from all lookup main
32767:  from all lookup default

pc1:~/src# ip route show table  201
10.0.0.0/8 dev tunl0  scope link  src 10.157.108.213
default via 10.157.108.4 dev tunl0

pc1:~/src# ip route show table  202
10.0.0.0/8 dev tunl1  scope link  src 10.157.108.214
default via 10.29.212.6 dev tunl1

The default route in the main table is:
default
        nexthop via 10.157.108.4  dev tunl0 weight 1
	nexthop via 10.29.212.6   dev tunl1 weight 1

All the rp_filter controls are disabled and ip_forwarding is enabled.

It works, in fact, each time the routing cache has to be filled, a random route
is chosen from the multipath route and all the packets which have a specific
source go out from the same route.

Now the problem is that a node has to have only one IP!
If we assign other IPs to the tunnel interfaces conflicts will arise because
those IPs will be reachable.

I've tried to use `iif' in the routing rules but it doesn't work if the same
IP is assigned to all the tunnels.

Is there a nice solution?

Best regards
-- 
:wq!
"I don't know nothing" The One Who reached the Thinking Matter   '.'

[ Alpt --- Freaknet Medialab ]
[ GPG Key ID 441CF0EE ]
[ Key fingerprint = 8B02 26E8 831A 7BB9 81A9  5277 BFF8 037E 441C F0EE ]
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux