Description

This KB is related to the results from tracing the LSP on ISIS when adding statis routes and enabled the command prefix-export-limit.


Testing "set protocols isis level 2 prefix-export-limit 3" in the lab, on a network element named mx960-lr8-ash2, by exporting statics to integrated is - is. On another network element running JunOS in the same level 2, I enabled "protocols isis traceoptions flag lsp receive detail". When attempting to break through the configured ceiling of three routes by adding a fourth static, I had expected that nothing would change. Instead, I observe that all of the exported statics are withdrawn. Is this behavior expected?

Also, I expected to observe a single new link state pdu flooded by the device under test for each addition to the number of statics exported to integrated is - is. Instead, I observe three. The first link state pdu appears to withdraw all of the exported statics. The second link state pdu adds the newly - exported static. The third link state pdu is the expected one. Is this behavior expected?

Symptoms

Checking the IS-IS LSP behaviour when prefix export limit is set, you can evaluate LSP for static routes to be deleted and added even if the ceiling for the limit stablished is not raised yet:


ISIS session stablished, then from another MX960 3 static routes exported to ISIS

 

labroot@marcian-re0> show isis database extensive

 

splitbrain-re0.00-00 Sequence: 0x11, Checksum: 0x64ec, Lifetime: 1150 secs

  IS neighbor: marcian-re0.02               Metric:      10

    Two-way fragment: marcian-re0.02-00, Two-way first fragment: marcian-re0.02-00

  IP prefix: 0.0.0.0/0                      Metric:       0 External Up

  IP prefix: 10.85.163.128/25               Metric:      10 External Up

  IP prefix: 10.100.12.0/30                 Metric:      10 Internal Up

  IP prefix: 128.2.254.0/32                 Metric:       0 External Up ----static route 1

  IP prefix: 128.2.254.1/32                 Metric:       0 External Up-----staric route 2

  IP prefix: 128.2.254.2/32                 Metric:       0 External Up-----static route 3

  IP prefix: 192.168.0.2/32                 Metric:       0 Internal Up

  

  

Enabled ISIS trace options flag lsp receive detail

 

set protocols isis interface xe-1/0/1.0

set protocols isis interface lo0.0

set protocols isis level 1 disable

set protocols isis level 2 prefix-export-limit 3

set protocols isis traceoptions flag lsp receive

set protocols isis traceoptions flag lsp detail

set protocols isis traceoptions file isis-logs


Seems to be the LSP database proceed to update the prefixes, looks like prefixes are deleted, even though the prefix limit is not set yet, and ceiling not reached.

 

Jan 12 18:16:14.520631    Refreshing ALL prefixes in Zeroth fragment data for L2 LSP marcian-re0.02-00

------------------------------------->>>>>>>>>>>>>>>>-----------------------------------------------------------

Jan 12 18:16:14.646188  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 0.0.0.0/0, 0x9ac1440

Jan 12 18:16:14.646199  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 10.85.163.128/25, 0x9abfa00

Jan 12 18:16:14.646208  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 10.100.12.0/30, 0x9ac02c0

Jan 12 18:16:14.646216  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 128.2.254.0/32, 0x9abedc0

Jan 12 18:16:14.646225  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 128.2.254.1/32, 0x9abf840

Jan 12 18:16:14.646233  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 128.2.254.2/32, 0x9abf300

Jan 12 18:16:14.646242  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 192.168.0.2/32, 0x9ac0480


However the routes remain active

 

 

labroot@marcian-re0> show route

 

inet.0: 11 destinations, 14 routes (11 active, 0 holddown, 0 hidden)

+ = Active Route, - = Last Active, * = Both

 

0.0.0.0/0         *[Static/5] 2d 11:23:09

                   > to 10.85.163.129 via fxp0.0

                   [IS-IS/165] 00:56:26, metric 10

                   > to 10.100.12.2 via xe-1/0/1.0

10.85.163.128/25  *[Direct/0] 2d 11:23:09

                    > via fxp0.0

                   [Direct/0] 2d 11:23:08

                   > via fxp0.0

                    [IS-IS/165] 00:56:26, metric 20

                   > to 10.100.12.2 via xe-1/0/1.0

10.85.163.171/32  *[Local/0] 2d 11:23:09

                      Local via fxp0.0

10.85.163.173/32  *[Local/0] 2d 11:23:08

                      Local via fxp0.0

10.100.12.0/30    *[Direct/0] 02:58:23

                   > via xe-1/0/1.0

10.100.12.1/32    *[Local/0] 02:58:23

                      Local via xe-1/0/1.0

128.2.254.0/32    *[IS-IS/165] 00:56:26, metric 10

                   > to 10.100.12.2 via xe-1/0/1.0

128.2.254.1/32    *[IS-IS/165] 00:56:26, metric 10

                   > to 10.100.12.2 via xe-1/0/1.0

128.2.254.2/32    *[IS-IS/165] 00:02:40, metric 10

                   > to 10.100.12.2 via xe-1/0/1.0

192.168.0.1/32    *[Direct/0] 02:58:23


Solution

Now adding fourth static route to review if this is an expected behavior for LSPs

 

labroot@splitbrain-re0# show | compare

[edit routing-options static]

+  route 128.2.254.3/32 next-hop 10.100.12.1;

 

[edit routing-options]

labroot@splitbrain-re0# commit

commit complete

 

From traces

 

Jan 12 18:24:18.520494 Updating L2 LSP marcian-re0.02-00 in TED

Jan 12 18:24:18.520525 Opening TED node marcian-re0.02 for level 2

Jan 12 18:24:18.520534 Adding a half link from marcian-re0.02 to splitbrain-re0.00

Jan 12 18:24:18.520553 Adding a half link from marcian-re0.02 to marcian-re0.00

Jan 12 18:24:18.520565 Adding a half link from marcian-re0.02 to splitbrain-re0.00

Jan 12 18:24:18.520575 Adding a half link from marcian-re0.02 to marcian-re0.00

Jan 12 18:24:18.520586 Closing TED node marcian-re0.02 for level 2

Jan 12 18:24:18.520597     L2 LSP marcian-re0.02-00 updated IPv4 Pfx Sid Index List

Jan 12 18:24:18.520603     L2 LSP marcian-re0.02-00 updated SR-Capabilities

Jan 12 18:24:18.520609     L2 LSP marcian-re0.02-00 updated SRv6 Cap List

Jan 12 18:24:18.520624 LSP marcian-re0.02-00 unchanged (No change), will NOT need to schedule SPF delay was(no) now(no)

Jan 12 18:24:18.520631    Refreshing ALL prefixes in Zeroth fragment data for L2 LSP marcian-re0.02-00

-------------------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>---------------------------------------------------------

Jan 12 18:25:30.877153  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 0.0.0.0/0, 0x9abef80

Jan 12 18:25:30.877165  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 10.85.163.128/25, 0x9abf140

Jan 12 18:25:30.877174  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 10.100.12.0/30, 0x9abe880

Jan 12 18:25:30.877182  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 128.2.254.0/32, 0x9abf4c0

Jan 12 18:25:30.877191  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 128.2.254.1/32, 0x9abe340

Jan 12 18:25:30.877201  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 128.2.254.2/32, 0x9ac0100

Jan 12 18:25:30.877209  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 128.2.254.3/32, 0x9ac0640

Jan 12 18:25:30.877218  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 192.168.0.2/32, 0x9abec00

 

The 4 static routes have been refreshed and remain in place.

 

labroot@marcian-re0> show isis database extensive              

IS-IS level 1 link-state database:

 

IS-IS level 2 link-state database:

 

splitbrain-re0.00-00 Sequence: 0x12, Checksum: 0xc3cc, Lifetime: 1164 secs

  IS neighbor: marcian-re0.02               Metric:      10

    Two-way fragment: marcian-re0.02-00, Two-way first fragment: marcian-re0.02-00

  IP prefix: 0.0.0.0/0                      Metric:       0 External Up

  IP prefix: 10.85.163.128/25               Metric:      10 External Up

  IP prefix: 10.100.12.0/30                 Metric:      10 Internal Up

   IP prefix: 128.2.254.0/32                 Metric:       0 External Up

  IP prefix: 128.2.254.1/32                 Metric:       0 External Up

  IP prefix: 128.2.254.2/32                 Metric:       0 External Up

  IP prefix: 128.2.254.3/32                 Metric:       0 External Up

  IP prefix: 192.168.0.2/32                 Metric:       0 Internal Up

  


   labroot@marcian-re0> show route

 

inet.0: 12 destinations, 15 routes (12 active, 0 holddown, 0 hidden)

+ = Active Route, - = Last Active, * = Both

 

0.0.0.0/0         *[Static/5] 2d 11:33:56

                   > to 10.85.163.129 via fxp0.0

                   [IS-IS/165] 01:07:13, metric 10

                   > to 10.100.12.2 via xe-1/0/1.0

10.85.163.128/25  *[Direct/0] 2d 11:33:56

                    > via fxp0.0

                   [Direct/0] 2d 11:33:55

                   > via fxp0.0

                    [IS-IS/165] 01:07:13, metric 20

                   > to 10.100.12.2 via xe-1/0/1.0

10.85.163.171/32  *[Local/0] 2d 11:33:56

                      Local via fxp0.0

10.85.163.173/32  *[Local/0] 2d 11:33:55

                      Local via fxp0.0

10.100.12.0/30    *[Direct/0] 03:09:10

                   > via xe-1/0/1.0

10.100.12.1/32    *[Local/0] 03:09:10

                      Local via xe-1/0/1.0

128.2.254.0/32    *[IS-IS/165] 01:07:13, metric 10

                   > to 10.100.12.2 via xe-1/0/1.0

128.2.254.1/32    *[IS-IS/165] 01:07:13, metric 10

                   > to 10.100.12.2 via xe-1/0/1.0

128.2.254.2/32    *[IS-IS/165] 00:13:27, metric 10

                   > to 10.100.12.2 via xe-1/0/1.0

128.2.254.3/32    *[IS-IS/165] 00:02:10, metric 10

 

 

Now proceeded to set the export limit 3

 

[edit protocols isis]

labroot@splitbrain-re0# set level 2 prefix-export-limit 3

 

[edit protocols isis]

labroot@splitbrain-re0# commit check

configuration check succeeds

 

labroot@marcian-re0> show isis database   

IS-IS level 1 link-state database:

 0 LSPs

 

IS-IS level 2 link-state database:

LSP ID                     Sequence Checksum Lifetime Attributes

marcian-re0.00-00              0x11   0x280     695 L1 L2

marcian-re0.02-00               0xe  0x406c    1109 L1 L2

splitbrain-re0.00-00           0x13  0x729e    1180 L1 L2 Overload------->>> bit set

 

 

 

labroot@marcian-re0> show isis database extensive          

IS-IS level 1 link-state database:

 

IS-IS level 2 link-state database:

 

marcian-re0.00-00 Sequence: 0x11, Checksum: 0x280, Lifetime: 635 secs

  IS neighbor: marcian-re0.02               Metric:      10

    Two-way fragment: marcian-re0.02-00, Two-way first fragment: marcian-re0.02-00

  IP prefix: 10.100.12.0/30                 Metric:      10 Internal Up

  IP prefix: 192.168.0.1/32                 Metric:       0 Internal Up

 

 Packet: LSP ID: splitbrain-re0.00-00, Length: 190 bytes, Lifetime : 1198 secs

   Checksum: 0x729e, Sequence: 0x13, Attributes: 0x7 <L1 L2 Overload>

   NLPID: 0x83, Fixed length: 27 bytes, Version: 1, Sysid length: 0 bytes

   Packet type: 20, Packet version: 1, Max area: 0

 

 TLVs:

   Area address: 49.0002 (3)

   LSP Buffer Size: 1492

   Speaks: IP

   Speaks: IPV6

   IP router id: 192.168.0.2

   IP address: 192.168.0.2

   Hostname: splitbrain-re0

   Router Capability: Router ID 192.168.0.2, Flags: 0x00

   IS neighbor: marcian-re0.02, Internal, Metric: default 10

   Extended IS Reachability TLV, Type: 22, Length: 27

   IS extended neighbor: marcian-re0.02, Metric: default 10 SubTLV len: 16

     IP address: 10.100.12.2

     Local interface index: 325, Remote interface index: 0

   IP prefix: 192.168.0.2/32, Internal, Metric: default 0, Up

   IP prefix: 10.100.12.0/30, Internal, Metric: default 10, Up

   IP extended prefix: 192.168.0.2/32 metric 0 up

   IP extended prefix: 10.100.12.0/30 metric 10 up

   IP external prefix: 10.85.163.128/25, Internal, Metric: default 10, Up

   IP extended prefix: 10.85.163.128/25 metric 10 up

 No queued transmissions

 

Jan 12 18:37:04.779954    IP unicast prefix: 192.168.0.2/32 metric 0 up

Jan 12 18:37:04.779959    IP unicast prefix: 10.100.12.0/30 metric 10 up

 

Jan 12 18:37:04.780340    Refreshing ALL prefixes in Zeroth fragment data for L2 LSP splitbrain-re0.00-00------->>>>>>

Jan 12 18:37:04.780346     L2 LSP splitbrain-re0.00-00 ALL IPv4 refreshed Pfx Sid Index List

Jan 12 18:37:04.780351     L2 LSP splitbrain-re0.00-00 ALL SRv6 Sids refreshed SRv6 Locator List

Jan 12 18:37:04.780373  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 10.85.163.128/25, 0x9abf840

Jan 12 18:37:04.780383  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 10.100.12.0/30, 0x9ac1600

Jan 12 18:37:04.780393  delete this prefix. L2 LSP 0000.0000.0000.00-00, Prefix 192.168.0.2/32, 0x9abf680 

  

No static routes presented on traces and routing table

 

labroot@marcian-re0> show route

 

inet.0: 8 destinations, 10 routes (8 active, 0 holddown, 0 hidden)

+ = Active Route, - = Last Active, * = Both

 

0.0.0.0/0         *[Static/5] 2d 12:12:13

                   > to 10.85.163.129 via fxp0.0

10.85.163.128/25  *[Direct/0] 2d 12:12:13

                    > via fxp0.0

                   [Direct/0] 2d 12:12:12

                   > via fxp0.0

                    [IS-IS/165] 01:45:30, metric 20

                   > to 10.100.12.2 via xe-1/0/1.0

10.85.163.171/32  *[Local/0] 2d 12:12:13

                      Local via fxp0.0

10.85.163.173/32  *[Local/0] 2d 12:12:12

                      Local via fxp0.0

10.100.12.0/30    *[Direct/0] 03:47:27

                   > via xe-1/0/1.0

10.100.12.1/32    *[Local/0] 03:47:27

                      Local via xe-1/0/1.0

192.168.0.1/32    *[Direct/0] 03:47:27

                   > via lo0.0

192.168.0.2/32    *[IS-IS/18] 01:45:30, metric 10

                   > to 10.100.12.2 via xe-1/0/1.0

 

In conclusion, it seems to be that behavior to withdraw the static routes is expected, being part of the updating database, however routes remain on this process, then tested that the export prefix limit command takes effect and static routes are eliminated, the only routes that remain are direct routes stablished, all the aspects expected from developers. The export prefix limit once is reached out is to delete routes this helps the router ensuring network stability by signaling

> to neighboring routers to reroute traffic as necessary.

Modification History

2025-01-26 : Article Created