Running OpenFlow on OpenWrt is a well known use-case. Of‐ softswitch is a user space implementation of OF software switch. If you want to use fast failover mechanisms with it, you have to provide port status information to ofsoftwitch. Polling via swconfig and swconfig API could be used in this case, but they are bloated, because they use context switch for each port status request. Lowering this overhead is important, because ofsoftswitch utilizes the whole CPU.
To minimize the context switches I implemented the port status polling in kernel mode using the swconfig kernel module. With my patch the swconfig kernel module is able to modify the carrier state on predefined interfaces from &init_net according to a port status change in the switch. As a consequence, netlink messages notify user space programs about status changes of ports / interfaces. This was useful for us to test fast failover mechanisms of an OpenFlow switch. We believe this patch is generally useful beyond our routing soft‐ ware use‐case. More information can be found on this web page: http://centaur.sch.bme.hu/~leait/projects/openwrt/ If you are looking only for the patch: http://centaur.sch.bme.hu/~leait/projects/openwrt/patches/swconfig_poll.patch Tamas Levai Tested by: * Tamas Levai <[email protected]> * Felician Nemeth <[email protected]> _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
