Subject: [nemo] RIPng with NEMO

From: "jhon saint" <[email-masked]>
Date: Mon, 14 Jun 2004 15:46:22 +0000

|
	      +----+
	      | GW |
	      +----+
	        |
	        |  3ffe:10::/64
		|
	      --+-+---------------+-
	          |               |
3ffe:10::95/64    |               |   (3ffe:10::96/64,  fe80::aaa:bbbb)
fe80::ccc:ddd  +----+           +----+ 
	       | HA |           | MR |
	       +----+           +----+
	                          |
		                  | 3ffe:11::/64
		               ---+----

We are implementing a mobile router with MIPL as a homework(?).

Our MR acts only in explicit mode.

When MR is at home, MR runs a routing protocol(ripng)..

so, routing tables in this network is : (only for mobile network)
   +----------+----------------+----------------+---------------
   |          |   dest         |   gw           | dev ... 
   +----------+----------------+----------------+------------------
   | HomeAgent| 3ffe:11::/64   | fe80::aaa:bbbb | ethx....
   +----------+----------------+----------------+------------------
   | Gateway  | 3ffe:11::/64   | fe80::aaa:bbbb | ethx...
   +----------+----------------+----------------+------------------

now MR moves out from its home link, and sends bu for home registration 

with prefix option (3ffe:11::/64) to HA.

(and stops running routing protocol on its egress interface)

Then, HA receives the bu message and sets up forwarding to MR's network

with tunnel.. and advertise its routing information to 
infrastructure(Gateway..:p)..

  at this point, routing tables in this network is :
   +----------+----------------+----------------+------------
   |          |   dest         |   gw           | dev ... 
   +----------+----------------+----------------+----------------
   | HomeAgent| 3ffe:11::/64   | *3ffe:10::96*  | *Tunnel*
   +----------+----------------+----------------+----------------
   | Gateway  | 3ffe:11::/64   | fe80::aaa:bbbb | ethx...
   +----------+----------------+----------------+--------------

We expected that if HA advertises its routing table (about mobile network),

 GW updates its route to the mobile network..

   So, this was our expectation... -_-
   +----------+----------------+----------------+------------
   |          |   dest         |   gw           | dev ... 
   +----------+----------------+----------------+----------------
   | HomeAgent| 3ffe:11::/64   | 3ffe:10::96    | Tunnel dev
   +----------+----------------+----------------+----------------
   | Gateway  | 3ffe:11::/64   |*fe80::ccc:dddb*| ethx...
   +----------+----------------+----------------+--------------

Sending ping from HA to MR's mobile network(3ffe:11::/64) works well.

but, GW can't...

We found GW didn't update its routing entry for the mobile network

until the entry is expired... (after the entry expired and deleted, GW 
finally update a

path to the mobile network with ripng message from HA and GW can ping to 
monet)

In RFC2080 (RIPng for IPv6), [page 13]
===========================
   " If there is an existing route, compare the next hop address to the
    address of the router from which the datagram came. If this datagram
    is from the same router as the existing route, reinitialize the
    timeout. Next, compare the metrics. If the datagram is from the
    same router as the existing route, and the new metric is different
    than the old one; or, if the new metric is lower than the old one; do
    the following actions:
     .....
     ... "

Because of this, when GW receives new route info from HA about monet,

GW ignores it. 

So...  we modified ripngd source code.. (we're using Zebra ripngd 0.94)

    ripngd.c / void ripng_route_process(...) / line 623

	  original code..
	    same = (IN6_ARE_ADDR_EQUAL (&rinfo->from, &from->sin6_addr)
        	    && (rinfo->ifindex == ifp->ifindex));
		    --
	    
	  modified code..
	    same = (IN6_ARE_ADDR_EQUAL (&rinfo->from, &from->sin6_addr)
        	    || (rinfo->ifindex == ifp->ifindex));
		    --

  So, my question is.. (sorry.. too too long...)

  Our modification to ripng is necessary for NEMO support ? or, is there
  
  any solution for this problem?
  
  or.. our solution is totally in a wrong way?

  please~ help us~

Thanks..~~

_________________________________________________________________
책상위에 다리 올리고 느긋하게 즐긴다... MSN 온라인 상영관   
http://vod.msn.co.kr