Many SDN enthusiasts ask us what sets us apart from other bigger projects like Opendaylight. ODL is a great project no doubt and has many features but we feel ODL is not yet ready for prime time and its architecture is inherently prone to stability and performance problems related to switch and application handling. On a highly loaded and dynamic network, stability and performance are of prime importance and that is where Openmul delivers and wins. Check Openmul Vs ODL performance and find out more.
Apart from performance the major points which sets openmul apart from the competition:
1) ODL has Base Network Service Functions implemented inside single address space eg Topology manager, stats manager, switch manager, host tracker, ARP handler, REST server. It also means failure in any of these functions take the whole controller down. But that is not the case with Openmul which supports major base network functions as stand-alone and independent entities.
2) Direct integration with legacy protocols which means easy to integrate using MPLS-LDP, OSPF, BGP based inter-data center technologies.
2) Language is C/Python. Majority of networking developer community DNA is C based. Can write base network service functions or applications either in C or python.
3) High flow download performance+latency with/without TLS. Most other controllers don’t support TLS.
5) Openmul provides the best flow, group and meter coherency between switch and controller. For example these entities are managed across switch, controller reboots/failover or when both switch or controller restart. Flows, groups & meters have strict applications ownership rather than controller itself.
6) Supports hot standby HA where controllers can run in active-standby mode. Automatic sync up of controller information between each other out-of-band.
7) OpenMUL can be easily customized. Core functionality, South-bound protocols and services can be added without affecting up-and running modules.
8) OpenMUL has a highly distributed architecture. Base functions can be distributed/spread locally while one can use OpenMUL’s support for BGP to provide a geo-distributed controller abstraction.