Merge pull request #7132 from volta-networks/fix_ldp_sync_cmds

Fix ldp sync cmds
This commit is contained in:
Donald Sharp 2020-09-22 14:20:21 -04:00 committed by GitHub
commit e2dcd0c2c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 35 additions and 19 deletions

View File

@ -698,7 +698,12 @@ static void isis_circuit_ldp_sync_print_vty(struct isis_circuit *circuit,
return;
ldp_sync_info = circuit->ldp_sync_info;
vty_out(vty, "%-10s\n", circuit->interface->name);
vty_out(vty, "%-16s\n", circuit->interface->name);
if (circuit->state == C_STATE_CONF) {
vty_out(vty, " Interface down\n");
return;
}
vty_out(vty, " LDP-IGP Synchronization enabled: %s\n",
ldp_sync_info->enabled == LDP_IGP_SYNC_ENABLED
? "yes"
@ -751,6 +756,7 @@ DEFUN (show_isis_mpls_ldp_interface,
struct isis_area *area;
struct isis_circuit *circuit;
struct isis *isis = isis_lookup_by_vrfid(VRF_DEFAULT);
bool found = false;
if (!isis) {
vty_out(vty, "IS-IS Routing Process not enabled\n");
@ -769,10 +775,16 @@ DEFUN (show_isis_mpls_ldp_interface,
for (ALL_LIST_ELEMENTS_RO(area->circuit_list, cnode, circuit))
if (!ifname)
isis_circuit_ldp_sync_print_vty(circuit, vty);
else if (strcmp(circuit->interface->name, ifname) == 0)
else if (strcmp(circuit->interface->name, ifname)
== 0) {
isis_circuit_ldp_sync_print_vty(circuit, vty);
found = true;
}
}
if (found == false && ifname)
vty_out(vty, "%-16s\n ISIS not enabled\n", ifname);
return CMD_SUCCESS;
}

View File

@ -710,8 +710,12 @@ static int show_ip_ospf_mpls_ldp_interface_common(struct vty *vty,
struct route_node *rn;
struct ospf_interface *oi;
if (ospf_oi_count(ifp) == 0)
if (ospf_oi_count(ifp) == 0 && !use_json) {
if (!if_is_up(ifp))
vty_out(vty, "%s\n Interface down\n",
ifp->name);
continue;
}
for (rn = route_top(IF_OIFS(ifp)); rn;
rn = route_next(rn)) {
oi = rn->info;
@ -739,9 +743,12 @@ static int show_ip_ospf_mpls_ldp_interface_common(struct vty *vty,
struct ospf_interface *oi;
if (ospf_oi_count(ifp) == 0 && !use_json) {
vty_out(vty,
" OSPF not enabled on this interface %s\n",
ifp->name);
if (if_is_up(ifp))
vty_out(vty, "%s\n OSPF not enabled\n",
ifp->name);
else
vty_out(vty, "%s\n Interface down\n",
ifp->name);
return CMD_SUCCESS;
}
for (rn = route_top(IF_OIFS(ifp)); rn;

View File

@ -1,8 +1,6 @@
{
"r1-eth1":{
"ldpIgpSyncEnabled":true,
"holdDownTimeInSec":0,
"ldpIgpSyncState":"Sync not achieved"
"Interface":true
},
"r1-eth2":{
"ldpIgpSyncEnabled":true,

View File

@ -1,8 +1,6 @@
{
"r2-eth1":{
"ldpIgpSyncEnabled":true,
"holdDownTimeInSec":0,
"ldpIgpSyncState":"Sync not achieved"
"Interface":true
},
"r2-eth2":{
"ldpIgpSyncEnabled":false,

View File

@ -470,16 +470,17 @@ def parse_show_isis_ldp_sync(lines, rname):
if line.startswith(" LDP-IGP Synchronization enabled: "):
interface["ldpIgpSyncEnabled"] = line.endswith("yes")
line = it.next();
line = it.next();
if line.startswith(" holddown timer in seconds: "):
interface["holdDownTimeInSec"] = int(line.split(": ")[-1])
line = it.next();
if line.startswith(" holddown timer in seconds: "):
interface["holdDownTimeInSec"] = int(line.split(": ")[-1])
if line.startswith(" State: "):
interface["ldpIgpSyncState"] = line.split(": ")[-1]
line = it.next();
if line.startswith(" State: "):
interface["ldpIgpSyncState"] = line.split(": ")[-1]
elif line.startswith(" Interface "):
interface["Interface"] = line.endswith("down")
interfaces[interface_name] = interface