diff options
Diffstat (limited to 'proto/ospf/ospf.c')
-rw-r--r-- | proto/ospf/ospf.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/proto/ospf/ospf.c b/proto/ospf/ospf.c index 0ab99f9..a0ec48f 100644 --- a/proto/ospf/ospf.c +++ b/proto/ospf/ospf.c @@ -323,6 +323,13 @@ ospf_sh_neigh(struct proto *p, char *iff) struct ospf_iface *ifa=NULL,*f; struct ospf_neighbor *n; struct proto_ospf *po=(struct proto_ospf *)p; + + if(p->proto_state != PS_UP) + { + cli_msg(-1013,"%s: is not up", p->name); + cli_msg(0,""); + return; + } if(iff!=NULL) { @@ -366,6 +373,13 @@ ospf_sh(struct proto *p) int nno; int adjno; + if(p->proto_state != PS_UP) + { + cli_msg(-1014,"%s: is not up", p->name); + cli_msg(0,""); + return; + } + cli_msg(-1014,"%s:", p->name); cli_msg(-1014,"Number of areas: %u", po->areano); @@ -404,6 +418,13 @@ ospf_sh_iface(struct proto *p, char *iff) int nno; int adjno; + if(p->proto_state != PS_UP) + { + cli_msg(-1015,"%s: is not up", p->name); + cli_msg(0,""); + return; + } + if(iff!=NULL) { WALK_LIST(f, po->iface_list) |