#include <vnet/fib/ip6_fib.h>
#include <vnet/fib/fib_path_list.h>
#include <vnet/ip/ip6_hop_by_hop.h>
-#include <vnet/ip/ip4_reassembly.h>
-#include <vnet/ip/ip6_reassembly.h>
+#include <vnet/ip/reass/ip4_full_reass.h>
+#include <vnet/ip/reass/ip6_full_reass.h>
#include <vnet/ethernet/arp.h>
#include <vnet/ip/ip_types_api.h>
#include <vlibapi/api_helper_macros.h>
+#include <vnet/format_fns.h>
#define foreach_ip_api_msg \
_(IP_TABLE_DUMP, ip_table_dump) \
if (0 != rv)
goto out;
- if (0 == mp->route.n_paths)
- {
- rv = VNET_API_ERROR_NO_PATHS_IN_ROUTE;
- goto out;
- }
-
- vec_validate (rpaths, mp->route.n_paths - 1);
+ if (0 != mp->route.n_paths)
+ vec_validate (rpaths, mp->route.n_paths - 1);
for (ii = 0; ii < mp->route.n_paths; ii++)
{
goto out;
}
- fib_api_route_add_del (mp->is_add,
- mp->is_multipath,
- fib_index, &pfx, entry_flags, rpaths);
+ rv = fib_api_route_add_del (mp->is_add,
+ mp->is_multipath,
+ fib_index, &pfx, entry_flags, rpaths);
if (mp->is_add && 0 == rv)
*stats_index = fib_table_entry_get_stats_index (fib_index, &pfx);
send_ip_details (am, reg, sw_if_index, mp->is_ipv6, mp->context);
}
}
+
+ vec_free (sorted_sis);
}
static void
BAD_SW_IF_INDEX_LABEL;
- REPLY_MACRO (VL_API_PROXY_ARP_INTFC_ENABLE_DISABLE_REPLY);
+ REPLY_MACRO (VL_API_IP_PROBE_NEIGHBOR_REPLY);
}
static void
int rv = 0;
if (mp->is_ip6)
{
- rv = ip6_reass_set (clib_net_to_host_u32 (mp->timeout_ms),
- clib_net_to_host_u32 (mp->max_reassemblies),
- clib_net_to_host_u32 (mp->max_reassembly_length),
- clib_net_to_host_u32 (mp->expire_walk_interval_ms));
+ rv = ip6_full_reass_set (clib_net_to_host_u32 (mp->timeout_ms),
+ clib_net_to_host_u32 (mp->max_reassemblies),
+ clib_net_to_host_u32
+ (mp->max_reassembly_length),
+ clib_net_to_host_u32
+ (mp->expire_walk_interval_ms));
}
else
{
- rv = ip4_reass_set (clib_net_to_host_u32 (mp->timeout_ms),
- clib_net_to_host_u32 (mp->max_reassemblies),
- clib_net_to_host_u32 (mp->max_reassembly_length),
- clib_net_to_host_u32 (mp->expire_walk_interval_ms));
+ rv = ip4_full_reass_set (clib_net_to_host_u32 (mp->timeout_ms),
+ clib_net_to_host_u32 (mp->max_reassemblies),
+ clib_net_to_host_u32
+ (mp->max_reassembly_length),
+ clib_net_to_host_u32
+ (mp->expire_walk_interval_ms));
}
REPLY_MACRO (VL_API_IP_REASSEMBLY_SET_REPLY);
if (mp->is_ip6)
{
rmp->is_ip6 = 1;
- ip6_reass_get (&rmp->timeout_ms, &rmp->max_reassemblies,
- &rmp->expire_walk_interval_ms);
+ ip6_full_reass_get (&rmp->timeout_ms, &rmp->max_reassemblies,
+ &rmp->max_reassembly_length,
+ &rmp->expire_walk_interval_ms);
}
else
{
rmp->is_ip6 = 0;
- ip4_reass_get (&rmp->timeout_ms, &rmp->max_reassemblies,
- &rmp->max_reassembly_length,
- &rmp->expire_walk_interval_ms);
+ ip4_full_reass_get (&rmp->timeout_ms, &rmp->max_reassemblies,
+ &rmp->max_reassembly_length,
+ &rmp->expire_walk_interval_ms);
}
rmp->timeout_ms = clib_host_to_net_u32 (rmp->timeout_ms);
rmp->max_reassemblies = clib_host_to_net_u32 (rmp->max_reassemblies);
{
vl_api_ip_reassembly_enable_disable_reply_t *rmp;
int rv = 0;
- rv = ip4_reass_enable_disable (clib_net_to_host_u32 (mp->sw_if_index),
- mp->enable_ip4);
+ rv = ip4_full_reass_enable_disable (clib_net_to_host_u32 (mp->sw_if_index),
+ mp->enable_ip4);
if (0 == rv)
{
- rv = ip6_reass_enable_disable (clib_net_to_host_u32 (mp->sw_if_index),
- mp->enable_ip6);
+ rv =
+ ip6_full_reass_enable_disable (clib_net_to_host_u32 (mp->sw_if_index),
+ mp->enable_ip6);
}
REPLY_MACRO (VL_API_IP_REASSEMBLY_ENABLE_DISABLE_REPLY);