When the yang-compliant knob is configured simultaneously with the rfc-compliant knob on MX Series routers, hidden commands are created with a configuration tag even though they should not be visible.
yang-compliant
rfc-compliant
This article explains that the solution for the issue is to configure only one compliance knob as per requirement.
When NETCONF is configured with the rfc-compliant and yang-compliant knobs simultaneously, the system will respond with a configuration tag even though the tag should not be visible. However, when the yang-compliant knob is removed, the output is corrected and the hidden command is shown under the undocumented tag and the configuration tag is not seen.
Request
<rpc> <get-config> <source> <running/> <filter type="subtree"> <configuration> <firewall>
Configuration
set system services netconf rfc-compliant yang-compliant ssh
set firewall disable-arp-policers <<< Hidden command
Response
<nc:rpc-reply xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/17.3R1/junos"> <nc:data> <configuration xmlns="http://yang.juniper.net/yang/1.1/jc/configuration/junos/17.3R1.8" junos:commit-seconds="1569504845" junos:commit-localtime="2019-09-26 06:34:05 PDT" junos:commit-user="user1"> <firewall> <<<<< That output will be visible even though it shouldn't be there .
set system services netconf rfc-compliant ssh
<nc:rpc-reply xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/17.3R1/junos"> <nc:data> <configuration xmlns="http://yang.juniper.net/yang/1.1/jc/configuration/junos/17.3R1.8" junos:commit-seconds="1569504986" junos:commit-localtime="2019-09-26 06:36:26 PDT" junos:commit-user="user1"> <firewall> <undocumented> <disable-arp-policers/>
set system services netconf yang-compliant ssh
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/17.3R1/junos"> <data> <configuration xmlns="http://xml.juniper.net/xnm/1.1/xnm" junos:commit-seconds="1569505422" junos:commit-localtime="2019-09-26 06:43:42 PDT" junos:commit-user="user1"> <firewall>
The above demonstrated interpretation is as per Junos OS design.
Depending on the desired outcome, one of the session compliance knobs should be chosen. The possible outputs for the different options are shown above.
2020-02-24: minor non-technical edits.