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