if sub_interface fails to create, return error and don't continue (fixes a crash)
This commit is contained in:
@ -809,7 +809,7 @@ lcp_itf_pair_create (u32 phy_sw_if_index, u8 *host_if_name,
|
|||||||
if (1 == sw->sub.eth.flags.dot1ad) outer_proto = ETH_P_8021AD;
|
if (1 == sw->sub.eth.flags.dot1ad) outer_proto = ETH_P_8021AD;
|
||||||
|
|
||||||
LCP_ITF_PAIR_INFO (
|
LCP_ITF_PAIR_INFO (
|
||||||
"pair_create: createing dot1%s %d inner-dot1q %d on %U",
|
"pair_create: creating dot1%s %d inner-dot1q %d on %U",
|
||||||
sw->sub.eth.flags.dot1ad ? "ad" : "q", outer_vlan, inner_vlan,
|
sw->sub.eth.flags.dot1ad ? "ad" : "q", outer_vlan, inner_vlan,
|
||||||
format_vnet_sw_if_index_name, vnet_get_main (), hw->sw_if_index);
|
format_vnet_sw_if_index_name, vnet_get_main (), hw->sw_if_index);
|
||||||
|
|
||||||
@ -907,13 +907,20 @@ lcp_itf_pair_create (u32 phy_sw_if_index, u8 *host_if_name,
|
|||||||
/*
|
/*
|
||||||
* create a sub-interface on the tap
|
* create a sub-interface on the tap
|
||||||
*/
|
*/
|
||||||
if (!err && vnet_create_sub_interface (lip->lip_host_sw_if_index,
|
if (!err &&
|
||||||
sw->sub.id, sw->sub.eth.raw_flags,
|
vnet_create_sub_interface (lip->lip_host_sw_if_index, sw->sub.id,
|
||||||
inner_vlan, outer_vlan,
|
sw->sub.eth.raw_flags, inner_vlan,
|
||||||
&host_sw_if_index))
|
outer_vlan, &host_sw_if_index))
|
||||||
LCP_ITF_PAIR_ERR ("pair_create: failed to create tap subint: %d.%d on %U", outer_vlan, inner_vlan,
|
{
|
||||||
format_vnet_sw_if_index_name, vnet_get_main (),
|
LCP_ITF_PAIR_ERR (
|
||||||
|
"pair_create: failed to create tap subint: %d.%d on %U",
|
||||||
|
outer_vlan, inner_vlan, format_vnet_sw_if_index_name,
|
||||||
|
vnet_get_main (), lip->lip_host_sw_if_index);
|
||||||
|
err = clib_error_return (
|
||||||
|
0, "failed to create tap subint: %d.%d on %U", outer_vlan,
|
||||||
|
inner_vlan, format_vnet_sw_if_index_name, vnet_get_main (),
|
||||||
lip->lip_host_sw_if_index);
|
lip->lip_host_sw_if_index);
|
||||||
|
}
|
||||||
|
|
||||||
socket_close:
|
socket_close:
|
||||||
if (orig_ns_fd != -1)
|
if (orig_ns_fd != -1)
|
||||||
|
Reference in New Issue
Block a user