summaryrefslogtreecommitdiffstats
path: root/proto/ospf/config.Y
diff options
context:
space:
mode:
Diffstat (limited to 'proto/ospf/config.Y')
-rw-r--r--proto/ospf/config.Y16
1 files changed, 13 insertions, 3 deletions
diff --git a/proto/ospf/config.Y b/proto/ospf/config.Y
index 0ee644c..0951572 100644
--- a/proto/ospf/config.Y
+++ b/proto/ospf/config.Y
@@ -15,6 +15,8 @@ CF_DECLS
CF_KEYWORDS(OSPF, AREA, OSPF_METRIC1, OSPF_METRIC2, OSPF_TAG)
CF_KEYWORDS(NEIGHBORS)
+%type <t> opttext
+
CF_GRAMMAR
CF_ADDTO(proto, ospf_proto '}')
@@ -34,7 +36,12 @@ ospf_proto:
ospf_area: AREA idval {
((struct ospf_config *)this_proto)->area = $2;
}
- ;
+;
+
+opttext:
+ TEXT
+| /* empty */ { $$ = NULL; }
+;
CF_ADDTO(dynamic_attr, OSPF_METRIC1 { $$ = f_new_dynamic_attr(EAF_TYPE_INT | EAF_TEMP, T_INT, EA_OSPF_METRIC1); })
CF_ADDTO(dynamic_attr, OSPF_METRIC2 { $$ = f_new_dynamic_attr(EAF_TYPE_INT | EAF_TEMP, T_INT, EA_OSPF_METRIC2); })
@@ -43,8 +50,11 @@ CF_ADDTO(dynamic_attr, OSPF_TAG { $$ = f_new_dynamic_attr(EAF_TYPE_INT | EAF_TEM
CF_CLI(SHOW OSPF, optsym, [<name>], [[Show information about ospf protocol]])
{ ospf_sh(proto_get_named($3, &proto_ospf)); } ;
-CF_CLI(SHOW OSPF NEIGHBORS, optsym, [<name>], [[Show information about ospf neighbors]])
-{ ospf_sh_neigh(proto_get_named($4, &proto_ospf)); } ;
+CF_CLI(SHOW OSPF NEIGHBORS, optsym opttext, [<name>] [\"<interface>\"], [[Show information about ospf neighbors]])
+{ ospf_sh_neigh(proto_get_named($4, &proto_ospf), $5); } ;
+
+CF_CLI(SHOW OSPF INTERFACE, optsym opttext, [<name>] [\"<interface>\"], [[Show infomation about interface]])
+{ ospf_sh_iface(proto_get_named($4, &proto_ospf), $5); };
CF_CODE