called through a shared memory interface.
*/
+/** \brief Add / del table request
+ A table can be added multiple times, but need be deleted only once.
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param is_ipv6 - V4 or V6 table
+ @param table_id - table ID associated with the route
+ This table ID will apply to both the unicats
+ and mlticast FIBs
+ @param name - A client provided name/tag for the table. If this is
+ not set by the client, then VPP will generate something
+ meaningfull.
+*/
+autoreply define ip_table_add_del
+{
+ u32 client_index;
+ u32 context;
+ u32 table_id;
+ u8 is_ipv6;
+ u8 is_add;
+ u8 name[64];
+};
+
/** \brief Dump IP fib table
@param client_index - opaque cookie to identify the sender
*/
/** \brief FIB path
@param sw_if_index - index of the interface
@param weight - The weight, for UCMP
+ @param preference - The preference of the path. lowest preference is prefered
@param is_local - local if non-zero, else remote
@param is_drop - Drop the packet
@param is_unreach - Drop the packet and rate limit send ICMP unreachable
typeonly manual_print manual_endian define fib_path
{
u32 sw_if_index;
- u32 weight;
+ u8 weight;
+ u8 preference;
u8 is_local;
u8 is_drop;
u8 is_unreach;
{
u32 context;
u32 table_id;
+ u8 table_name[64];
u8 address_length;
u8 address[4];
u32 count;
u32 context;
};
-/** \brief IP6 FIB table response
+/** \brief IP6 FIB table entry response
@param table_id - IP6 fib table id
- @address_length - mask length
- @address - ip6 prefix
+ @param address_length - mask length
+ @param address - ip6 prefix
@param count - the number of fib_path in path
@param path - array of of fib_path structures
*/
{
u32 context;
u32 table_id;
+ u8 table_name[64];
u8 address_length;
u8 address[16];
u32 count;
/* Is last/not-last message in group of multiple add/del messages. */
u8 not_last;
u8 next_hop_weight;
+ u8 next_hop_preference;
u8 dst_address_length;
u8 dst_address[16];
u8 next_hop_address[16];