Re:Dissecting QNX [pdf]
by Cyph0n on Wednesday September 19, 2018 @08:01AM
(#18023542)
Cisco's high-end router operating system, IOS-XR, has two flavors: an older one built on top of a QNX kernel and the current one built on top of Linux. The QNX version is still supported but is not in active development.
[ Parent
| on HN ]
Do you know any details on the reason why Cisco switched from QNX to Linux?
The official line...
"The 64-bit Linux infrastructure is the de facto standard that is being used across the industry today...So it gives us more development tools, more tool chains and also more access into the third party development ecosystem."
http://mobile.enterprisenetworkingplanet.com/netos/cisco-evo...
That seems to agree with what I've heard internally. Granted, I'm new, so I didn't go through the migration phase.
XR itself provides abstractions on top of QNX and Linux, so devs working on platform independent code are not really affected.
Maybe also because things like DPDK (or similar) made it possible for Linix to play at that scale?
The routers I am talking cannot do packet processing on the CPU. We are talking about 3.2 Tbps per linecard with 10 linecards per router.
All data plane activity is done on custom in-house ASICs called network processors (NPs). The CPU only handles control plane traffic and general administration.
One of my former employers was developing in QNX, as of 2017 they were still using some 2005 compiler for 32-bit.
What general space were they working in? Networking, for example?