Hello,

I'm working on multi-interfaces setups on IPv6 with linux. I experience some 
troubles with routing.

I have too interfaces eth1 and eth2, each connected to a different access 
router, each router advertising its own prefix in RAs. eth1 and eth2 are 
configured to perform SLAAC and accept default router from RAs.
Unfortunately, when performing, for instance, a ping from one specific 
interface or source address, the ping always use the most recent default router.

(eth1 = fd01::5054::ff:fe00:11)
(eth2 =  fd02::5054::ff:fe00:12)
E.g. if i perform the following on a 3.11.1 linux kernel (the same on former 
versions):
$ ping6 -I fd02::5054::ff:fe00:12 fd08::1

... the ping might go through eth1 with fd02::5054::ff:fe00:12 as a source 
address.

Worse happens if i use the interface name:
$ ping6 -I eth2 fd08::1

... the ping might go through eth1 with fd01::5054::ff:fe00:11 as a source 
address.

The problem is really annoying if you want to use autoconfiguration in a 
multihoming scenario without the need for an external daemon. But maybe i 
missed a sysctl flag or something like that.

Do you confirm the problem ? Does someone knows any automatic (i mean 
in-kernel) solution to source route packets through the right interface ?

Thanks.
Emmanuel Thierry

Reply via email to