X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fip.api;h=3072e3e7c63d8f773993ca903d032224c6b393b9;hb=3d5f08a82;hp=5624bcfaf6a71e299d2334021328a1fac405917a;hpb=c0e9441e79b63ea09d5b282910d104960d45026d;p=vpp.git diff --git a/src/vnet/ip/ip.api b/src/vnet/ip/ip.api index 5624bcfaf6a..3072e3e7c63 100644 --- a/src/vnet/ip/ip.api +++ b/src/vnet/ip/ip.api @@ -20,7 +20,7 @@ called through a shared memory interface. */ -option version = "3.0.1"; +option version = "3.0.3"; import "vnet/interface_types.api"; import "vnet/fib/fib_types.api"; @@ -124,7 +124,7 @@ autoreply define ip_table_flush @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; @@ -184,12 +184,38 @@ define ip_route_dump /** \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 @@ -205,6 +231,7 @@ manual_endian manual_print define ip_route_details */ autoreply define set_ip_flow_hash { + option deprecated; u32 client_index; u32 context; u32 vrf_id; @@ -218,6 +245,52 @@ autoreply define set_ip_flow_hash 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 Set the ip flow hash router ID + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param router_id - The ID of the router. Mixed into the hash. + Used to prevent polarisation across a network, + since each router is assumed to have a different ID +*/ +autoreply define set_ip_flow_hash_router_id +{ + u32 client_index; + u32 context; + u32 router_id; +}; + /** \brief IPv6 interface enable / disable request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -278,7 +351,7 @@ define ip_mtable_details 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; @@ -313,7 +386,7 @@ define ip_mroute_dump /** \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; @@ -523,6 +596,29 @@ autoreply define sw_interface_ip6_set_link_local_address 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