Allow specifying bridge port STP state by name rather than number.
The existing behaviour forces one to memorize the integer constants for
STP port states.
# bridge link set dev dummy0 state 3
This patch makes it possible to use the lowercased port state name.
# bridge link set dev dummy0 state forwarding
Invalid non-integer inputs now cause exit with status -1.
Signed-off-by: Alex Pilon <alp@alexpilon.ca>
This commit is contained in:
parent
a4797670d3
commit
6b8c871dc1
|
|
@ -316,7 +316,19 @@ static int brlink_modify(int argc, char **argv)
|
|||
priority = atoi(*argv);
|
||||
} else if (strcmp(*argv, "state") == 0) {
|
||||
NEXT_ARG();
|
||||
state = atoi(*argv);
|
||||
char *endptr;
|
||||
size_t nstates = sizeof(port_states) / sizeof(*port_states);
|
||||
state = strtol(*argv, &endptr, 10);
|
||||
if (!(**argv != '\0' && *endptr == '\0')) {
|
||||
for (state = 0; state < nstates; state++)
|
||||
if (strcmp(port_states[state], *argv) == 0)
|
||||
break;
|
||||
if (state == nstates) {
|
||||
fprintf(stderr,
|
||||
"Error: invalid STP port state\n");
|
||||
exit(-1);
|
||||
}
|
||||
}
|
||||
} else if (strcmp(*argv, "hwmode") == 0) {
|
||||
NEXT_ARG();
|
||||
flags = BRIDGE_FLAGS_SELF;
|
||||
|
|
|
|||
|
|
@ -207,7 +207,9 @@ droot port selectio algorithms.
|
|||
.TP
|
||||
.BI state " STATE "
|
||||
the operation state of the port. This is primarily used by user space STP/RSTP
|
||||
implementation. The following is a list of valid values:
|
||||
implementation. One may enter a lowercased port state name, or one of the
|
||||
numbers below. Negative inputs are ignored, and unrecognized names return an
|
||||
error.
|
||||
|
||||
.B 0
|
||||
- port is DISABLED. Make this port completely inactive.
|
||||
|
|
|
|||
Loading…
Reference in New Issue