Re: Real point here
I was hoping to see a comparative study to Cisco. My company gives Cisco over a billion Euro a year and while this seems damning to Huawei, I am the pretty sure Cisco is as bad.
1) Multiple OpenSSL instances is normal. They should however be pulled from the same repositories. There are good reasons to compile OpenSSL differently based on context. I compile it differently when using it in kernel space or in user space. OpenSSL is an absolute must for security... this is because OpenSSL is the absolute most hacked library EVER because of mass economy. But that also means it should be the fastest patched.
2) Large amount of C code in a network product unless it’s the forwarding engine itself is a really bad idea. Even then, companies like Ericsson code large amount of their systems in Erlang. While I’m no fan of Erlang, it has many benefits over C with regards to this. As such, it would make sense choose Ericsson over Huawei for 5G. Cisco uses C VERY heavily and if you were to look at much of the code Cisco has made public... let’s say they have pretty bad practices.
3) Poorly mapped safe-C type functions for string management. If you’re using C and safe in the same sentence... just don’t. Even the absolute best C code will almost certainly degrade over time. A common pattern which has grown over time in C circles is to make insane messes of goto statements for reallocating objects in the “right order” at the end of functions. I have seen many cases where this degraded over time.
4) 3rd party real-time operating systems are common. If you’re developing network hardware, RTOS makes a lot of sense as opposed to Linux. One reason is because network hardware should have deterministic latency to support protocols like ATM, SDH, ISDN, T1/E1. Vxworks, QNX, GreenHills all made excellent operating systems for communication grade equipment. Most of these systems however suffer from age. SYSBIOS from TI is also great. An excellent aspect of RTOS systems often is the ability to partition the CPU based not only on time share, but also cores.
I honestly think this review might be the best thing to ever happen to Huawei. It is a roadmap to let them plan their next steps. They should really consider looking into using Redox as a foundation to something new. If they invest in building a RTOS scheduler, it could be something glorious... especially for Huawei.