Inline:
There are a couple of questions I dont understand regarding existing
routing module.
1, Is it developed for layer 2 routing or  layer 3 routing? I find
that the routing module works well (for my case) when the topology is
loopless. But it can not work when there are loops for my case.
"Routing" does not refer to standard IP based routing. This has been the source of a lot of confusion and the module should probably be renamed to "forwarding" or something similarly generic.

Its operation is simple, "routing" identifies hosts by their MACs and sets up routes per-flow. If routing doesn't know the location of the destination MAC, it floods the packet. The flows themselves are exact match for all OpenFlow fields (and therefore that routing decision should only apply to the packets of that particular flow).

2, Is there any document on how it works? Forget about the All-pairs
shortest path algorithm (I am using dijstra), I dont understand some
codes in sprouting.cc, which uses some flooding and broadcasting.
Specifically, I dont understand some related structures such as
dst_locations. Basically, given the mac of end host, how to find the
datapathid that the flow should be routed to.
One way to get the location of a MAC is to call authenticator::get_dl_addr_entry()

The returned DLEntry should contain all known locations for that address.
3, I dont quite understand why it also handles lldp. I guess the
topology is captured by topology module.

LLDP is used by discovery.py to detect the link level topology. From this it generates link events which are caught by topology (which is subsequently used by routing). *whew*

.martin

Thanks.

_______________________________________________
nox-dev mailing list
[email protected]
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


_______________________________________________
nox-dev mailing list
[email protected]
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org

Reply via email to