VPP-1083 "ip punt redirect add" crashed if not mentioned any other parameter

Change-Id: Ibb6f450783d0ab64bd943c19f12d0954b0a94b24
Signed-off-by: Swarup Nayak <swarupnpvt@gmail.com>
This commit is contained in:
Swarup Nayak
2017-12-11 13:52:44 +05:30
parent be302d7203
commit ecf844cbae
2 changed files with 28 additions and 8 deletions

View File

@ -390,8 +390,8 @@ ip4_punt_redirect_cmd (vlib_main_t * vm,
{
unformat_input_t _line_input, *line_input = &_line_input;
clib_error_t *error = 0;
u32 rx_sw_if_index;
u32 tx_sw_if_index;
u32 rx_sw_if_index = 0;
u32 tx_sw_if_index = 0;
ip46_address_t nh;
vnet_main_t *vnm;
u8 is_add;
@ -429,9 +429,19 @@ ip4_punt_redirect_cmd (vlib_main_t * vm,
}
if (is_add)
ip4_punt_redirect_add (rx_sw_if_index, tx_sw_if_index, &nh);
{
if (rx_sw_if_index && tx_sw_if_index)
{
ip4_punt_redirect_add (rx_sw_if_index, tx_sw_if_index, &nh);
}
}
else
ip4_punt_redirect_del (rx_sw_if_index);
{
if (rx_sw_if_index)
{
ip4_punt_redirect_del (rx_sw_if_index);
}
}
done:
unformat_free (line_input);

View File

@ -301,8 +301,8 @@ ip6_punt_redirect_cmd (vlib_main_t * vm,
{
unformat_input_t _line_input, *line_input = &_line_input;
clib_error_t *error = 0;
u32 rx_sw_if_index;
u32 tx_sw_if_index;
u32 rx_sw_if_index = 0;
u32 tx_sw_if_index = 0;
ip46_address_t nh;
vnet_main_t *vnm;
u8 is_add;
@ -340,9 +340,19 @@ ip6_punt_redirect_cmd (vlib_main_t * vm,
}
if (is_add)
ip6_punt_redirect_add (rx_sw_if_index, tx_sw_if_index, &nh);
{
if (rx_sw_if_index && tx_sw_if_index)
{
ip6_punt_redirect_add (rx_sw_if_index, tx_sw_if_index, &nh);
}
}
else
ip6_punt_redirect_del (rx_sw_if_index);
{
if (rx_sw_if_index)
{
ip6_punt_redirect_del (rx_sw_if_index);
}
}
done:
unformat_free (line_input);