pox框架:
pox由内核(core)、组件(component)组成,core主要有两个模块:of_01、openflow。模块‘of_01’循环监听有openflow1.0协议的交换机的连接,pox通过模块‘openflow’控制所有交换机,通过connection控制指定的交换机。component就是运行在pox上的app,虽然这么说可能不是很准确,但是更容易理解。
Pox运行机制:
各个组件注册到pox的core中,一个组件想引用另一个组件时就无需import该组件,因为组件现在都在core中。当of交换机连接到pox上时,pox内核模块中的of_01监听到of交换机,触发除了握手消息以外的所有事件,of_01会将该某些事件raise到openflow中去。注册到core上的组件会一直监听openflow模块,当有事件触发时,监听到该事件的组件就会触发相应的函数来处理事件。
pox启动:
上图是师兄归纳的一张pox启动流程图,该图清晰明确的写出了pox的启动流程,具体源码就不分析了。