As in other areas, Junos leverages open source software in its SLAX scripting infrastructure. In particular, the libxml2 and libxslt libraries are used as well as the more recently created libslax library. This dependence on third-party software can make it difficult to determine when features were introduced and/or bugs were fixed. To help clear things up, I went ahead and documented the history of code imports for libcurl, libxml2, libxslt, and libslax into Junos. If there are any imports that I missed or listed incorrectly, then please let me know. Otherwise, I hope this information is useful. This applies to SLAX version 1.1 and higher.
libcurl
libcurl is an open source URL transfer library. It was added in SLAX 1.1, providing access to the new curl:* extension functions. You can see details on the different libcurl versions here: http://curl.haxx.se/changes.html
libcurl version |
Junos version |
7.24.0 |
12.2 |
libxml2
libxml2 is an open source library that handles the underlying XML parsing. You can see details on the different libxml2 versions here: http://www.xmlsoft.org/news.html
libxml2 version |
Junos version |
2.5.10 |
Junos 6.2 |
2.6.9 |
Junos 6.4 |
2.6.15 |
Junos 7.2 |
2.6.24 |
Junos 8.1 |
2.6.29 |
Junos 9.0 |
2.7.8 |
Junos 12.2 |
2.9.0 |
Junos 14.1 |
libxslt
libxslt is an open source library implementing the XSLT language, which is used to transform XSL. SLAX scripts are converted into XSLT scripts before being processed by the script processor provided via libxslt. You can see details on the different libxslt versions here: http://xmlsoft.org/XSLT/news.html
libxslt Version |
Junos Version |
1.0.32 |
Junos 6.2 |
1.1.6 |
Junos 6.4 |
1.1.12 |
Junos 7.2 |
1.1.16 |
Junos 8.1 |
1.1.21 |
Junos 9.0 |
1.1.26 |
Junos 12.2 |
1.1.28 |
Junos 14.1 |
libslax
libslax is an open source implementation of the SLAX scripting language. When originally introduced, SLAX was included natively within Junos, but starting with the release of SLAX 1.1 in Junos 12.2, the code is now found within the libslax library.
libslax version |
Junos version |
0.11.22 (SLAX 1.1) |
Junos 12.2 |
0.14.1 (SLAX 1.1) |
Junos 14.1 |
Source
Original from Curtis Call blog post December 13, 2013. Released to TechWiki with permission.