I followed some Cisco tutorials to configure Quagga on OpenWrt. Currently I am playing around with a simple contrived topology:
I am running everything on QEMU, and don't know any better way to connect 2 routers rather than using a bridge -- that's why there are br0
and br2
-- but it does not matter anyway. My configurations are shown below -- they may look long at first, but in fact they are pretty basic.
Router 1:
!
password zebra
!
interface br-lan
ip router isis area1
!
interface eth0
ip router isis area1
!
interface eth1
ip router isis area1
!
interface eth2
!
interface eth3
!
interface lo
!
!
router isis area1
net 49.0001.1111.1111.1111.00
metric-style wide
!
access-list vty permit 127.0.0.0/8
access-list vty deny any
!
line vty
access-class vty
!
end
Router 2:
!
password zebra
!
interface br-lan
ip router isis area2
!
interface eth0
ip router isis area2
!
interface eth1
ip router isis area2
!
interface eth2
!
interface eth3
!
interface lo
!
!
router isis area2
net 49.0002.2222.2222.2222.00
metric-style wide
!
access-list vty permit 127.0.0.0/8
access-list vty deny any
!
line vty
access-class vty
!
end
Router 5:
!
password zebra
!
interface br-lan
ip router isis area2
isis circuit-type level-1
!
interface eth0
ip router isis area2
isis circuit-type level-1
!
interface eth1
!
interface eth2
!
interface lo
!
!
router isis area2
net 49.0002.5555.5555.5555.00
metric-style wide
is-type level-1
!
access-list vty permit 127.0.0.0/8
access-list vty deny any
!
line vty
access-class vty
!
end
From what I have read, once Router 2 receives a level 1 LSP from Router 5, it shall copy the routing data to its own level 2 LSP, so that it can exchange such information with other Level 2 routers. In my case, obviously it doesn't:
router2> show isis database detail
show isis database detail
Area area2:
IS-IS Level-1 link-state database:
LSP ID PduLen SeqNumber Chksum Holdtime ATT/P/OL
router2.00-00 * 96 0x00000006 0xfe81 628 0/0/0
Area Address: 49.0002
NLPID : 0xCC
Hostname : router2
Router ID : 192.168.2.1
IPv4 Address: 192.168.2.1
Metric : 10 IS-Extended : router2.82
Metric : 10 IPv4-Extended : 192.168.2.0/24
Metric : 10 IPv4-Extended : 102.0.0.0/24
Metric : 10 IPv4-Extended : 100.0.0.0/24
router2.82-00 * 51 0x00000002 0xa60e 584 0/0/0
Metric : 0 IS-Extended : router2.00
Metric : 0 IS-Extended : router5.00
router5.00-00 88 0x00000004 0x29a8 669 0/0/0
Area Address: 49.0002
NLPID : 0xCC
Hostname : router5
Router ID : 192.168.5.1
IPv4 Address: 192.168.5.1
Metric : 10 IS-Extended : router2.82
Metric : 10 IPv4-Extended : 192.168.5.0/24
Metric : 10 IPv4-Extended : 102.0.0.0/24
3 LSPs
IS-IS Level-2 link-state database:
LSP ID PduLen SeqNumber Chksum Holdtime ATT/P/OL
router1.00-00 96 0x0000002f 0xd56d 1125 0/0/0
Area Address: 49.0001
NLPID : 0xCC
Hostname : router1
Router ID : 192.168.1.1
IPv4 Address: 192.168.1.1
Metric : 10 IS-Extended : router2.01
Metric : 10 IPv4-Extended : 192.168.1.0/24
Metric : 10 IPv4-Extended : 101.0.0.0/24
Metric : 10 IPv4-Extended : 100.0.0.0/24
router2.00-00 * 96 0x00000030 0x498c 683 0/0/0
Area Address: 49.0002
NLPID : 0xCC
Hostname : router2
Router ID : 192.168.2.1
IPv4 Address: 192.168.2.1
Metric : 10 IS-Extended : router2.01
Metric : 10 IPv4-Extended : 192.168.2.0/24
Metric : 10 IPv4-Extended : 102.0.0.0/24
Metric : 10 IPv4-Extended : 100.0.0.0/24
router2.01-00 * 51 0x00000003 0x319b 1098 0/0/0
Metric : 0 IS-Extended : router2.00
Metric : 0 IS-Extended : router1.00
3 LSPs
The route to 192.168.5.0/24
is not included in the Level 2 LSP of Router 2, and as a result, Router 1 does not receive such info and cannot connect to that subnet. The lack of documentation is a huge roadblock for me. Am I missing something to make it work?
P.S: I am using Quagga 1.1.1 on OpenWrt 19.07.10. Yes I know that version is not supported anymore, but it is the only option for my 4/32 devices. But I think this issue is related to Quagga configuration instead of OpenWrt.