{
- "2.2.2.2":[
+ "neighbors":[
{
- "priority":1,
- "state":"Full/DR",
- "address":"10.0.1.2",
- "ifaceName":"r1-eth1:10.0.1.1"
- }
- ],
- "3.3.3.3":[
+ "2.2.2.2":[
+ {
+ "priority":1,
+ "state":"Full/DR",
+ "address":"10.0.1.2",
+ "ifaceName":"r1-eth1:10.0.1.1",
+ "retransmitCounter":0,
+ "requestCounter":0,
+ "dbSummaryCounter":0
+ }
+ ]
+ },
{
- "priority":1,
- "state":"Full/DR",
- "address":"10.0.2.3",
- "ifaceName":"r1-eth2:10.0.2.1"
+ "3.3.3.3":[
+ {
+ "priority":1,
+ "state":"Full/DR",
+ "address":"10.0.2.3",
+ "ifaceName":"r1-eth2:10.0.2.1",
+ "retransmitCounter":0,
+ "requestCounter":0,
+ "dbSummaryCounter":0
+ }
+ ]
}
]
}
+
--- /dev/null
+{
+ "2.2.2.2":[
+ {
+ "priority":1,
+ "state":"Full/DR",
+ "address":"10.0.1.2",
+ "ifaceName":"r1-eth1:10.0.1.1"
+ }
+ ],
+ "3.3.3.3":[
+ {
+ "priority":1,
+ "state":"Full/DR",
+ "address":"10.0.2.3",
+ "ifaceName":"r1-eth2:10.0.2.1"
+ }
+ ]
+}
{
- "1.1.1.1":[
+ "neighbors":[
{
- "priority":1,
- "state":"Full/Backup",
- "address":"10.0.1.1",
- "ifaceName":"r2-eth1:10.0.1.2"
- }
- ],
- "3.3.3.3":[
+ "1.1.1.1":[
+ {
+ "priority":1,
+ "state":"Full/Backup",
+ "address":"10.0.1.1",
+ "ifaceName":"r2-eth1:10.0.1.2",
+ "retransmitCounter":0,
+ "requestCounter":0,
+ "dbSummaryCounter":0
+ }
+ ]
+ },
{
- "priority":1,
- "state":"Full/DR",
- "address":"10.0.3.3",
- "ifaceName":"r2-eth2:10.0.3.2"
+ "3.3.3.3":[
+ {
+ "priority":1,
+ "state":"Full/DR",
+ "address":"10.0.3.3",
+ "ifaceName":"r2-eth2:10.0.3.2",
+ "retransmitCounter":0,
+ "requestCounter":0,
+ "dbSummaryCounter":0
+ }
+ ]
}
]
}
--- /dev/null
+{
+ "1.1.1.1":[
+ {
+ "priority":1,
+ "state":"Full/Backup",
+ "address":"10.0.1.1",
+ "ifaceName":"r2-eth1:10.0.1.2"
+ }
+ ],
+ "3.3.3.3":[
+ {
+ "priority":1,
+ "state":"Full/DR",
+ "address":"10.0.3.3",
+ "ifaceName":"r2-eth2:10.0.3.2"
+ }
+ ]
+}
{
- "1.1.1.1":[
+ "neighbors":[
{
- "priority":1,
- "state":"Full/Backup",
- "address":"10.0.2.1",
- "ifaceName":"r3-eth1:10.0.2.3"
- }
- ],
- "2.2.2.2":[
+ "1.1.1.1":[
+ {
+ "priority":1,
+ "state":"Full/Backup",
+ "address":"10.0.2.1",
+ "ifaceName":"r3-eth1:10.0.2.3",
+ "retransmitCounter":0,
+ "requestCounter":0,
+ "dbSummaryCounter":0
+ }
+ ]
+ },
{
- "priority":1,
- "state":"Full/Backup",
- "address":"10.0.3.2",
- "ifaceName":"r3-eth2:10.0.3.3"
+ "2.2.2.2":[
+ {
+ "priority":1,
+ "state":"Full/Backup",
+ "address":"10.0.3.2",
+ "ifaceName":"r3-eth2:10.0.3.3",
+ "retransmitCounter":0,
+ "requestCounter":0,
+ "dbSummaryCounter":0
+ }
+ ]
}
]
}
--- /dev/null
+{
+ "1.1.1.1":[
+ {
+ "priority":1,
+ "state":"Full/Backup",
+ "address":"10.0.2.1",
+ "ifaceName":"r3-eth1:10.0.2.3"
+ }
+ ],
+ "2.2.2.2":[
+ {
+ "priority":1,
+ "state":"Full/Backup",
+ "address":"10.0.3.2",
+ "ifaceName":"r3-eth2:10.0.3.3"
+ }
+ ]
+}
router = tgen.gears['r1']
output = router.vtysh_cmd("show ip ospf neighbor json", isjson=True)
- if isinstance(output["2.2.2.2"], dict):
- reffile = "show_ip_ospf_neighbor.ref-old-nolist"
- else:
+ # We could have either old format (without "neighbors" and direct list
+ # of IP's or new format from PR1659 with "neighbors".
+ # Trying old formats first and fall back to new format
+ try:
+ if isinstance(output["2.2.2.2"], dict):
+ reffile = "show_ip_ospf_neighbor.ref-old-nolist"
+ else:
+ reffile = "show_ip_ospf_neighbor.ref-no-neigh"
+ except:
reffile = "show_ip_ospf_neighbor.ref"
for rname in ['r1', 'r2', 'r3']: