X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Flisp-gpe%2Flisp_gpe.api;h=09c1e846bfb781f0bd78c5cb0655763cdd9d5c50;hb=9d42087;hp=3956b97d6a16b0c09648d7a67b461e7640807563;hpb=7cd468a3d7dee7d6c92f69a0bb7061ae208ec727;p=vpp.git diff --git a/src/vnet/lisp-gpe/lisp_gpe.api b/src/vnet/lisp-gpe/lisp_gpe.api index 3956b97d6a1..09c1e846bfb 100644 --- a/src/vnet/lisp-gpe/lisp_gpe.api +++ b/src/vnet/lisp-gpe/lisp_gpe.api @@ -13,7 +13,21 @@ * limitations under the License. */ -/** \brief add or delete lisp gpe tunnel +option version = "1.0.0"; + +/** \brief GPE locator structure + @param is_ip4 - whether addr is IPv4 or v6 + @param weight - locator weight + @param addr - IPv4/6 address +*/ +typeonly manual_print manual_endian define gpe_locator +{ + u8 is_ip4; + u8 weight; + u8 addr[16]; +}; + +/** \brief add or delete GPE tunnel @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param is_add - add address if non-zero, else delete @@ -27,12 +41,11 @@ @param lcl_len - local prefix len @param vni - virtual network identifier @param dp_table - vrf/bridge domain id - @param loc_num - number of locators - @param lcl_locs - array of local locators - @param rmt_locs - array of remote locators @param action - negative action when 0 locators configured + @param loc_num - number of locators + @param locs - array of remote locators */ -define lisp_gpe_add_del_fwd_entry +manual_print manual_endian define gpe_add_del_fwd_entry { u32 client_index; u32 context; @@ -44,50 +57,36 @@ define lisp_gpe_add_del_fwd_entry u8 lcl_len; u32 vni; u32 dp_table; - u32 loc_num; - u8 lcl_locs[loc_num]; - u8 rmt_locs[loc_num]; u8 action; + u32 loc_num; + vl_api_gpe_locator_t locs[loc_num]; }; -/** \brief Reply for gpe_fwd_entry add/del - @param context - returned sender context, to match reply w/ request - @param retval - return code -*/ -define lisp_gpe_add_del_fwd_entry_reply +define gpe_add_del_fwd_entry_reply { - u32 context; i32 retval; + u32 context; + u32 fwd_entry_index; }; -/** \brief enable or disable lisp-gpe protocol +/** \brief enable or disable gpe protocol @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param is_en - enable protocol if non-zero, else disable */ -define lisp_gpe_enable_disable +autoreply define gpe_enable_disable { u32 client_index; u32 context; u8 is_en; }; -/** \brief Reply for gpe enable/disable - @param context - returned sender context, to match reply w/ request - @param retval - return code -*/ -define lisp_gpe_enable_disable_reply -{ - u32 context; - i32 retval; -}; - /** \brief add or delete gpe_iface @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param is_add - add address if non-zero, else delete */ -define lisp_gpe_add_del_iface +autoreply define gpe_add_del_iface { u32 client_index; u32 context; @@ -97,42 +96,150 @@ define lisp_gpe_add_del_iface u32 vni; }; -/** \brief Reply for gpe_iface add/del +define gpe_fwd_entry_vnis_get +{ + u32 client_index; + u32 context; +}; + +manual_print manual_endian define gpe_fwd_entry_vnis_get_reply +{ + u32 context; + i32 retval; + u32 count; + u32 vnis[count]; +}; + +define gpe_fwd_entries_get +{ + u32 client_index; + u32 context; + u32 vni; +}; + +typeonly manual_print manual_endian define gpe_fwd_entry +{ + u32 fwd_entry_index; + u32 dp_table; + u8 eid_type; + u8 leid_prefix_len; + u8 reid_prefix_len; + u8 leid[16]; + u8 reid[16]; + u32 vni; + u8 action; +}; + +manual_print manual_endian define gpe_fwd_entries_get_reply +{ + u32 context; + i32 retval; + u32 count; + vl_api_gpe_fwd_entry_t entries[count]; +}; + +define gpe_fwd_entry_path_dump +{ + u32 client_index; + u32 context; + u32 fwd_entry_index; +}; + +manual_endian manual_print define gpe_fwd_entry_path_details +{ + u32 client_index; + u32 context; + vl_api_gpe_locator_t lcl_loc; + vl_api_gpe_locator_t rmt_loc; +}; + +/** \brief Set GPE encapsulation mode + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param mode - LISP (value 0) or VXLAN (value 1) +*/ +autoreply define gpe_set_encap_mode +{ + u32 client_index; + u32 context; + u8 mode; +}; + +/** \brief get GPE encapsulation mode + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param mode - LISP (value 0) or VXLAN (value 1) +*/ +define gpe_get_encap_mode +{ + u32 client_index; + u32 context; +}; + +/** \brief Reply for set_encap_mode @param context - returned sender context, to match reply w/ request @param retval - return code + @param encap_mode - GPE encapsulation mode */ -define lisp_gpe_add_del_iface_reply +define gpe_get_encap_mode_reply { u32 context; i32 retval; + u8 encap_mode; }; -define lisp_gpe_tunnel_details +/** \brief Add native fwd rpath + @param context - returned sender context, to match reply w/ request + @param retval - return code + @param is_add - flag to indicate add or del + @param table_id - table id for route path + @param nh_sw_if_index - next-hop sw_if_index (~0 if not set) + @param is_ip4 - flag to indicate if nh is ip4 + @param nh_addr - next hop ip address +*/ +autoreply define gpe_add_del_native_fwd_rpath { + u32 client_index; u32 context; - u32 tunnels; - u8 is_ipv6; - u8 source_ip[16]; - u8 destination_ip[16]; - u32 encap_fib_id; - u32 decap_fib_id; - u32 dcap_next; - u8 lisp_ver; - u8 next_protocol; - u8 flags; - u8 ver_res; - u8 res; - u32 iid; + u8 is_add; + u32 table_id; + u32 nh_sw_if_index; + u8 is_ip4; + u8 nh_addr[16]; }; -/** \brief Request for gpe tunnel summary status +/** \brief get GPE native fwd rpath @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request - */ -define lisp_gpe_tunnel_dump +*/ +define gpe_native_fwd_rpaths_get { u32 client_index; u32 context; + u8 is_ip4; +}; + +/** \brief Reply for get native fwd rpath + @param context - returned sender context, to match reply w/ request + @param retval - return code + @param table_id - table id for route path + @param nh_sw_if_index - next-hop sw_if_index (~0 if not set) + @param nh_addr - next hop address +*/ +typeonly manual_print manual_endian define gpe_native_fwd_rpath +{ + u32 fib_index; + u32 nh_sw_if_index; + u8 is_ip4; + u8 nh_addr[16]; +}; + +manual_print manual_endian define gpe_native_fwd_rpaths_get_reply +{ + u32 context; + i32 retval; + u32 count; + vl_api_gpe_native_fwd_rpath_t entries[count]; }; /* @@ -140,4 +247,4 @@ define lisp_gpe_tunnel_dump * eval: (c-set-style "gnu") * End: */ - \ No newline at end of file +