[CUWiN-Dev] Manipulating routing table

Jeongkeun Lee jklee at mmlab.snu.ac.kr
Mon Dec 18 04:09:12 CST 2006


Hi,

I'm finding the way how to set routing paths between mesh nodes and the
gateway as I want.
Initially I tried the 'route add' and 'route delete' commands, but zebra
daemon seems to override my modifications on the routing table very
frequently. So, I could not add or delete any routing entry.

My goal consists of two steps.
1. At first, I'd like to use multiple gateways and split the traffic based
on address ranges. The picture below tries to capture the topology:

Server--->GW1--->Mesh--->GW2--->Client

Both the server and client are outside the mesh. Another way to think of
this is that mesh is acting as transit for connecting the server and the
client.

In this topology, assume the server has a.b.x.x address and client has
c.d.x.x address. If gw1 advertises the a.b.x.x address range and gw2
advertises c.d.x.x address range, hsls should do the right thing. But I
found that the current behavior of hsls' gateway advertisement is
propagating the 'default route' over the mesh. The gateway does not
advertise its attached ip range but advertise the fact that it is connected
to the internet. And hsls on each mesh node chooses the best gateway based
on the ETX metric. Please correct me if I'm wrong.
So, I want to how to add a new route entry for the above traffic splitting
with multiple gateways: how to prevent zebra (or hsls) from deleting the new
entry.

2. Ultimately, I'd like to implement a centralized routing system. The
coordinator outside the mesh determines and assigns the best routes for each
mesh node. In order to find a way to write a new routing daemon which
accepts the coordinator's message and controls zebra, I spent some time to
look at the related source codes such as hsls, zebra, rib, zrib and etc, but
the entire routing system is, of course, complicated. Please give me some
tips to begin with. I think the hsls' neighbor discovery mechanism (via
hello exchanges) is still needed ever after I replace hsls by the new
routing daemon.

I'm using the 0.7.0 CuWiNware source and 0.7.0 netbsd source. 

Always thanking you for helpful comments,
Regards,

-- Jeongkeun




More information about the CU-Wireless-Dev mailing list