-
Notifications
You must be signed in to change notification settings - Fork 7
Future Work
Right now, the SwitchAdapter deduces the packet type (and therefore, the topic it will publish the packet on) by looking at specific fields in the packet. Right now, VLAN-tagged packets confuse this system, as they come before the Ethernet frame, which is the position where the SwitchAdapter normally looks for the Ethertype of an EthernetII frame. Additionally, if the SwitchAdapter would publish packets having VLAN tags prepended, all packet-receiving modules would have to take VLAN-tags into account.
Currently, the java modules do not come with any packet inspection or OpenFlow libraries. For OpenFlow Java support, we highly recommend the Loxigen API - it is very easy to use. We use the C-variant of this API for all OpenFlow related tasks. Floodlight itself also has Code for packet inspection in Java, which would also be a good place to start if you do not want to use your own Java packet inspection library. (For C++, we currently use Libtins)
By defining topics in a certain way, chain processing can be achieved - modules could republish events, ever-increasing a certain number in the topic, and other modules would listen to their position in that chain,e.g. ModuleA.event().chain_position(0) -> ModuleB.event().chain_position(1) etc.
More extensive testing would be necessary to verify the controller works as intended in all usage scenarios. We would appreciate any help in finding usage scenarios where the controller does not do what it is supposed to do.