Mactracker11/9/2023 ![]() If we want to insert our own flows defined by our own algorithm, then we need to tell Forwarding to run after our module, thus we should use isCallbackOrderingPostreq().Īs an example, the Device Manager reacts to PACKET_IN messages to learn where hosts are located in the network. ![]() isCallbackOrderingPostreq() defines modules that should run after our module when processing a particular type of OpenFlow message.Ī common use is to tell the Forwarding module, which implements layer-2 reactive packet forwarding, to run after our module, since Forwarding will insert flows and modify the network state. IsCallbackOrderingPrereq() defines modules that should run before our module when processing a particular type of OpenFlow message. a PACKET_IN, is processed by one module at a time so that modules can pass metadata from one to another about the packet or terminate the processing chain entirely. IOFMessageListener's isCallbackOrderingPrereq(OFType type, String name) and isCallbackOrderingPostreq(OFType type, String name) functions define the order of modules that process packets received from a switch. Ordering Modules when Processing OpenFlow MessagesĪlthough it is not necessary in this tutorial, it is oftentimes necessary to define the order in which IOFMessageListeners process OpenFlow messages. If you would like more information on how to inspect higher-layer packet headers like IP, TCP, etc., please refer to this tutorial. ![]() ![]() Public class MACTracker implements IOFMessageListener, IFloodlightModule String getName() ", ![]()
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |