X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=vpp%2Fapi%2Fvpe.api;h=88b6070083dd25da4f202b65794ac9b899f67815;hb=refs%2Fchanges%2F21%2F921%2F4;hp=29cd1badcbc3ec9c6852295799c06d2d17b7efcd;hpb=00bbf276be22fa0458366d4dd3f4daf4e55d13e7;p=vpp.git diff --git a/vpp/api/vpe.api b/vpp/api/vpe.api index 29cd1badcbc..88b6070083d 100644 --- a/vpp/api/vpe.api +++ b/vpp/api/vpe.api @@ -67,6 +67,7 @@ define want_interface_events_reply { @param vtr_tag2 */ manual_java define sw_interface_details { + u32 context; u32 sw_if_index; /* index of sup interface (e.g. hw interface). @@ -819,85 +820,6 @@ define dhcp_proxy_set_vss_reply { i32 retval; }; -/* - * These messages bounce off the dataplane and are not otherwise - * interpreted; each has its own publish / subscribe API. - * If the dataplane receives one of these and doesn't have an - * active subscription for it, the message will be silently freed. - */ - -define from_netconf_server { - u32 client_index; - u32 context; - u8 data[0]; -}; - -define want_from_netconf_server { - u32 client_index; - u32 context; - u32 enable_disable; - u32 pid; -}; - -define want_from_netconf_server_reply { - u32 context; - i32 retval; -}; - -define to_netconf_server { - u32 client_index; - u32 context; - u8 data[0]; -}; - -define want_to_netconf_server { - u32 client_index; - u32 context; - u32 enable_disable; - u32 pid; -}; - -define want_to_netconf_server_reply { - u32 context; - i32 retval; -}; - -define from_netconf_client { - u32 client_index; - u32 context; - u8 data[0]; -}; - -define want_from_netconf_client { - u32 client_index; - u32 context; - u32 enable_disable; - u32 pid; -}; - -define want_from_netconf_client_reply { - u32 context; - i32 retval; -}; - -define to_netconf_client { - u32 client_index; - u32 context; - u8 data[0]; -}; - -define want_to_netconf_client { - u32 client_index; - u32 context; - u32 enable_disable; - u32 pid; -}; - -define want_to_netconf_client_reply { - u32 context; - i32 retval; -}; - /** \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 @@ -1762,6 +1684,7 @@ define l2tpv3_set_tunnel_cookies_reply { }; manual_java define sw_if_l2tpv3_tunnel_details { + u32 context; u32 sw_if_index; u8 interface_name[64]; u8 client_address [16]; @@ -1846,8 +1769,9 @@ define vxlan_add_del_tunnel { u32 client_index; u32 context; u8 is_add; - u32 src_address; - u32 dst_address; + u8 is_ipv6; + u8 src_address[16]; + u8 dst_address[16]; u32 encap_vrf_id; u32 decap_next_index; u32 vni; @@ -1868,11 +1792,41 @@ manual_java define vxlan_tunnel_dump { manual_java define vxlan_tunnel_details { u32 context; u32 sw_if_index; - u32 src_address; - u32 dst_address; + u8 src_address[16]; + u8 dst_address[16]; u32 encap_vrf_id; u32 decap_next_index; u32 vni; + u8 is_ipv6; +}; + +define gre_add_del_tunnel { + u32 client_index; + u32 context; + u8 is_add; + u32 src_address; + u32 dst_address; + u32 outer_table_id; +}; + +define gre_add_del_tunnel_reply { + u32 context; + i32 retval; + u32 sw_if_index; +}; + +manual_java define gre_tunnel_dump { + u32 client_index; + u32 context; + u32 sw_if_index; +}; + +manual_java define gre_tunnel_details { + u32 context; + u32 sw_if_index; + u32 src_address; + u32 dst_address; + u32 outer_table_id; }; /** \brief L2 interface vlan tag rewrite configure request @@ -2063,6 +2017,7 @@ define nsh_gre_add_del_tunnel_reply { @param num_regions - number of used memory regions */ manual_java define sw_interface_vhost_user_details { + u32 context; u32 sw_if_index; u8 interface_name[64]; u32 virtio_net_hdr_sz; @@ -2113,6 +2068,7 @@ define ip_dump { @param bvi_mac - the mac address is a bridge virtual interface */ manual_java define l2_fib_table_entry { + u32 context; u32 bd_id; u64 mac; u32 sw_if_index; @@ -2184,6 +2140,274 @@ define lisp_gpe_add_del_tunnel_reply { u32 sw_if_index; }; +/** \brief add or delete locator_set + @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 + @param locator_set_name - locator name +*/ +define lisp_add_del_locator_set { + u32 client_index; + u32 context; + u8 is_add; + u8 locator_set_name[64]; +}; + +/** \brief Reply for locator_set add/del + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define lisp_add_del_locator_set_reply { + u32 context; + i32 retval; +}; + +/** \brief add or delete locator for locator_set + @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 + @param locator_set_name - name of locator_set to add/del locator + @param sw_if_index - index of the interface + @param priority - priority of the lisp locator + @param weight - weight of the lisp locator +*/ +define lisp_add_del_locator { + u32 client_index; + u32 context; + u8 is_add; + u8 locator_set_name[64]; + u32 sw_if_index; + u8 priority; + u8 weight; +}; + +/** \brief Reply for locator add/del + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define lisp_add_del_locator_reply { + u32 context; + i32 retval; +}; + +/** \brief add or delete lisp eid-table + @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 + @param is_ipv6 - if non-zero the address is ipv6, else ipv4 + @param ip_address - array of address bytes + @param prefix_len - prefix len + @param locator_set_name - name of locator_set to add/del eid-table +*/ +define lisp_add_del_local_eid { + u32 client_index; + u32 context; + u8 is_add; + u8 is_ipv6; + u8 ip_address[16]; + u8 prefix_len; + u8 locator_set_name[64]; +}; + +/** \brief Reply for local_eid add/del + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define lisp_add_del_local_eid_reply { + u32 context; + i32 retval; +}; + +/** \brief add or delete lisp gpe maptunel + @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 + @param eid_is_ipv6 - if non-zero the address is ipv6, else ipv4 + @param eid_ip_address - array of address bytes + @param eid_prefix_len - prefix len + @param address_is_ipv6 - if non-zero the address is ipv6, else ipv4 + @param source_ip_address - array of address bytes + @param destination_ip_address - array of address bytes +*/ +define lisp_gpe_add_del_fwd_entry { + u32 client_index; + u32 context; + u8 is_add; + u8 eid_is_ipv6; + u8 eid_ip_address[16]; + u8 eid_prefix_len; + u8 address_is_ipv6; + u8 source_ip_address[16]; + u8 destination_ip_address[16]; +}; + +/** \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 { + u32 context; + i32 retval; +}; + +/** \brief add or delete map-resolver + @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 + @param is_ipv6 - if non-zero the address is ipv6, else ipv4 + @param ip_address - array of address bytes +*/ +define lisp_add_del_map_resolver { + u32 client_index; + u32 context; + u8 is_add; + u8 is_ipv6; + u8 ip_address[16]; +}; + +/** \brief Reply for map_resolver add/del + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define lisp_add_del_map_resolver_reply { + u32 context; + i32 retval; +}; + +/** \brief enable or disable lisp-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 { + 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 { + u32 client_index; + u32 context; + u8 is_add; + u32 table_id; + u32 vni; +}; + +/** \brief Reply for gpe_iface add/del + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define lisp_gpe_add_del_iface_reply { + u32 context; + i32 retval; +}; + +/** \brief LISP locator_set status + @param locator_set_name - name of the locator_set + @param sw_if_index - sw_if_index of the locator + @param priority - locator priority + @param weight - locator weight + */ +manual_java define lisp_locator_set_details { + u32 context; + u8 locator_set_name[64]; + u32 sw_if_index; + u8 priority; + u8 weight; +}; + +/** \brief Request for locator_set summary status + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + */ +define lisp_locator_set_dump { + u32 client_index; + u32 context; +}; + +/** \brief LISP local eid table status + @param locator_set_name - name of the locator_set + @param eid_is_ipv6 - if non-zero the address is ipv6, else ipv4 + @param eid_ip_address - array of address bytes + @param eid_prefix_len - prefix len + */ +manual_java define lisp_local_eid_table_details { + u32 context; + u8 locator_set_name[64]; + u8 eid_is_ipv6; + u8 eid_ip_address[16]; + u8 eid_prefix_len; +}; + +/** \brief Request for local eid table summary status + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + */ +define lisp_local_eid_table_dump { + u32 client_index; + u32 context; +}; + +manual_java define lisp_gpe_tunnel_details { + 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; +}; + +/** \brief Request for gpe tunnel summary status + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + */ +define lisp_gpe_tunnel_dump { + u32 client_index; + u32 context; +}; + +/** \brief LISP map resolver status + @param locator_set_name - name of the locator_set + @param is_ipv6 - if non-zero the address is ipv6, else ipv4 + @param ip_address - array of address bytes + */ +manual_java define lisp_map_resolver_details { + u32 context; + u8 is_ipv6; + u8 ip_address[16]; +}; + +/** \brief Request for map resolver summary status + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + */ +define lisp_map_resolver_dump { + u32 client_index; + u32 context; +}; + /* Gross kludge, DGMS */ define interface_name_renumber { u32 client_index; @@ -2594,6 +2818,146 @@ define ipsec_sa_set_key_reply { i32 retval; }; +/** \brief IKEv2: Add/delete profile + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + + @param name - IKEv2 profile name + @param is_add - Add IKEv2 profile if non-zero, else delete +*/ +define ikev2_profile_add_del { + u32 client_index; + u32 context; + + u8 name[64]; + u8 is_add; +}; + +/** \brief Reply for IKEv2: Add/delete profile + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define ikev2_profile_add_del_reply { + u32 context; + i32 retval; +}; + +/** \brief IKEv2: Set IKEv2 profile authentication method + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + + @param name - IKEv2 profile name + @param auth_method - IKEv2 authentication method (shared-key-mic/rsa-sig) + @param is_hex - Authentication data in hex format if non-zero, else string + @param data_len - Authentication data length + @param data - Authentication data (for rsa-sig cert file path) +*/ +define ikev2_profile_set_auth { + u32 client_index; + u32 context; + + u8 name[64]; + u8 auth_method; + u8 is_hex; + u32 data_len; + u8 data[0]; +}; + +/** \brief Reply for IKEv2: Set IKEv2 profile authentication method + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define ikev2_profile_set_auth_reply { + u32 context; + i32 retval; +}; + +/** \brief IKEv2: Set IKEv2 profile local/remote identification + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + + @param name - IKEv2 profile name + @param is_local - Identification is local if non-zero, else remote + @param id_type - Identification type + @param data_len - Identification data length + @param data - Identification data +*/ +define ikev2_profile_set_id { + u32 client_index; + u32 context; + + u8 name[64]; + u8 is_local; + u8 id_type; + u32 data_len; + u8 data[0]; +}; + +/** \brief Reply for IKEv2: + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define ikev2_profile_set_id_reply { + u32 context; + i32 retval; +}; + +/** \brief IKEv2: Set IKEv2 profile traffic selector parameters + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + + @param name - IKEv2 profile name + @param is_local - Traffic selector is local if non-zero, else remote + @param proto - Traffic selector IP protocol (if zero not relevant) + @param start_port - The smallest port number allowed by traffic selector + @param end_port - The largest port number allowed by traffic selector + @param start_addr - The smallest address included in traffic selector + @param end_addr - The largest address included in traffic selector +*/ +define ikev2_profile_set_ts { + u32 client_index; + u32 context; + + u8 name[64]; + u8 is_local; + u8 proto; + u16 start_port; + u16 end_port; + u32 start_addr; + u32 end_addr; +}; + +/** \brief Reply for IKEv2: Set IKEv2 profile traffic selector parameters + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define ikev2_profile_set_ts_reply { + u32 context; + i32 retval; +}; + +/** \brief IKEv2: Set IKEv2 local RSA private key + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + + @param key_file - Key file absolute path +*/ +define ikev2_set_local_key { + u32 client_index; + u32 context; + + u8 key_file[256]; +}; + +/** \brief Reply for IKEv2: Set IKEv2 local key + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define ikev2_set_local_key_reply { + u32 context; + i32 retval; +}; + /** \brief Tell client about a DHCP completion event @param client_index - opaque cookie to identify the sender @param pid - client pid registered to receive notification @@ -2708,6 +3072,7 @@ define map_domain_dump { }; manual_java define map_domain_details { + u32 context; u32 domain_index; u8 ip6_prefix[16]; u8 ip4_prefix[4]; @@ -2730,6 +3095,7 @@ define map_rule_dump { }; manual_java define map_rule_details { + u32 context; u8 ip6_dst[16]; u16 psid; }; @@ -2862,3 +3228,83 @@ define sw_interface_clear_stats_reply { u32 context; i32 retval; }; + +/** \brief IOAM Trace : Set TRACE profile + @param id - profile id + @param trace_type - Trace type + @param trace_num_elt - Number of nodes in trace path + @param trace_ppc - Trace PPC (none/encap/decap) + @param trace_tsp - Trace timestamp precision (0-sec,1-ms,2-us,3-ns) + @param trace_app_data - Trace application data, can be any 4 bytes + @param pow_enable - Proof of Work enabled or not flag + @param node_id - Id of this node +*/ +define trace_profile_add { + u32 client_index; + u32 context; + u16 id; + u8 trace_type; + u8 trace_num_elt; + u8 trace_ppc; + u8 trace_tsp; + u32 trace_app_data; + u8 pow_enable; + u32 node_id; +}; + +/** \brief Trace profile add / del response + @param context - sender context, to match reply w/ request + @param retval - return value for request +*/ +define trace_profile_add_reply { + u32 context; + i32 retval; +}; + +/** \brief IOAM Trace enable trace profile for a flow + @param id - id of the trace profile to be applied + @param dest_ipv6 - Destination IPv6 address + @param prefix_length - prefix mask + @param vrf_id - VRF ID + @param trace_op - Trace operation (add/mod/del) + @param enable - apply/remove the trace profile for the flow +*/ +define trace_profile_apply { + u32 client_index; + u32 context; + u16 id; + u8 dest_ipv6[16]; + u32 prefix_length; + u32 vrf_id; + u8 trace_op; + u8 enable; +}; + +/** \brief Trace profile apply response + @param context - sender context, to match reply w/ request + @param retval - return value for request +*/ +define trace_profile_apply_reply { + u32 context; + i32 retval; +}; + +/** \brief Delete Trace Profile + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param index - MAP Domain index +*/ +define trace_profile_del { + u32 client_index; + u32 context; + u16 id; +}; + +/** \brief Trace profile add / del response + @param context - sender context, to match reply w/ request + @param retval - return value for request +*/ +define trace_profile_del_reply { + u32 context; + i32 retval; +};