X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=vpp%2Fapi%2Fvpe.api;h=9c90c338e73d8b21677542632d8dde481316c7d9;hb=df921cc65a25f6fb71b1169db6ff004b4e45430e;hp=88b6070083dd25da4f202b65794ac9b899f67815;hpb=27fe48f6990d00829c5b60f7cc4b532705baea25;p=vpp.git diff --git a/vpp/api/vpe.api b/vpp/api/vpe.api index 88b6070083d..9c90c338e73 100644 --- a/vpp/api/vpe.api +++ b/vpp/api/vpe.api @@ -1145,6 +1145,7 @@ define l2_patch_add_del_reply { @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param is_add - add the tunnel if non-zero, else delete it + @param name[] - tunnel name (len. 64) @param src_address[] - @param dst_address[] - @param dst_mask_width - @@ -1154,11 +1155,13 @@ define l2_patch_add_del_reply { @param n_segments - @param n_tags - @param segs_and_tags[] - + @param policy_name[] - name of policy to associate this tunnel to (len. 64) */ define sr_tunnel_add_del { u32 client_index; u32 context; u8 is_add; + u8 name[64]; u8 src_address[16]; u8 dst_address[16]; u8 dst_mask_width; @@ -1168,6 +1171,7 @@ define sr_tunnel_add_del { u8 n_segments; u8 n_tags; u8 segs_and_tags[0]; + u8 policy_name[64]; }; /** \brief IPv6 segment routing tunnel add / del response @@ -1179,6 +1183,54 @@ define sr_tunnel_add_del_reply { i32 retval; }; +/** \brief IPv6 segment routing policy add / del request + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param is_add - add the tunnel if non-zero, else delete it + @param name[] - policy name (len. 64) + @param tunnel_names[] - +*/ +define sr_policy_add_del { + u32 client_index; + u32 context; + u8 is_add; + u8 name[64]; + u8 tunnel_names[0]; +}; + +/** \brief IPv6 segment routing policy add / del response + @param context - sender context, to match reply w/ request + @param retval - return value for request +*/ +define sr_policy_add_del_reply { + u32 context; + i32 retval; +}; + +/** \brief IPv6 segment routing multicast map to policy add / del request + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param is_add - add the tunnel if non-zero, else delete it + @param multicast_address[] - IP6 multicast address + @param policy_name[] = policy name (len.64) +*/ +define sr_multicast_map_add_del { + u32 client_index; + u32 context; + u8 is_add; + u8 multicast_address[16]; + u8 policy_name[64]; +}; + +/** \brief IPv6 segment routing multicast map to policy add / del response + @param context - sender context, to match reply w/ request + @param retval - return value for request +*/ +define sr_multicast_map_add_del_reply { + u32 context; + i32 retval; +}; + /** \brief Interface set vpath request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -1978,35 +2030,6 @@ manual_java define show_version_reply { u8 build_directory[256]; }; -define nsh_gre_add_del_tunnel { - u32 client_index; - u32 context; - u32 src; - u32 dst; - u32 encap_vrf_id; - u32 decap_vrf_id; - u32 decap_next_index; - u8 tlv_len_in_words; - u8 is_add; - u8 ver_o_c; - u8 length; - u8 md_type; - u8 next_protocol; - /* in network byte order */ - u32 spi_si; - u32 c1; - u32 c2; - u32 c3; - u32 c4; - u32 tlvs[0]; -}; - -define nsh_gre_add_del_tunnel_reply { - u32 context; - i32 retval; - u32 sw_if_index; -}; - /** \brief Vhost-user interface details structure (fix this) @param sw_if_index - index of the interface @param interface_name - name of interface @@ -2087,58 +2110,25 @@ manual_java define l2_fib_table_dump { u32 bd_id; }; -define nsh_vxlan_gpe_add_del_tunnel { +define vxlan_gpe_add_del_tunnel { u32 client_index; u32 context; - u32 src; - u32 dst; + u8 is_ipv6; + u8 local[16]; + u8 remote[16]; u32 encap_vrf_id; u32 decap_vrf_id; - u32 decap_next_index; + u8 protocol; u32 vni; - u8 tlv_len_in_words; u8 is_add; - u8 ver_o_c; - u8 length; - u8 md_type; - u8 next_protocol; - /* in network byte order */ - u32 spi_si; - u32 c1; - u32 c2; - u32 c3; - u32 c4; - u32 tlvs[0]; }; -define nsh_vxlan_gpe_add_del_tunnel_reply { +define vxlan_gpe_add_del_tunnel_reply { u32 context; i32 retval; u32 sw_if_index; }; -define lisp_gpe_add_del_tunnel { - u32 client_index; - u32 context; - u32 src; - u32 dst; - u32 encap_vrf_id; - u32 decap_vrf_id; - u32 decap_next_index; - u8 is_add; - u8 flags; - u8 ver_res; - u8 res; - u8 next_protocol; - /* in network byte order */ - u32 iid; -}; - -define lisp_gpe_add_del_tunnel_reply { - u32 context; - i32 retval; - u32 sw_if_index; -}; /** \brief add or delete locator_set @param client_index - opaque cookie to identify the sender @@ -2294,6 +2284,26 @@ define lisp_gpe_enable_disable_reply { i32 retval; }; +/** \brief enable or disable LISP feature + @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_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_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 @@ -2316,6 +2326,65 @@ define lisp_gpe_add_del_iface_reply { i32 retval; }; +/** \brief configure or disable LISP PITR node + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param ls_name - locator set name + @param is_add - add locator set if non-zero, else disable pitr +*/ +define lisp_pitr_set_locator_set { + u32 client_index; + u32 context; + u8 is_add; + u8 ls_name[64]; +}; + +/** \brief Reply for lisp_pitr_set_locator_set + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define lisp_pitr_set_locator_set_reply { + u32 context; + i32 retval; +}; + +/** \brief add or delete remote static mapping + @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 vni - virtual network instance + @param action - negative map-reply action + @param eid_is_ip4 - ipv4/6 of source and destination EIDs + @param deid - destination EID + @param seid - source EID + @param rloc_num - number of remote locators + @param rlocs - remote locator data +*/ +define lisp_add_del_remote_mapping { + u32 client_index; + u32 context; + u8 is_add; + u32 vni; + u8 action; + u8 eid_is_ip4; + u8 deid[16]; + u8 seid[16]; + u8 deid_len; + u8 seid_len; + u32 rloc_num; + u8 rlocs[0]; +}; + +/** \brief Reply for lisp_add_del_remote_mapping + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ + +define lisp_add_del_remote_mapping_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 @@ -2324,8 +2393,12 @@ define lisp_gpe_add_del_iface_reply { */ manual_java define lisp_locator_set_details { u32 context; + u8 local; u8 locator_set_name[64]; u32 sw_if_index; + u8 is_ipv6; + u8 ip_address[16]; + u8 prefix_len; u8 priority; u8 weight; }; @@ -2408,6 +2481,25 @@ define lisp_map_resolver_dump { u32 context; }; +/** \brief Status of lisp-gpe protocol, enable or disable + @param context - sender context, to match reply w/ request + @param is_en - enable protocol if non-zero, else disable +*/ +manual_java define lisp_enable_disable_status_details { + u32 context; + u8 feature_status; + u8 gpe_status; +}; + +/** \brief Request for lisp-gpe protocol status + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request +*/ +define lisp_enable_disable_status_dump { + u32 client_index; + u32 context; +}; + /* Gross kludge, DGMS */ define interface_name_renumber { u32 client_index; @@ -3308,3 +3400,194 @@ define trace_profile_del_reply { u32 context; i32 retval; }; + +/** \brief Create host-interface + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param host_if_name - interface name + @param hw_addr - interface MAC + @param use_random_hw_addr - use random generated MAC +*/ +define af_packet_create { + u32 client_index; + u32 context; + + u8 host_if_name[64]; + u8 hw_addr[6]; + u8 use_random_hw_addr; +}; + +/** \brief Create host-interface response + @param context - sender context, to match reply w/ request + @param retval - return value for request +*/ +define af_packet_create_reply { + u32 context; + i32 retval; +}; + +/** \brief Delete host-interface + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param host_if_name - interface name +*/ +define af_packet_delete { + u32 client_index; + u32 context; + + u8 host_if_name[64]; +}; + +/** \brief Delete host-interface response + @param context - sender context, to match reply w/ request + @param retval - return value for request +*/ +define af_packet_delete_reply { + u32 context; + i32 retval; +}; + +/** \brief Add/del policer + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param is_add - add policer if non-zero, else delete + @param name - policer name + @param cir - CIR + @param eir - EIR + @param cb - Committed Burst + @param eb - Excess or Peak Burst + @param rate_type - rate type + @param round_type - rounding type + @param type - policer algorithm +*/ +define policer_add_del { + u32 client_index; + u32 context; + + u8 is_add; + u8 name[64]; + u32 cir; + u32 eir; + u64 cb; + u64 eb; + u8 rate_type; + u8 round_type; + u8 type; +}; + +/** \brief Add/del policer response + @param context - sender context, to match reply w/ request + @param retval - return value for request +*/ +define policer_add_del_reply { + u32 context; + i32 retval; +}; + +/** \brief Get list of policers + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param match_name_valid - if 0 request all policers otherwise use match_name + @param match_name - policer name +*/ +define policer_dump { + u32 client_index; + u32 context; + + u8 match_name_valid; + u8 match_name[64]; +}; + +/** \brief Policer operational state response. + @param context - sender context, to match reply w/ request + @param name - policer name + @param cir - CIR + @param eir - EIR + @param cb - Committed Burst + @param eb - Excess or Peak Burst + @param rate_type - rate type + @param round_type - rounding type + @param type - policer algorithm + @param single_rate - 1 = single rate policer, 0 = two rate policer + @param color_aware - for hierarchical policing + @param scale - power-of-2 shift amount for lower rates + @param cir_tokens_per_period - number of tokens for each period + @param pir_tokens_per_period - number of tokens for each period for 2-rate policer + @param current_limit - current limit + @param current_bucket - current bucket + @param extended_limit - extended limit + @param extended_bucket - extended bucket + @param last_update_time - last update time +*/ +manual_java define policer_details { + u32 context; + + u8 name[64]; + u32 cir; + u32 eir; + u64 cb; + u64 eb; + u8 rate_type; + u8 round_type; + u8 type; + u8 single_rate; + u8 color_aware; + u32 scale; + u32 cir_tokens_per_period; + u32 pir_tokens_per_period; + u32 current_limit; + u32 current_bucket; + u32 extended_limit; + u32 extended_bucket; + u64 last_update_time; +}; + +/** \brief Create netmap + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param netmap_if_name - interface name + @param hw_addr - interface MAC + @param use_random_hw_addr - use random generated MAC + @param is_pipe - is pipe + @param is_master - 0=slave, 1=master +*/ +define netmap_create { + u32 client_index; + u32 context; + + u8 netmap_if_name[64]; + u8 hw_addr[6]; + u8 use_random_hw_addr; + u8 is_pipe; + u8 is_master; +}; + +/** \brief Create netmap response + @param context - sender context, to match reply w/ request + @param retval - return value for request +*/ +define netmap_create_reply { + u32 context; + i32 retval; +}; + +/** \brief Delete netmap + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param netmap_if_name - interface name +*/ +define netmap_delete { + u32 client_index; + u32 context; + + u8 netmap_if_name[64]; +}; + +/** \brief Delete netmap response + @param context - sender context, to match reply w/ request + @param retval - return value for request +*/ +define netmap_delete_reply { + u32 context; + i32 retval; +};