return 0;
error:
- close(*fd);
+ if (*fd >= 0)
+ close(*fd);
*fd = -1;
return ret;
}
rv = dpdk_port_setup(dm, xd);
- return rv < 0 ? rv : 0;
+ return rv;
}
VLIB_CLI_COMMAND (cmd_set_dpdk_if_desc,static) = {
typedef enum {
ETHERNET_INPUT_VARIANT_ETHERNET,
ETHERNET_INPUT_VARIANT_ETHERNET_TYPE,
- ETHERNET_INPUT_VARIANT_VLAN,
ETHERNET_INPUT_VARIANT_NOT_L2,
} ethernet_input_variant_t;
template.sup_sw_if_index = hi->sw_if_index;
template.sub.id = id;
error = vnet_create_sw_interface (vnm, &template, &sw_if_index);
- if (error) goto done;
+ if (error)
+ goto done;
+
hash_set (hi->sub_interface_sw_if_index_by_id, id, sw_if_index);
hash_set_mem (im->sw_if_index_by_sup_and_sub, kp, sw_if_index);
- vlib_cli_output(vm, "%U\n", format_vnet_sw_if_index_name, vnet_get_main(), sw_if_index);
+ vlib_cli_output(vm, "%U\n", format_vnet_sw_if_index_name,
+ vnet_get_main(), sw_if_index);
}
- if (error)
- goto done;
-
done:
return error;
}
fib->new_hash_values);
p = hash_get (hash, dst_address_u32);
- clib_memcpy (p, fib->new_hash_values, vec_bytes (fib->new_hash_values));
+ /* hash_get should never return NULL here */
+ if (p)
+ clib_memcpy (p, fib->new_hash_values,
+ vec_bytes (fib->new_hash_values));
+ else
+ ASSERT(0);
}
}