4 ms·
XR is not QNX-based anymore. They switched over to Wind River 64-bit Linux[1] starting from the newer ASR9k linecards and the NCS series and onwards. The two XR
by Cyph0n 3y ago
XR is not QNX-based anymore. They switched over to Wind River 64-bit Linux[1] starting from the newer ASR9k linecards and the NCS series and onwards. The two XR variants are referred to internally as cXR (QNX) and eXR (Linux).
XR itself is mostly the same codebase - it’s just the platform- and OS-specific code that had to be changed. Also, I believe endianness-dependent code had to be ifdef’d.
Source: worked as a dev on the IOS-XR team.
[1] https://www.cisco.com/c/en/us/products/collateral/routers/asr-9000-series-aggregation-services-routers/datasheet-c78-737841.html https://www.cisco.com/c/en/us/products/collateral/routers/as...
- sterlind 3y agonow that you've outed yourself as an IOS-XR dev I have to ask: why does Cisco have so many darn OSes? at work I built a system to run Python scripts on various network devices, with a HAL abstracting the APIs. supporting IOS-XR, IOS-XE and NX-OS was quite a bit of work. plus there were so many modes.. netconf-YANG? or show run/config syntax? and so many changes between revisions. meanwhile, the HALs for Juniper and Arista devices were pretty easy.
- Hikikomori 3y agoBack in the day? acquisitions probably Now? Just madness I guess
- Cyph0n 3y agoThe honest answer? I have no idea! But I can share what I do know and/or heard when I worked there. I have zero knowledge about NX-OS. But I can say that the XR and XE teams were quite isolated from one another. For instance, as an XR dev, I had no visibility into XE development. It kind of makes sense: XE and XR target different device segments, which means the feature sets and scale and availability requirements were different. But both were spun off from IOS, which is why the “base” is common. I don’t have any visibility into what they’re doing now, but I wouldn’t be surprised if they’re working to unify XE and XR at some level.