pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/38388?usp=email )
Change subject: ss7 vty: Validate qos-class number being passed to 'update route' ......................................................................
ss7 vty: Validate qos-class number being passed to 'update route'
While at it, organize the related strings used in several places in the file.
Change-Id: Ib81499d5ac692e1de463efe931381bbb68fd1131 --- M src/osmo_ss7_vty.c M tests/vty/osmo_stp_test.vty 2 files changed, 15 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/88/38388/1
diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 06fa823..b1029ed 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -67,6 +67,14 @@ "SCTP (Stream Control Transmission Protocol)\n" \ "TCP (Transmission Control Protocol)\n"
+#define QOS_CLASS_RANGE_STR "<0-255>" +#define QOS_CLASS_RANGE_HELP_STR "QoS Class\n" +#define QOS_CLASS_VAR_STR "(" QOS_CLASS_RANGE_STR "|default)" +#define QOS_CLASS_VAR_HELP_STR \ + QOS_CLASS_RANGE_HELP_STR \ + "Default QoS Class (0)\n" + + /* netinet/tcp.h */ static const struct value_string tcp_info_state_values[] = { { TCP_ESTABLISHED, "ESTABLISHED" }, @@ -341,7 +349,7 @@ }
DEFUN_ATTR(cs7_rt_upd, cs7_rt_upd_cmd, - "update route POINT_CODE MASK linkset LS_NAME [priority] [PRIO] [qos-class] [(CLASS|default)]", + "update route POINT_CODE MASK linkset LS_NAME [priority] [PRIO] [qos-class] [" QOS_CLASS_VAR_STR "]", "Update the Route\n" "Update the Route\n" "Destination Point Code\n" @@ -351,8 +359,7 @@ "Specify Priority\n" "Priority\n" "Specify QoS Class\n" - "QoS Class\n" - "Default QoS Class\n", + QOS_CLASS_VAR_HELP_STR, CMD_ATTR_IMMEDIATE) { struct osmo_ss7_route_table *rtable = vty->index; @@ -1073,9 +1080,9 @@ }
DEFUN_ATTR(asp_qos_clas, asp_qos_class_cmd, - "qos-class <0-255>", + "qos-class " QOS_CLASS_RANGE_STR, "Specify QoS Class of ASP\n" - "QoS Class of ASP\n", + QOS_CLASS_RANGE_HELP_STR, CMD_ATTR_NODE_EXIT) { struct osmo_ss7_asp *asp = vty->index; @@ -1934,9 +1941,9 @@ }
DEFUN_ATTR(as_qos_clas, as_qos_class_cmd, - "qos-class <0-255>", + "qos-class " QOS_CLASS_RANGE_STR, "Specity QoS Class of AS\n" - "QoS Class of AS\n", + QOS_CLASS_RANGE_HELP_STR, CMD_ATTR_IMMEDIATE) { struct osmo_ss7_as *as = vty->index; diff --git a/tests/vty/osmo_stp_test.vty b/tests/vty/osmo_stp_test.vty index b2f5270..33e092b 100644 --- a/tests/vty/osmo_stp_test.vty +++ b/tests/vty/osmo_stp_test.vty @@ -570,7 +570,7 @@ OsmoSTP(config-cs7)# route-table system OsmoSTP(config-cs7-rt)# list ... - update route POINT_CODE MASK linkset LS_NAME [priority] [PRIO] [qos-class] [(CLASS|default)] + update route POINT_CODE MASK linkset LS_NAME [priority] [PRIO] [qos-class] [(<0-255>|default)] remove route POINT_CODE MASK OsmoSTP(config-cs7-rt)# update route 3.2.1 7.255.7 linkset my-ass OsmoSTP(config-cs7-rt)# show running-config