ip-neighbor: fix ip6_ra_cmd
The option parsing loop had "break" statements included in each 'if (unformat (line_input, "this-option ...") option_values=xxx;' statement. Result: the code would silently ignore all but the first option. Probably broken forever, not easy to spot because the code looks OK even though it's badly broken. Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I667bee85b4ca654b53fb3af421f957957ed0f0f8 (cherry picked from commit 7249b90ab21c20138907e692dcb6032aea9e2f0f)
This commit is contained in:
parent
247bbe2cfa
commit
a42f9a5423
@ -1882,34 +1882,28 @@ ip6_ra_cmd (vlib_main_t * vm,
|
||||
unformat_ip6_address, &ip6_addr, &addr_len))
|
||||
{
|
||||
add_radv_info = 0;
|
||||
break;
|
||||
}
|
||||
else if (unformat (line_input, "ra-managed-config-flag"))
|
||||
{
|
||||
managed = 1;
|
||||
break;
|
||||
}
|
||||
else if (unformat (line_input, "ra-other-config-flag"))
|
||||
{
|
||||
other = 1;
|
||||
break;
|
||||
}
|
||||
else if (unformat (line_input, "ra-suppress") ||
|
||||
unformat (line_input, "ra-surpress"))
|
||||
{
|
||||
suppress = 1;
|
||||
break;
|
||||
}
|
||||
else if (unformat (line_input, "ra-suppress-link-layer") ||
|
||||
unformat (line_input, "ra-surpress-link-layer"))
|
||||
{
|
||||
suppress_ll_option = 1;
|
||||
break;
|
||||
}
|
||||
else if (unformat (line_input, "ra-send-unicast"))
|
||||
{
|
||||
send_unicast = 1;
|
||||
break;
|
||||
}
|
||||
else if (unformat (line_input, "ra-lifetime"))
|
||||
{
|
||||
@ -1919,7 +1913,6 @@ ip6_ra_cmd (vlib_main_t * vm,
|
||||
goto done;
|
||||
}
|
||||
use_lifetime = 1;
|
||||
break;
|
||||
}
|
||||
else if (unformat (line_input, "ra-initial"))
|
||||
{
|
||||
@ -1929,7 +1922,6 @@ ip6_ra_cmd (vlib_main_t * vm,
|
||||
error = unformat_parse_error (line_input);
|
||||
goto done;
|
||||
}
|
||||
break;
|
||||
}
|
||||
else if (unformat (line_input, "ra-interval"))
|
||||
{
|
||||
@ -1941,12 +1933,10 @@ ip6_ra_cmd (vlib_main_t * vm,
|
||||
|
||||
if (!unformat (line_input, "%d", &ra_min_interval))
|
||||
ra_min_interval = 0;
|
||||
break;
|
||||
}
|
||||
else if (unformat (line_input, "ra-cease"))
|
||||
{
|
||||
cease = 1;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user