enum pnat_attachment_point
{
- PNAT_IP4_INPUT,
+ PNAT_IP4_INPUT = 0,
PNAT_IP4_OUTPUT,
PNAT_ATTACHMENT_POINT_MAX,
};
if (input) {
/* TODO: Make shallow virtual reassembly configurable */
- ip4_sv_reass_enable_disable_with_refcnt(sw_if_index, 1);
+ if (ip4_sv_reass_enable_disable_with_refcnt(sw_if_index, 1) != 0)
+ return clib_error_return(0, "PNAT SVR enable failed on %u",
+ sw_if_index);
+
} else {
- ip4_sv_reass_output_enable_disable_with_refcnt(sw_if_index, 1);
+ if (ip4_sv_reass_output_enable_disable_with_refcnt(sw_if_index,
+ 1) != 0)
+ return clib_error_return(0, "PNAT SVR enable failed on %u",
+ sw_if_index);
}
interface->lookup_mask[attachment] = mask;
REPLY_MACRO_DETAILS4(
VL_API_PNAT_INTERFACES_DETAILS, rp, context, ({
rmp->sw_if_index = i->sw_if_index;
- clib_memcpy(rmp->enabled, i->enabled, PNAT_ATTACHMENT_POINT_MAX);
+ clib_memcpy(rmp->enabled, i->enabled, sizeof(rmp->enabled));
clib_memcpy(rmp->lookup_mask, i->lookup_mask,
- sizeof(vl_api_pnat_mask_t) * PNAT_ATTACHMENT_POINT_MAX);
+ sizeof(rmp->lookup_mask));
/* Endian hack until apigen registers _details
* endian functions */
static void test_table(test_t *t, int no_tests) {
// walk through table of tests
int i;
+ vlib_main_init();
vlib_main_t *vm = vlib_get_first_main();
/* Generate packet data */
clib_mem_init(0, 3ULL << 30);
+ vlib_main_init();
vlib_main_t *vm = vlib_get_first_main();
buffers_vector = buffer_init(buffers_vector, 256);