Traffic Dictator v1.2 Release Notes

Summary

Traffic Dictator version 1.2 has been released on 06.09.2024. This article describes changes in the new version.

New feature: unique SR-TE distinguisher per policy

BGP SR-TE NLRI has a 4-byte field called “distinguisher”. It is similar to route distinguisher in MPLS VPN and EVPN and is used to separate different NLRI from the BGP perspective.

Traffic Dictator uses distinguisher for 2 purposes:

  1. Separate policies with different headend but same endpoint and color.
  2. Facilitate redundancy when multiple controllers advertise the same policy with different distinguishers.

In versions 1.0 and 1.1, all policies used the same distinguisher which was configured under “router general”. Starting from 1.2, you can configure a Global SR-TE distinguisher under “router general” which is useful for redundancy in deployments with multiple controllers.

When generating SR-TE distinguisher for each policy, Traffic Dictator takes first byte from the configured global value (under router general), and the next 3 bytes are auto-generated from policy index. E.g. if configured distinguisher is 1, and first policy has index 0, the distinguisher will be 16777216 (0x01000000) and so on.

This ensures that each NLRI is unique even if multiple policies have the same endpoint and color, but are calculated for different headends.

Sample output:

TD1#sh bgp ipv4 srte 
BGP-SRTE routing table information
Router identifier 111.111.111.111, local AS number 65001
Status codes: * valid, > best, + - inserted
Origin codes: i - IGP, e - EGP, ? - incomplete

          Network                                                         Next Hop               Metric        LocPref  Weigth   Path
*>+       [96][16777221][6][0.0.0.0]                                      -                      0             -        0        i
*>+       [96][16777220][7][0.0.0.0]                                      -                      0             -        0        i
*>+       [96][16777216][3][1.1.1.1]                                      -                      0             -        0        i
*>+       [96][16777226][8][9.9.9.9]                                      -                      0             -        0        i
*>+       [96][16777217][5][10.100.19.104]                                -                      0             -        0        i
*>+       [96][16777225][2][11.11.11.11]                                  -                      0             -        0        i
*>+       [96][16777223][9][11.11.11.11]                                  -                      0             -        0        i
*>+       [96][16777224][10][11.11.11.11]                                 -                      0             -        0        i

If global SR-TE distinguisher changes:

TD1#conf
TD1(config)#router general
TD1(config-router-general)#srte distinguisher 2
TD1(config-router-general)#end
TD1#sh bgp ipv4 srte
BGP-SRTE routing table information
Router identifier 111.111.111.111, local AS number 65001
Status codes: * valid, > best, + - inserted
Origin codes: i - IGP, e - EGP, ? - incomplete

          Network                                                         Next Hop               Metric        LocPref  Weigth   Path
*>+       [96][33554437][6][0.0.0.0]                                      -                      0             -        0        i
*>+       [96][33554436][7][0.0.0.0]                                      -                      0             -        0        i
*>+       [96][33554432][3][1.1.1.1]                                      -                      0             -        0        i
*>+       [96][33554442][8][9.9.9.9]                                      -                      0             -        0        i
*>+       [96][33554433][5][10.100.19.104]                                -                      0             -        0        i
*>+       [96][33554441][2][11.11.11.11]                                  -                      0             -        0        i
*>+       [96][33554439][9][11.11.11.11]                                  -                      0             -        0        i
*>+       [96][33554440][10][11.11.11.11]                                 -                      0             -        0        i

Distinguisher for labeled unicast policies

When BGP-LU is used to distribute policies, distinguisher is also used. There is no distinguisher field in BGP-LU NLRI so it’s not advertised anywhere, but used internally by Traffic Dictator to ensure each policy is unique in BGP-LU RIB. Also it separates BGP-LU routes generated from policies from BGP-LU routes received from the network (e.g. routes with EPE labels).

Sample output:

BGP-LS routing table information
Router identifier 111.111.111.111, local AS number 65001
Status codes: * valid, > best, + - inserted
Origin codes: i - IGP, e - EGP, ? - incomplete

          Network                                                    Next Hop               Metric        LocPref  Weigth   Path
*>        10.100.16.101/32                                             192.168.0.102        0             100      0                    65002  ?
*>        10.100.17.102/32                                             192.168.0.106        0             100      0                    65002  ?
*>        10.100.18.103/32                                             192.168.0.105        0             100      0                    65002  ?
*>        10.100.19.104/32                                             192.168.0.111        0             100      0                    65002  ?
*>        10.100.20.105/32                                             192.168.0.111        0             100      0                    65002  ?
*>+       [16777218][103.11.11.11/32]                                -                      0             -        0        i
*>+       [16777222][100.11.11.11/32]                                -                      0             -        0        i
*>+       [16777219][102.11.11.11/32]                                -                      0             -        0        i

In this example, routes with distinguisher are SR-TE or EPE policies distributed by BGP-LU, while regular routes are EPE routes received from the network.

Also, updated the “Edge Routing Optimization with SR” white paper to reflect this change. Check the Egress Peer Engineering solution page for details and the lab setup.

New CLI shortcuts

Versions 1.0 and 1.1 supported the most commonly used CLI shortcuts like context help, autocomplete etc. Version 1.2 brings all common CLI shortcuts normally found in unix shell and network devices CLI. Below is the complete list:

? Context help
Tab Autocomplete
Ctrl-C (or Ctrl-Z) Erase line / if in config mode – exit to exec
Ctrl-A Goto BEGINNING of command line
Ctrl-E Goto END of command line
Ctrl-B (or left arrow) Move back one character
Ctrl-F (or right arrow) Move forward one character
Up arrow Get historic command
Down arrow Get previous historic command
Ctrl-D Delete the character under the cursor; if line is empty – exit shell
Ctrl-U Clear all / cut BEFORE cursor
Ctrl-K Clear all / cut AFTER cursor
Ctrl-W delete the word BEFORE the cursor
Ctrl-L Clear the screen
Ctrl-T Swap the last two characters before the cursor

 

Bug fixes and improvements

1. Fixed the bug where Traffic Dictator crashed if the startup-config started from an empty line.

2. Fixed the bug where CLI got corrupted if an unsupported CLI shortcut was used. Now unknown shortcuts or characters are ignored.

Download

You can download the new version of Traffic Dictator from the Downloads page.

Leave a Comment