diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gb/gprs_ns_vty.c | 20 | 
1 files changed, 15 insertions, 5 deletions
diff --git a/src/gb/gprs_ns_vty.c b/src/gb/gprs_ns_vty.c index a2e7beb9..29f3159d 100644 --- a/src/gb/gprs_ns_vty.c +++ b/src/gb/gprs_ns_vty.c @@ -499,21 +499,31 @@ DEFUN(cfg_frgre_enable, cfg_frgre_enable_cmd,  }  DEFUN(nsvc_nsei, nsvc_nsei_cmd, -	"nsvc nsei <0-65535> (block|unblock|reset)", +	"nsvc (nsei|nsvci) <0-65535> (block|unblock|reset)",  	"Perform an operation on a NSVC\n"  	"NSEI to identify NS-VC Identifier (NS-VCI)\n" +	"NS-VC Identifier (NS-VCI)\n"  	"The NSEI\n"  	"Initiate BLOCK procedure\n"  	"Initiate UNBLOCK procedure\n"  	"Initiate RESET procedure\n")  { -	uint16_t nsvci = atoi(argv[0]); -	const char *operation = argv[1]; +	const char *id_type = argv[0]; +	uint16_t id = atoi(argv[1]); +	const char *operation = argv[2];  	struct gprs_nsvc *nsvc; -	nsvc = gprs_nsvc_by_nsei(vty_nsi, nsvci); +	if (!strcmp(id_type, "nsei")) +		nsvc = gprs_nsvc_by_nsei(vty_nsi, id); +	else if (!strcmp(id_type, "nsvci")) +		nsvc = gprs_nsvc_by_nsvci(vty_nsi, id); +	else { +		vty_out(vty, "%%No such id_type '%s'%s", id_type, VTY_NEWLINE); +		return CMD_WARNING; +	} +  	if (!nsvc) { -		vty_out(vty, "No such NSVCI (%u)%s", nsvci, VTY_NEWLINE); +		vty_out(vty, "No such %s (%u)%s", id_type, id, VTY_NEWLINE);  		return CMD_WARNING;  	}  | 
