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

ipv6 routing, problem with neighbour solicitation



Hello,

I have a problem with routing and ipv6. 
Consider the following senario: i have three PCs setup in a chain (A - B - 
C ). All PCs do only have one NIC. 

A has Ipv6-Address 2001::1
B has Ipv6-Address 2001::2
C has Ipv6-Address 2001::3

The following routes exist on PC A:
2001::2 via eth0
2001::3 via gateway 2001::2

On PC B i have the this routes:
2001::1 via eth0
2001::3 via eth0

On PC C:
2001::2 via eth0
2001::1 via gateway 2001::2

PC A can talk to PC B and PC B can talk to PC C. No direct communikation 
between PC A and PC C is possible (i am simulating wireless connections). 
I can send a ping6 from A->B, B->A, B->C, C->B. My problem now is, that i 
cannot send a ping6 from A->C. Forwarding has been enabled by doing "echo 1 
> /proc/sys/net/ipv6/conf/all/forwarding". I think i have found out why this 
is not possible. When PC B gehts the data 
from PC A it has to look in is neighbour solicitaion table to get the 
linklayeraddress from PC C. Now we have the case, that there is no entry for 
PC C and so PC B is sendeing a ICMP6 host unreachable message back to A. This 
is where the error occurs. In my opinion PC B first have to try to get the 
linklayeraddress from PC C by sending a neighbour solicitation message but it 
is no doing that it directly sends back the host unreachable message.  When i 
add PC A and PC B in the neighbour solicitation list on PC B by hand 
everything works fine.

My question now is do i have forget to configure something? Do i have done 
something wrong? Or can this be a bug in the kernel?

Kind regards
Volker



Reply to: