called through a shared memory interface.
*/
-option version = "3.0.1";
+option version = "3.0.2";
import "vnet/interface_types.api";
import "vnet/fib/fib_types.api";
@param context - sender context
@param table - description of the table
*/
-manual_endian manual_print define ip_table_details
+define ip_table_details
{
u32 context;
vl_api_ip_table_t table;
/** \brief IP FIB table entry response
@param route The route entry in the table
*/
-manual_endian manual_print define ip_route_details
+define ip_route_details
{
u32 context;
vl_api_ip_route_t route;
};
+/** \brief Lookup IP route from a table
+ @param client_index - opaque cookie to identify the sender
+ @param table_id - The IP table to look the route up in
+ @param exact - 0 for normal route lookup, 1 for exact match only
+ @param prefix - The prefix (or host) for route lookup.
+*/
+define ip_route_lookup
+{
+ u32 client_index;
+ u32 context;
+ u32 table_id;
+ u8 exact;
+ vl_api_prefix_t prefix;
+};
+
+/** \brief IP FIB table lookup response
+ @param retval - return code of the lookup
+ @param route - The route entry in the table if found
+*/
+define ip_route_lookup_reply
+{
+ u32 context;
+ i32 retval;
+ vl_api_ip_route_t route;
+};
+
/** \brief Set the ip flow hash config for a fib request
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
*/
autoreply define set_ip_flow_hash
{
+ option deprecated;
u32 client_index;
u32 context;
u32 vrf_id;
bool symmetric;
};
+/**
+ @brief flow hash settings for an IP table
+ @param src - include src in flow hash
+ @param dst - include dst in flow hash
+ @param sport - include sport in flow hash
+ @param dport - include dport in flow hash
+ @param proto - include proto in flow hash
+ @param reverse - include reverse in flow hash
+ @param symmetric - include symmetry in flow hash
+ @param flowlabel - include flowlabel in flow hash
+*/
+enumflag ip_flow_hash_config
+{
+ IP_API_FLOW_HASH_SRC_IP = 0x01,
+ IP_API_FLOW_HASH_DST_IP = 0x02,
+ IP_API_FLOW_HASH_SRC_PORT = 0x04,
+ IP_API_FLOW_HASH_DST_PORT = 0x08,
+ IP_API_FLOW_HASH_PROTO = 0x10,
+ IP_API_FLOW_HASH_REVERSE = 0x20,
+ IP_API_FLOW_HASH_SYMETRIC = 0x40,
+ IP_API_FLOW_HASH_FLOW_LABEL = 0x80,
+};
+
+autoreply define set_ip_flow_hash_v2
+{
+ u32 client_index;
+ u32 context;
+ u32 table_id;
+ vl_api_address_family_t af;
+ vl_api_ip_flow_hash_config_t flow_hash_config;
+};
+
/** \brief IPv6 interface enable / disable request
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
typedef ip_mroute
{
u32 table_id;
- u32 entry_flags;
+ vl_api_mfib_entry_flags_t entry_flags;
u32 rpf_id;
vl_api_mprefix_t prefix;
u8 n_paths;
/** \brief IP Multicast Route Details
@param route - Details of the route
*/
-manual_endian manual_print define ip_mroute_details
+define ip_mroute_details
{
u32 context;
vl_api_ip_mroute_t route;
vl_api_ip6_address_t ip;
};
+/** \brief IPv6 get link local address on interface request
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param sw_if_index - interface to set link local on
+*/
+define sw_interface_ip6_get_link_local_address
+{
+ u32 client_index;
+ u32 context;
+ vl_api_interface_index_t sw_if_index;
+};
+
+/** \brief IPv6 link local address detail
+ @param context - sender context, to match reply w/ request
+ @param ip - the link local address
+*/
+define sw_interface_ip6_get_link_local_address_reply
+{
+ u32 context;
+ i32 retval;
+ vl_api_ip6_address_t ip;
+};
+
/** \brief IOAM enable : Enable in-band OAM
@param id - profile id
@param seqno - To enable Seqno Processing