This email refers to two topics:
1. /proc/sys/net/ipv6/conf/*/forwarding
2. ICMPv6 Redirects
I'm experimenting in the MANET (Mobile Ad Hoc Networks) field and
adopted some IPv4 routing protocols for IPv6. All of them used
route add IP.of.the.destination gw IP.of.next.hop
for creating an IPv4 route of
Destination Gateway Genmask Flags Metric Ref
Use Iface
IP.of.the.dest IP.of.next.hop 255.255.255.255 UGH 0 0
0 eth1
on every node from source to destination. This works fine.
Now doing the same for IPv6 with three nodes and a static configuration:
node_left intermediate_node node_right
MAC 00:02:2d:02:06:f3 00:02:2d:0d:b9:4a 00:02:2d:05:40:0c
EUI 202:2dff:fe02:6f3 202:2dff:fe0d:b94a 202:2dff:fe05:400c
I used site local adresses (fec0:: prefix) for MANET nodes:
node_left:
ifconfig eth1 add fec0::202:2dff:fe02:6f3
route -A inet6 add fec0::202:2dff:fe0d:b94a dev eth1
route -A inet6 add fec0::202:2dff:fe05:400c gw fec0::202:2dff:fe0d:b94a
intermediate_node:
ifconfig eth1 add fec0::202:2dff:fe0d:b94a
route -A inet6 add fec0::202:2dff:fe02:6f3 dev eth1
route -A inet6 add fec0::202:2dff:fe05:400c dev eth1
node_right:
ifconfig eth1 add fec0::202:2dff:fe05:400c
route -A inet6 add fec0::202:2dff:fe0d:b94a dev eth1
route -A inet6 add fec0::202:2dff:fe02:6f3 gw fec0::202:2dff:fe0d:b94a
This showed to things:
1. the intermediate host is only forwarding if
/proc/sys/net/ipv6/conf/all/forwarding is set to 1. It isn't enough
setting .../conf/eth1/forwarding to 1 (with eth1 being the used
interface for forwarding). You must start setting .../all/forwarding to
1, after that it's safe to set 0 for all unused interfaces but vice
versa setting .../all/forwarding to 0 and setting the only used
interface to 1 doesn't work. Why not?
2. after the first ping6 Echo request/reply pair (node_left pinged
node_right) the intermediate node sends a redirect for every
request/reply back to the source saying it should send it the direct
way. The source ignores the redirect (not sending a new direct packet or
changing his behavior the next time) and the intermediate node is
nevertheless forwarding the packet. Is this correct?
I'm using SuSE Linux 7.2 with a 2.4.7 Kernel. Do you need more
information about my installation?
You can download an ethereal dump of this redirect behavior (missing the
first Neighbor solicitation/advertisement pair from node_left to
intermediate_node as the MAC of intermediate_node was already cached) at
http://medien.informatik.uni-ulm.de/~nagler/projects/DA/redirect.libpcap.gz
Thanks in advance,
Juergen Nagler
|