X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=vpp%2Fvpp-api%2Fvpe.api;h=3e4b933b43da96ba5a37a971e9a5d9549bd9c03b;hb=5ca5dc865143f226e5b6dae002439273856bd88a;hp=c2fbf2eba89cfe86dcbdd9b20c49b840e3dc29ab;hpb=33879c95b865d62b07f8390692dc3c7294a57375;p=vpp.git diff --git a/vpp/vpp-api/vpe.api b/vpp/vpp-api/vpe.api index c2fbf2eba89..3e4b933b43d 100644 --- a/vpp/vpp-api/vpe.api +++ b/vpp/vpp-api/vpe.api @@ -66,7 +66,7 @@ define want_interface_events_reply { @param vtr_tag1 @param vtr_tag2 */ -manual_java define sw_interface_details { +define sw_interface_details { u32 context; u32 sw_if_index; @@ -144,7 +144,7 @@ define sw_interface_set_flags_reply { }; /* works */ -manual_java define sw_interface_dump { +define sw_interface_dump { u32 client_index; u32 context; u8 name_filter_valid; @@ -293,7 +293,7 @@ define sw_interface_tap_dump { @param sw_if_index - software index of tap interface @param dev_name - Linux tap device name */ -manual_java define sw_interface_tap_details { +define sw_interface_tap_details { u32 context; u32 sw_if_index; u8 dev_name[64]; @@ -612,7 +612,7 @@ define want_stats { @param context - returned sender context, to match reply w/ request @param retval - return code */ -manual_java define want_stats_reply { +define want_stats_reply { u32 context; i32 retval; }; @@ -624,7 +624,7 @@ manual_java define want_stats_reply { @param count - number of interfaces this stats block includes counters for @param data - contiguous block of vlib_counter_t structures */ -manual_java define vnet_interface_counters { +define vnet_interface_counters { /* enums - plural - in vnet/interface.h */ u8 vnet_counter_type; u8 is_combined; @@ -640,7 +640,7 @@ typeonly manual_print manual_endian define ip4_fib_counter { u64 bytes; }; -manual_java manual_print manual_endian define vnet_ip4_fib_counters { +manual_print manual_endian define vnet_ip4_fib_counters { u32 vrf_id; u32 count; vl_api_ip4_fib_counter_t c[count]; @@ -653,7 +653,7 @@ typeonly manual_print manual_endian define ip6_fib_counter { u64 bytes; }; -manual_java manual_print manual_endian define vnet_ip6_fib_counters { +manual_print manual_endian define vnet_ip6_fib_counters { u32 vrf_id; u32 count; vl_api_ip6_fib_counter_t c[count]; @@ -687,7 +687,7 @@ define vnet_summary_stats_reply { @param dst_address[] - @param state */ -manual_java define oam_event { +define oam_event { u8 dst_address[4]; u8 state; }; @@ -1055,7 +1055,7 @@ define delete_loopback_reply { @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request */ -manual_java define control_ping { +define control_ping { u32 client_index; u32 context; }; @@ -1066,7 +1066,29 @@ manual_java define control_ping { @param retval - return code for the request @param vpe_pid - the pid of the vpe, returned by the server */ -manual_java define control_ping_reply { +define control_ping_reply { + u32 context; + i32 retval; + u32 client_index; + u32 vpe_pid; +}; + +/** \brief Control ping from client to api server request, no print json output + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request +*/ +define noprint_control_ping { + u32 client_index; + u32 context; +}; + +/** \brief Control ping from the client to the server response + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param retval - return code for the request + @param vpe_pid - the pid of the vpe, returned by the server +*/ +define noprint_control_ping_reply { u32 context; i32 retval; u32 client_index; @@ -1091,7 +1113,7 @@ define cli_request { */ define cli_reply { u32 context; - u32 retval; + i32 retval; u64 reply_in_shmem; }; @@ -1392,6 +1414,7 @@ define l2fib_add_del { u8 is_add; u8 static_mac; u8 filter_mac; + u8 bvi_mac; }; /** \brief L2 FIB add entry response @@ -1424,7 +1447,7 @@ define l2_flags { */ define l2_flags_reply { u32 context; - u32 retval; + i32 retval; u32 resulting_feature_bitmap; }; @@ -1451,7 +1474,7 @@ define bridge_flags { */ define bridge_flags_reply { u32 context; - u32 retval; + i32 retval; u32 resulting_feature_bitmap; }; @@ -1480,7 +1503,7 @@ define bd_ip_mac_add_del { */ define bd_ip_mac_add_del_reply { u32 context; - u32 retval; + i32 retval; }; /** \brief Add/Delete classification table request @@ -1693,6 +1716,7 @@ define dhcp_proxy_config_2_reply { @param remote_session_id - remote tunnel session id @param local_cookie - local tunnel cookie @param l2_sublayer_present - l2 sublayer is present in packets if non-zero + @param encap_vrf_id - fib identifier used for outgoing encapsulated packets */ define l2tpv3_create_tunnel { u32 client_index; @@ -1705,6 +1729,7 @@ define l2tpv3_create_tunnel { u64 local_cookie; u64 remote_cookie; u8 l2_sublayer_present; + u32 encap_vrf_id; }; /** \brief l2tpv3 tunnel interface create response @@ -1735,7 +1760,7 @@ define l2tpv3_set_tunnel_cookies_reply { i32 retval; }; -manual_java define sw_if_l2tpv3_tunnel_details { +define sw_if_l2tpv3_tunnel_details { u32 context; u32 sw_if_index; u8 interface_name[64]; @@ -1835,13 +1860,13 @@ define vxlan_add_del_tunnel_reply { u32 sw_if_index; }; -manual_java define vxlan_tunnel_dump { +define vxlan_tunnel_dump { u32 client_index; u32 context; u32 sw_if_index; }; -manual_java define vxlan_tunnel_details { +define vxlan_tunnel_details { u32 context; u32 sw_if_index; u8 src_address[16]; @@ -1856,9 +1881,10 @@ define gre_add_del_tunnel { u32 client_index; u32 context; u8 is_add; - u32 src_address; - u32 dst_address; - u32 outer_table_id; + u8 is_ipv6; + u8 src_address[16]; + u8 dst_address[16]; + u32 outer_fib_id; }; define gre_add_del_tunnel_reply { @@ -1867,18 +1893,19 @@ define gre_add_del_tunnel_reply { u32 sw_if_index; }; -manual_java define gre_tunnel_dump { +define gre_tunnel_dump { u32 client_index; u32 context; u32 sw_if_index; }; -manual_java define gre_tunnel_details { +define gre_tunnel_details { u32 context; u32 sw_if_index; - u32 src_address; - u32 dst_address; - u32 outer_table_id; + u8 is_ipv6; + u8 src_address[16]; + u8 dst_address[16]; + u32 outer_fib_id; }; /** \brief L2 interface vlan tag rewrite configure request @@ -2021,7 +2048,7 @@ define show_version { @param version - version of the program @param build_directory - root of the workspace where the program was built */ -manual_java define show_version_reply { +define show_version_reply { u32 context; i32 retval; u8 program[32]; @@ -2039,7 +2066,7 @@ manual_java define show_version_reply { @param sock_filename - socket filename @param num_regions - number of used memory regions */ -manual_java define sw_interface_vhost_user_details { +define sw_interface_vhost_user_details { u32 context; u32 sw_if_index; u8 interface_name[64]; @@ -2057,21 +2084,21 @@ define sw_interface_vhost_user_dump { u32 context; }; -manual_java define ip_address_details { +define ip_address_details { u32 client_index; u32 context; u8 ip[16]; u8 prefix_length; }; -manual_java define ip_address_dump { +define ip_address_dump { u32 client_index; u32 context; u32 sw_if_index; u8 is_ipv6; }; -manual_java define ip_details { +define ip_details { u32 sw_if_index; u32 context; }; @@ -2090,7 +2117,7 @@ define ip_dump { @param filter_mac - the entry is a mac filter entry. @param bvi_mac - the mac address is a bridge virtual interface */ -manual_java define l2_fib_table_entry { +define l2_fib_table_entry { u32 context; u32 bd_id; u64 mac; @@ -2104,7 +2131,7 @@ manual_java define l2_fib_table_entry { @param client_index - opaque cookie to identify the sender @param bd_id - the l2 fib / bridge domain table identifier */ -manual_java define l2_fib_table_dump { +define l2_fib_table_dump { u32 client_index; u32 context; u32 bd_id; @@ -2129,13 +2156,13 @@ define vxlan_gpe_add_del_tunnel_reply { u32 sw_if_index; }; -manual_java define vxlan_gpe_tunnel_dump { +define vxlan_gpe_tunnel_dump { u32 client_index; u32 context; u32 sw_if_index; }; -manual_java define vxlan_gpe_tunnel_details { +define vxlan_gpe_tunnel_details { u32 context; u32 sw_if_index; u8 local[16]; @@ -2152,12 +2179,16 @@ manual_java define vxlan_gpe_tunnel_details { @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 + @param locator_num - number of locators + @param locators - Lisp locator data */ define lisp_add_del_locator_set { u32 client_index; u32 context; u8 is_add; u8 locator_set_name[64]; + u32 locator_num; + u8 locators[locator_num]; }; /** \brief Reply for locator_set add/del @@ -2374,6 +2405,7 @@ define lisp_pitr_set_locator_set_reply { @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_src_dst - flag indicating src/dst based routing policy @param del_all - if set, delete all remote mappings @param vni - virtual network instance @param action - negative map-reply action @@ -2381,8 +2413,8 @@ define lisp_pitr_set_locator_set_reply { 0 : ipv4 1 : ipv6 2 : mac - @param deid - destination EID - @param seid - source EID + @param deid - dst EID + @param seid - src EID, valid only if is_src_dst is enabled @param rloc_num - number of remote locators @param rlocs - remote locator data */ @@ -2390,28 +2422,61 @@ define lisp_add_del_remote_mapping { u32 client_index; u32 context; u8 is_add; + u8 is_src_dst; u8 del_all; u32 vni; u8 action; u8 eid_type; - u8 deid[16]; + u8 eid[16]; + u8 eid_len; u8 seid[16]; - u8 deid_len; u8 seid_len; u32 rloc_num; - u8 rlocs[0]; + u8 rlocs[rloc_num]; }; /** \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 add or delete LISP adjacency adjacency + @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 eid_type - + 0 : ipv4 + 1 : ipv6 + 2 : mac + @param deid - destination EID + @param seid - source EID +*/ +define lisp_add_del_adjacency { + u32 client_index; + u32 context; + u8 is_add; + u32 vni; + u8 eid_type; + u8 deid[16]; + u8 seid[16]; + u8 deid_len; + u8 seid_len; +}; + +/** \brief Reply for lisp_add_del_adjacency + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define lisp_add_del_adjacency_reply { + u32 context; + i32 retval; +}; + /** \brief add or delete map request itr rlocs @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -2435,11 +2500,11 @@ define lisp_add_del_map_request_itr_rlocs_reply { i32 retval; }; -/** \brief map/unmap vni to vrf +/** \brief map/unmap vni/bd_index to vrf @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param is_add - add or delete mapping - @param vni - virtual network id + @param dp_table - virtual network id/bridge domain index @param vrf - vrf */ define lisp_eid_table_add_del_map { @@ -2447,7 +2512,8 @@ define lisp_eid_table_add_del_map { u32 context; u8 is_add; u32 vni; - u32 vrf; + u32 dp_table; + u8 is_l2; }; /** \brief Reply for lisp_eid_table_add_del_map @@ -2459,62 +2525,131 @@ define lisp_eid_table_add_del_map_reply { i32 retval; }; +/** \brief Request for map lisp locator status + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param locator_set_index - index of locator_set + @param filter - filter type; + Support value: + 0: all locator + 1: local locator + 2: remote locator + */ +define lisp_locator_dump { + u32 client_index; + u32 context; + u32 locator_set_index; + u8 filter; +}; + /** \brief LISP locator_set status + @param local - if is set, then locator is local @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 { + */ +define lisp_locator_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; }; +/** \brief LISP locator_set status + @param locator_set_name - name of the locator_set + @param local - if is set, then locator_set is local + @param locator_count - number of locator this stats block includes + @param locator - locator data + */ +define lisp_locator_set_details { + u32 context; + u8 local; + u32 locator_set_index; + u8 locator_set_name[64]; +}; + /** \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 + @param filter - filter type; + Support value: + 0: all locator_set + 1: local locator_set + 2: remote locator_set */ define lisp_locator_set_dump { u32 client_index; u32 context; + u8 filter; }; -/** \brief LISP local eid table status - @param locator_set_name - name of the locator_set - @param eid_type - ip4, ip6 or l2 mac address - @param eid - array of address bytes - @param eid_prefix_len - prefix len - */ -manual_java define lisp_local_eid_table_details { +/** \brief Dump lisp eid-table + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param locator_set_index - index of locator_set + @param is_local - local if non-zero, else remote + @param eid_type: + 0 : ipv4 + 1 : ipv6 + 2 : mac + @param eid - EID can be ip4, ip6 or mac + @param prefix_len - prefix len + @param vni - virtual network instance + @param ttl - time to live + @param authoritative - authoritative +*/ + +define lisp_eid_table_details { u32 context; - u8 locator_set_name[64]; + u32 locator_set_index; + u8 is_local; u8 eid_type; u32 vni; u8 eid[16]; u8 eid_prefix_len; + u32 ttl; + u8 authoritative; }; -/** \brief Request for local eid table summary status +/** \brief Request for eid table summary status @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request + @param eid_set - if non-zero request info about specific mapping + @param vni - virtual network instance; valid only if eid_set != 0 + @param prefix_length - prefix length if EID is IP address; + valid only if eid_set != 0 + @param eid_type - EID type; valid only if eid_set != 0 + Supported values: + 0: EID is IPv4 + 1: EID is IPv6 + 2: EID is ethernet address + @param eid - endpoint identifier + @param filter - filter type; + Support values: + 0: all eid + 1: local eid + 2: remote eid */ -define lisp_local_eid_table_dump { +define lisp_eid_table_dump { u32 client_index; u32 context; + u8 eid_set; + u8 prefix_length; + u32 vni; + u8 eid_type; + u8 eid[16]; + u8 filter; }; /** \brief Shows relationship between vni and vrf @param vrf - VRF index @param vni - vitual network instance */ -manual_java define lisp_eid_table_map_details { +define lisp_eid_table_map_details { u32 context; u32 vni; u32 vrf; @@ -2529,7 +2664,7 @@ define lisp_eid_table_map_dump { u32 context; }; -manual_java define lisp_gpe_tunnel_details { +define lisp_gpe_tunnel_details { u32 context; u32 tunnels; u8 is_ipv6; @@ -2560,7 +2695,7 @@ define lisp_gpe_tunnel_dump { @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 { +define lisp_map_resolver_details { u32 context; u8 is_ipv6; u8 ip_address[16]; @@ -2575,23 +2710,25 @@ define lisp_map_resolver_dump { u32 context; }; -/** \brief Status of lisp-gpe protocol, enable or disable +/** \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 - @param is_en - enable protocol if non-zero, else disable */ -manual_java define lisp_enable_disable_status_details { +define show_lisp_status{ + u32 client_index; u32 context; - u8 feature_status; - u8 gpe_status; }; -/** \brief Request for lisp-gpe protocol status - @param client_index - opaque cookie to identify the sender +/** \brief Status of lisp, enable or disable @param context - sender context, to match reply w/ request + @param feature_status - lisp enable if non-zero, else disable + @param gpe_status - lisp enable if non-zero, else disable */ -define lisp_enable_disable_status_dump { - u32 client_index; +define show_lisp_status_reply{ u32 context; + i32 retval; + u8 feature_status; + u8 gpe_status; }; /** \brief Get LISP map request itr rlocs status @@ -2611,6 +2748,27 @@ define lisp_get_map_request_itr_rlocs_reply { u8 locator_set_name[64]; }; +/** \brief Request for lisp pitr status + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request +*/ +define show_lisp_pitr { + u32 client_index; + u32 context; +}; + +/** \brief Status of lisp pitr, enable or disable + @param context - sender context, to match reply w/ request + @param status - lisp pitr enable if non-zero, else disable + @param locator_set_name - name of the locator_set +*/ +define show_lisp_pitr_reply { + u32 context; + i32 retval; + u8 status; + u8 locator_set_name[64]; +}; + /* Gross kludge, DGMS */ define interface_name_renumber { u32 client_index; @@ -2694,7 +2852,7 @@ define bridge_domain_add_del { */ define bridge_domain_add_del_reply { u32 context; - u32 retval; + i32 retval; }; /** \brief L2 bridge domain request operational state details @@ -2702,7 +2860,7 @@ define bridge_domain_add_del_reply { @param context - sender context, to match reply w/ request @param bd_id - the bridge domain id desired or ~0 to request all bds */ -manual_java define bridge_domain_dump { +define bridge_domain_dump { u32 client_index; u32 context; u32 bd_id; @@ -2717,7 +2875,7 @@ manual_java define bridge_domain_dump { @param arp_term - arp termination state on all interfaces in the bd @param n_sw_ifs - number of sw_if_index's in the domain */ -manual_java define bridge_domain_details { +define bridge_domain_details { u32 context; u32 bd_id; u8 flood; @@ -2734,7 +2892,7 @@ manual_java define bridge_domain_details { @param sw_if_index - sw_if_index in the domain @param shg - split horizon group for the interface */ -manual_java define bridge_domain_sw_if_details { +define bridge_domain_sw_if_details { u32 context; u32 bd_id; u32 sw_if_index; @@ -3169,7 +3327,7 @@ define ikev2_set_local_key_reply { @param router_address - Router IP address @param host_mac - Host MAC address */ -manual_java define dhcp_compl_event { +define dhcp_compl_event { u32 client_index; u32 pid; u8 hostname[64]; @@ -3274,7 +3432,7 @@ define map_domain_dump { u32 context; }; -manual_java define map_domain_details { +define map_domain_details { u32 context; u32 domain_index; u8 ip6_prefix[16]; @@ -3297,7 +3455,7 @@ define map_rule_dump { u32 domain_index; }; -manual_java define map_rule_details { +define map_rule_details { u32 context; u8 ip6_dst[16]; u16 psid; @@ -3571,6 +3729,13 @@ define af_packet_delete_reply { @param rate_type - rate type @param round_type - rounding type @param type - policer algorithm + @param color_aware - 0=color-blind, 1=color-aware + @param conform_action_type - conform action type + @param conform_dscp - DSCP for conform mar-and-transmit action + @param exceed_action_type - exceed action type + @param exceed_dscp - DSCP for exceed mar-and-transmit action + @param violate_action_type - violate action type + @param violate_dscp - DSCP for violate mar-and-transmit action */ define policer_add_del { u32 client_index; @@ -3585,15 +3750,24 @@ define policer_add_del { u8 rate_type; u8 round_type; u8 type; + u8 color_aware; + u8 conform_action_type; + u8 conform_dscp; + u8 exceed_action_type; + u8 exceed_dscp; + u8 violate_action_type; + u8 violate_dscp; }; /** \brief Add/del policer response @param context - sender context, to match reply w/ request @param retval - return value for request + @param policer_index - for add, returned index of the new policer */ define policer_add_del_reply { u32 context; i32 retval; + u32 policer_index; }; /** \brief Get list of policers @@ -3620,6 +3794,12 @@ define policer_dump { @param rate_type - rate type @param round_type - rounding type @param type - policer algorithm + @param conform_action_type - conform action type + @param conform_dscp - DSCP for conform mar-and-transmit action + @param exceed_action_type - exceed action type + @param exceed_dscp - DSCP for exceed mar-and-transmit action + @param violate_action_type - violate action type + @param violate_dscp - DSCP for violate mar-and-transmit action @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 @@ -3631,7 +3811,7 @@ define policer_dump { @param extended_bucket - extended bucket @param last_update_time - last update time */ -manual_java define policer_details { +define policer_details { u32 context; u8 name[64]; @@ -3642,6 +3822,12 @@ manual_java define policer_details { u8 rate_type; u8 round_type; u8 type; + u8 conform_action_type; + u8 conform_dscp; + u8 exceed_action_type; + u8 exceed_dscp; + u8 violate_action_type; + u8 violate_dscp; u8 single_rate; u8 color_aware; u32 scale; @@ -3654,6 +3840,58 @@ manual_java define policer_details { u64 last_update_time; }; +/** \brief Set/unset policer classify interface + @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/unset policer classify + @param ip4_table_index - ip4 classify table index (~0 for skip) + @param ip6_table_index - ip6 classify table index (~0 for skip) + @param l2_table_index - l2 classify table index (~0 for skip) + @param is_add - Set if non-zero, else unset + Note: User is recommeneded to use just one valid table_index per call. + (ip4_table_index, ip6_table_index, or l2_table_index) +*/ +define policer_classify_set_interface { + u32 client_index; + u32 context; + u32 sw_if_index; + u32 ip4_table_index; + u32 ip6_table_index; + u32 l2_table_index; + u8 is_add; +}; + +/** \brief Set/unset policer classify interface response + @param context - sender context, to match reply w/ request + @param retval - return value for request +*/ +define policer_classify_set_interface_reply { + u32 context; + i32 retval; +}; + +/** \brief Get list of policer classify interfaces and tables + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param type - classify table type +*/ +define policer_classify_dump { + u32 client_index; + u32 context; + u8 type; +}; + +/** \brief Policer iclassify operational state response. + @param context - sender context, to match reply w/ request + @param sw_if_index - software interface index + @param table_index - classify table index +*/ +define policer_classify_details { + u32 context; + u32 sw_if_index; + u32 table_index; +}; + /** \brief Create netmap @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -3727,7 +3965,7 @@ define mpls_gre_tunnel_dump { @param nlabels - number of resolved labels @param labels - resolved labels */ -manual_java define mpls_gre_tunnel_details { +define mpls_gre_tunnel_details { u32 context; u32 tunnel_index; @@ -3766,7 +4004,7 @@ define mpls_eth_tunnel_dump { @param nlabels - number of resolved labels @param labels - resolved labels */ -manual_java define mpls_eth_tunnel_details { +define mpls_eth_tunnel_details { u32 context; u32 tunnel_index; @@ -3799,7 +4037,7 @@ define mpls_fib_encap_dump { @param nlabels - number of resolved labels @param labels - resolved labels */ -manual_java define mpls_fib_encap_details { +define mpls_fib_encap_details { u32 context; u32 fib_index; @@ -3829,7 +4067,7 @@ define mpls_fib_decap_dump { @param tx_table_id - tx fib id @param swif_tag - */ -manual_java define mpls_fib_decap_details { +define mpls_fib_decap_details { u32 context; u32 fib_index; @@ -3856,9 +4094,9 @@ define classify_table_ids { @param count - number of ids returned in response @param ids - array of classify table ids */ -manual_java define classify_table_ids_reply { +define classify_table_ids_reply { u32 context; - u32 retval; + i32 retval; u32 count; u32 ids[count]; }; @@ -3882,9 +4120,9 @@ define classify_table_by_interface { @param ip4_table_id - ip4 classify table index @param ip6_table_id - ip6 classify table index */ -manual_java define classify_table_by_interface_reply { +define classify_table_by_interface_reply { u32 context; - u32 retval; + i32 retval; u32 sw_if_index; u32 l2_table_id; u32 ip4_table_id; @@ -3914,7 +4152,7 @@ define classify_table_info { @param miss_next_index - index of miss table @param mask[] - match mask */ -manual_java define classify_table_info_reply { +define classify_table_info_reply { u32 context; i32 retval; u32 table_id; @@ -3948,7 +4186,7 @@ define classify_session_dump { @param advance - advance value of session @param match[] - match value for session */ -manual_java define classify_session_details { +define classify_session_details { u32 context; i32 retval; u32 table_id; @@ -3958,3 +4196,212 @@ manual_java define classify_session_details { u32 match_length; u8 match[match_length]; }; + +/** \brief Enable and configure IPFIX exporter process request + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param collector_address - address of IPFIX collector + @param collector_port - port of IPFIX IPFIX collector + @param src_address - address of IPFIX exporter + @param vrf_id - VRF / fib table ID + @param path_mtu - Path MTU between exporter and collector + @param template_interval - number of seconds after which to resend template +*/ +define ipfix_enable { + u32 client_index; + u32 context; + u8 collector_address[16]; + u16 collector_port; + u8 src_address[16]; + u32 vrf_id; + u32 path_mtu; + u32 template_interval; +}; + +/** \brief Reply to IPFIX enable and configure request + @param context - sender context which was passed in the request +*/ +define ipfix_enable_reply { + u32 context; + i32 retval; +}; + +/** \brief IPFIX dump request + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request +*/ +define ipfix_dump { + u32 client_index; + u32 context; +}; + +/** \brief Reply to IPFIX dump request + @param context - sender context which was passed in the request + @param collector_address - address of IPFIX collector + @param collector_port - port of IPFIX IPFIX collector + @param src_address - address of IPFIX exporter + @param fib_index - fib table index + @param path_mtu - Path MTU between exporter and collector + @param template_interval - number of seconds after which to resend template +*/ +define ipfix_details { + u32 context; + u8 collector_address[16]; + u16 collector_port; + u8 src_address[16]; + u32 fib_index; + u32 path_mtu; + u32 template_interval; +}; + +/** \brief Query relative index via node names + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param node_name - name of node to find relative index from + @param next_name - next node from node_name to find relative index of +*/ +define get_next_index { + u32 client_index; + u32 context; + u8 node_name[64]; + u8 next_name[64]; +}; + +/** \brief Reply for get next node index + @param context - sender context which was passed in the request + @param retval - return value + @param next_index - index of the next_node +*/ +define get_next_index_reply { + u32 context; + i32 retval; + u32 next_index; +}; + +/** \brief PacketGenerator create interface request + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param interface_id - interface index +*/ +define pg_create_interface { + u32 client_index; + u32 context; + u32 interface_id; +}; + +/** \brief PacketGenerator create interface response + @param context - sender context, to match reply w/ request + @param retval - return value for request +*/ +define pg_create_interface_reply { + u32 context; + i32 retval; + u32 sw_if_index; +}; + +/** \brief PacketGenerator capture packets on given interface request + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param interface_id - pg interface index + @param is_enabled - 1 if enabling streams, 0 if disabling + @param count - number of packets to be captured + @param pcap_file - pacp file name to store captured packets +*/ +define pg_capture { + u32 client_index; + u32 context; + u32 interface_id; + u8 is_enabled; + u32 count; + u32 pcap_name_length; + u8 pcap_file_name[pcap_name_length]; +}; + +/** \brief PacketGenerator capture packets response + @param context - sender context, to match reply w/ request + @param retval - return value for request +*/ +define pg_capture_reply { + u32 context; + i32 retval; +}; + +/** \brief Enable / disable packet generator request + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param is_enabled - 1 if enabling streams, 0 if disabling + @param stream - stream name to be enable/disabled, if not specified handle all streams +*/ +define pg_enable_disable { + u32 client_index; + u32 context; + u8 is_enabled; + u32 stream_name_length; + u8 stream_name[stream_name_length]; +}; + +/** \brief Reply for enable / disable packet generator + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define pg_enable_disable_reply { + u32 context; + i32 retval; +}; + +/** \brief Configure IP source and L4 port-range check + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param is_ip6 - 1 if source address type is IPv6 + @param is_add - 1 if add, 0 if delete + @param mask_length - mask length for address entry + @param address - array of address bytes + @param low_ports[32] - up to 32 low end of port range entries (must have corresponding high_ports entry) + @param high_ports[32] - up to 32 high end of port range entries (must have corresponding low_ports entry) + @param vrf_id - fib table/vrf id to associate the source and port-range check with + @note To specify a single port set low_port and high_port entry the same +*/ +define ip_source_and_port_range_check_add_del { + u32 client_index; + u32 context; + u8 is_ipv6; + u8 is_add; + u8 mask_length; + u8 address[16]; + u8 number_of_ranges; + u16 low_ports[32]; + u16 high_ports[32]; + u32 vrf_id; +}; + +/** \brief Configure IP source and L4 port-range check reply + @param context - returned sender context, to match reply w/ request + @param retval - return code +*/ +define ip_source_and_port_range_check_add_del_reply { + u32 context; + i32 retval; +}; + +/** \brief Set interface source and L4 port-range request + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param interface_id - interface index + @param vrf_id - VRF associated with source and L4 port-range check +*/ +define ip_source_and_port_range_check_interface_add_del { + u32 client_index; + u32 context; + u8 is_add; + u32 sw_if_index; + u32 vrf_id; +}; + +/** \brief Set interface source and L4 port-range response + @param context - sender context, to match reply w/ request + @param retval - return value for request +*/ +define ip_source_and_port_range_check_interface_add_del_reply { + u32 context; + i32 retval; +};