netdev
[Top] [All Lists]

IPv6 next hop routing by static host routes

To: netdev@xxxxxxxxxxx
Subject: IPv6 next hop routing by static host routes
From: Jürgen Nagler <juergen.nagler@xxxxxxxxxxxxxxxxxx>
Date: Mon, 29 Oct 2001 10:23:13 +0100
Sender: owner-netdev@xxxxxxxxxxx
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

<Prev in Thread] Current Thread [Next in Thread>