From ba7ed4b5c0362902caec4086c7757aa5820f0ebd Mon Sep 17 00:00:00 2001 From: Kristofer Hallin Date: Wed, 12 Feb 2025 11:19:14 +0100 Subject: [PATCH] Added extensions/ with examples of Junper PTX extensions. --- ...unox-ptx-extension-bgp-md5@2024-01-01.yang | 30 ++++++++++++++++ ...junox-ptx-extension-macsec@2024-01-01.yang | 35 +++++++++++++++++++ .../junox-ptx-extension-uid@2024-01-01.yang | 31 ++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 extensions/junos/junox-ptx-extension-bgp-md5@2024-01-01.yang create mode 100644 extensions/junos/junox-ptx-extension-macsec@2024-01-01.yang create mode 100644 extensions/junos/junox-ptx-extension-uid@2024-01-01.yang diff --git a/extensions/junos/junox-ptx-extension-bgp-md5@2024-01-01.yang b/extensions/junos/junox-ptx-extension-bgp-md5@2024-01-01.yang new file mode 100644 index 0000000..c6aee45 --- /dev/null +++ b/extensions/junos/junox-ptx-extension-bgp-md5@2024-01-01.yang @@ -0,0 +1,30 @@ +/* + * Extension to BGP to ignore the authentication-key since it is + * re-written by JunOS and will not match the original configuration. + */ + +module controller-extensions-bgp-md5 { + namespace "http://clicon.org/ext/bgp-md5"; + + prefix cl-ext; + + import clixon-lib { + prefix cl; + } + + import junos-conf-root { + prefix jc; + } + + import junos-conf-protocols { + prefix jcp; + } + + revision 2024-04-25 { + description "Initial prototype"; + } + + augment "/jc:configuration/jcp:protocols/jcp:bgp/jcp:group/jcp:neighbor/jcp:authentication-key" { + cl:ignore-compare; + } +} diff --git a/extensions/junos/junox-ptx-extension-macsec@2024-01-01.yang b/extensions/junos/junox-ptx-extension-macsec@2024-01-01.yang new file mode 100644 index 0000000..55e7cdc --- /dev/null +++ b/extensions/junos/junox-ptx-extension-macsec@2024-01-01.yang @@ -0,0 +1,35 @@ +/* + * Extension module for MACsec configuration, the secret key length is + * extended to 1024 characters. + */ + +module controller-extensions-macsec { + namespace "http://clicon.org/ext/macsec"; + + prefix cl-ext; + + import junos-conf-root { + prefix jc; + } + + import junos-conf-security { + prefix jcs; + } + + revision 2024-01-01 { + description "Initial prototype"; + } + + deviation "/jc:configuration/jcs:security/jcs:authentication-key-chains/jcs:key-chain/jcs:name" { + deviate replace { + type string; + } + } + deviation "/jc:configuration/jcs:security/jcs:authentication-key-chains/jcs:key-chain/jcs:key/jcs:secret" { + deviate replace { + type string { + length "1 .. 1024"; + } + } + } +} diff --git a/extensions/junos/junox-ptx-extension-uid@2024-01-01.yang b/extensions/junos/junox-ptx-extension-uid@2024-01-01.yang new file mode 100644 index 0000000..61a405e --- /dev/null +++ b/extensions/junos/junox-ptx-extension-uid@2024-01-01.yang @@ -0,0 +1,31 @@ +/* + * Extension to ignore the UID configuration in the Junos + * configuration since it can be generated by the system and will not + * match the configuration. + */ + +module controller-extensions-uid { + namespace "http://clicon.org/ext/uid"; + + prefix cl-ext; + + import clixon-lib { + prefix cl; + } + + import junos-conf-root { + prefix jc; + } + + import junos-conf-system { + prefix jcs; + } + + revision 2024-01-01 { + description "Initial prototype"; + } + + augment "/jc:configuration/jcs:system/jcs:login/jcs:user/jcs:uid" { + cl:ignore-compare; + } +}