Description

This article describes why ISIS IPv4 route tags are lost while IPv6 tags are preserved when traffic-engineering is disabled. This behavior is expected.

Symptoms

SRX-1 ge-0/0/0------------------------------------ge-0/0/0 SRX-2

SRX-1 and SRX-2 are running ISIS routing protocol for both IPv4 and IPv6, initially with traffic engineering enabled.
SRX-2 is redistributing static routes with tags into ISIS by routing policy:

root@SRX-2# show routing-options 
rib inet6.0 {
    static {
        route 2001:9999:8888:7777::/64 {
            reject;
            tag 200;
        }
    }
}
static {
    route 192.168.0.0/24 {
        reject;
        tag 100;
    }
}
 

On SRX-1 they are seen with corresponding route-tag:

root@SRX-1# run show route protocol isis 
 
inet.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
 
2.2.2.2/32         *[IS-IS/18] 00:28:52, metric 10
                    > to 10.10.10.2 via ge-0/0/0.0
192.168.0.0/24     *[IS-IS/165] 00:10:20, metric 10, tag 100
                    > to 10.10.10.2 via ge-0/0/0.0
 
iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
 
inet6.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
 
2001:2222::2/128   *[IS-IS/18] 00:27:18, metric 10
                    > to fe80::250:56ff:feaa:4b5b via ge-0/0/0.0
2001:9999:8888:7777::/64
                   *[IS-IS/165] 00:27:18, metric 10, tag 200
                    > to fe80::250:56ff:feaa:4b5b via ge-0/0/0.0

 
However, when traffic-engineering is disabled, route tag for IPv4 route is lost, but route tag for IPv6 route is still present:
 
root@SRX-1# run show route protocol isis    
 
inet.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
 
2.2.2.2/32         *[IS-IS/18] 00:30:14, metric 10
                    > to 10.10.10.2 via ge-0/0/0.0
192.168.0.0/24     *[IS-IS/165] 00:00:05, metric 10
                    > to 10.10.10.2 via ge-0/0/0.0

 
iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
 
inet6.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
 
2001:2222::2/128   *[IS-IS/18] 00:28:40, metric 10
                    > to fe80::250:56ff:feaa:4b5b via ge-0/0/0.0
2001:9999:8888:7777::/64
                   *[IS-IS/165] 00:28:40, metric 10, tag 200
                    > to fe80::250:56ff:feaa:4b5b via ge-0/0/0.0

 

Solution

This is an expected behavior. When ISIS traffic-engineering is disabled, TLV  22,134 and 135 are suppressed from being sent. Tags for  IPv4  routes are in  TLV135  ( sub-TLV1 ). For  IPv6 , routes tags are in  TLV236  which are still present when traffic engineering is disabled.
 
root@SRX-1 # run show  isis  database SRX-2.00-00 extensive | find  tlv
   TLVs :
    Area address: 49.0001 (3)                                             << <TLV 1</span>
     LSP  Buffer Size: 1492
    Speaks: IP                                                            << <TLV 129</span>
    Speaks:  IPV6                                                           << <TLV 129</span>
    IP router id: 2.2.2.2                                                 << <TLV 134</span>
    IP address: 2.2.2.2                                                   << <TLV 132</span>
    Hostname:  SRX-2                                                        << <TLV 137</span>
    IS neighbor: SRX-1.02, Internal, Metric: default 10                   << <TLV 2</span>
    IS extended neighbor: SRX-1.02, Metric: default 10                    << <TLV 22</span>
      IP address: 10.10.10.2
      Local interface index: 72, Remote interface index: 0
    IP external prefix: 192.168.0.0/24, Internal, Metric: default 0, Up   << <TLV 130</span>
    IP extended prefix: 192.168.0.0/24 metric 0 up                        << <TLV 135</span>
      6 bytes of  subtlvs
      Administrative tag 1: 100
    IP prefix: 10.10.10.0/30, Internal, Metric: default 10, Up            << <TLV 128</span>
    IP prefix: 2.2.2.2/32, Internal, Metric: default 0, Up                << <TLV 128</span>
    IP extended prefix: 10.10.10.0/30 metric 10 up                        << <TLV 135</span>
    IP extended prefix: 2.2.2.2/32 metric 0 up                            << <TLV 135</span>
     IPv6  prefix: 2001:2222::2/128 Metric 0 Up                             << <TLV 236</span>
     IPv6  prefix: 2001: abdc :1::/64 Metric 10 Up                            << <TLV 236</span>
     IPv6  prefix: 2001:9999:8888:7777::/64 Metric 0 External Up            << <TLV 236</span>
      6 bytes of  subtlvs
      Administrative tag 1: 200
  No queued transmissions