Description

After recently upgrading the devices from 18.4X29.3 to to 22.2R3.15 version and after the upgrade, QFX device throws a commit check error while committing the below configuration.

 

set interfaces lo0 unit 0 family inet address 240.0.0.1/32 primary

set routing-options route-distinguisher-id 240.0.0.1

set routing-options router-id 240.0.0.1

 

root@lab-qfx# commit check

[edit]

'routing-options'

address 240.0.0.1 invalid for router-id (martian address)

error: configuration check-out failed

 

The issue is seen on 22.2R3.15 version where as it is not seen on 18.4x29.3

Symptoms

The below output stays the same in both the versions.

 

root@lab-qfx> show route martians

 

inet.0:

       0.0.0.0/0 exact -- allowed

       0.0.0.0/8 orlonger -- disallowed

       127.0.0.0/8 orlonger -- disallowed

       192.0.0.0/24 orlonger -- disallowed

       240.0.0.0/4 orlonger -- disallowed <<<<<<

       224.0.0.0/4 exact -- disallowed

       224.0.0.0/24 exact -- disallowed

 

Solution

Normally Martian addresses can't be used and should be allowed explicitly. By default, the Martian routes are set to deny.

 

root@lab-qfx> show route martians

 

inet.0:

       0.0.0.0/0 exact -- allowed

       0.0.0.0/8 orlonger -- disallowed

       127.0.0.0/8 orlonger -- disallowed

       192.0.0.0/24 orlonger -- disallowed

       240.0.0.0/4 orlonger -- disallowed <<<<<<

       224.0.0.0/4 exact -- disallowed

       224.0.0.0/24 exact -- disallowed

 

>> The change in the behaviour is the affect of the PR1480393. The change was made on all MX/QFX/PTX/ACX devices.

 

https://prsearch.juniper.net/problemreport/PR1480393  

 

>> In the PR fix, a check is added which was not available in 18.4x29.3 version. Due to the PR fix, after the Martian routes configuration is processed, the router-id config is validated again. Earlier, the router-id configuration was checked without Martians validation. Since the check was not available earlier, the commit check passed always.

 

>> To get rid of the error, please configure the below snippet based on your network in addition to the above configuration and the commit check will succeed.

 

set routing-options martians 240.0.0.0/24 orlonger allow

or

set routing-options martians 240.0.0.0/4 orlonger allow



labroot@jtac-qfx5200-32c-32q-r2019# show | compare
[edit]
+  interfaces {
+      lo0 {
+          unit 0 {
+              family inet {
+                  address 240.0.0.1/32 {
+                      primary;
+                  }
+              }
+          }
+      }
+  }
[edit routing-options]
+  route-distinguisher-id 240.0.0.1;
+  router-id 240.0.0.1;
[edit routing-options martians]
+   240.0.0.0/4 orlonger allow;


{master:0}[edit]
labroot@jtac-qfx5200-32c-32q-r2019# commit check
configuration check succeeds

 

 


 

 

Modification History

2024-07-08 - Initial Publication
2024-07-25 - Made it external