Juinper Labs Routing IS-IS (lr3, frr-arm64)
   
    
    
    
    
   Explanation
IS-IS is fairly simple in our lab—very similar to OSPF—so detailed theory is omitted here.
Please check here for routing topology.
Key points:
- LRC3 isis-exportpolicy-statement: export routes learned via ISIS into BGP
- LRC3 eBGP-exportpolicy-statement: updated to export routes learned via BGP into ISIS, plus the10.0.4.0/30network (the FRR-arm64 link)
FRR-arm64 Interfaces
# show interface lo
Interface lo is up, line protocol is up
  inet 200.4.4.4/32 lo:10
# show interface eth0
Interface eth0 is up, line protocol is up
  inet 10.0.4.2/30
  inet6 fe80::6c6a:c9ff:feb9:180/64
FRR-arm64 IS-IS Configuration
!                                   
ip router-id 200.4.4.4               
!                                   
interface lo                         
 ip router isis 1                    
exit                                 
!                                   
interface eth0                       
 ip router isis 1                    
exit                                 
!                                   
router isis 1                        
 net 49.0002.0010.0004.0002.00       
exit                                 
!                                   
end                                  
LR3 IS-IS & eBGP Integration
# 1. Configure ISO interfaces on LR3 for FRR-arm64
set interfaces lo0 unit 3 family iso address 49.0002.0010.0004.0001.00
set interfaces ge-0/0/4 unit 0  family iso
# 2. Export BGP routes into ISIS
set policy-options policy-statement isis-export term from-bgp from protocol bgp
set policy-options policy-statement isis-export term from-bgp then accept
# 3. Enable ISIS on LR3 interfaces and apply export policy
set protocols isis interface lo0.3 passive
set protocols isis interface ge-0/0/4.0
set protocols isis export isis-export
# 4. Update eBGP-export to include ISIS-learned and direct routes
set policy-options policy-statement eBGP-export term from-isis from protocol isis
set policy-options policy-statement eBGP-export term from-isis then accept           
set policy-options policy-statement eBGP-export term from-direct from protocol direct
set policy-options policy-statement eBGP-export term from-direct from route-filter 10.0.4.0/30 exact
set policy-options policy-statement eBGP-export term from-direct then accept    
Validation
LR3: ISIS Adjacency & Routing
# Check ISIS neighbors
lr3@acx1100:lr3> show isis adjacency
Interface       System                 L State  Hold SNPA
ge-0/0/4.0      noe4.sof.dachev.lan    1 Up     28  6e:6a:c9:b9:1:80
ge-0/0/4.0      noe4.sof.dachev.lan    2 Up     29  6e:6a:c9:b9:1:80
# ISIS routing table
lr3@acx1100:lr3> show isis route
 IS-IS routing table             L1:27  L2:33
0.0.0.0/0      int ge-0/0/4.0  via noe4.sof.dachev.lan
200.4.4.4/32   int ge-0/0/4.0  via noe4.sof.dachev.lan
# Ping FRR-arm64 loopback
lr3@acx1100:lr3> ping count 3 200.4.4.4
FRR-arm64: ISIS & IP Routes
# Check ISIS neighbors
noe4.sof.dachev.lan# show isis neighbor
System Id           Interface  L State  Hold SNPA
acx1100-lr3         eth0       1 Up     21  288a.1c7d.d904
acx1100-lr3         eth0       2 Up     22  288a.1c7d.d904
# ISIS L1 & L2 routes
noe4.sof.dachev.lan# show isis route
10.0.0.0/22   eth0  via 10.0.4.1  
…  
200.4.4.4/32  lo    directly connected
# IP routing table (default via DHCP)
noe4.sof.dachev.lan# show ip route
K>* 0.0.0.0/0 via 10.0.4.1
I>* 10.0.0.0/22 via 10.0.4.1
…  
C>* 200.4.4.4/32 directly connected
# Ping tests from FRR-arm64 (default route)
root@noe4:~# ping -c 3 100.0.1.1   # ACX1100 loopback
root@noe4:~# ping -c 3 100.1.2.3   # LRC loopback
root@noe4:~# ping -c 3 100.1.1.1   # LR1 loopback
root@noe4:~# ping -c 3 100.2.2.2   # LR2 loopback
root@noe4:~# ping -c 3 100.3.3.3   # LR3 loopback
# Internet connectivity test
root@noe4:~# ping -c 3 8.8.8.8
# Traceroutes
root@noe4:~# traceroute -n 8.8.8.8
root@noe4:~# traceroute -n 100.1.1.1
At this point, every logical system and node has full reachability to any IP or network in the lab topology.