X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=vpp%2Fvpp-api%2Fvpe.api;h=7556a2232190539c32a496feb38320feedc18b55;hb=20d1232532e6f6c94c77a125b6c17680e14785b5;hp=66108acf70c06e1803a7e985e93f99b0f650c39d;hpb=397fd7d39f023887e428de37a1929c366a99b8d5;p=vpp.git diff --git a/vpp/vpp-api/vpe.api b/vpp/vpp-api/vpe.api index 66108acf70c..7556a223219 100644 --- a/vpp/vpp-api/vpe.api +++ b/vpp/vpp-api/vpe.api @@ -23,111 +23,18 @@ * Note: API placement cleanup in progress * If you're looking for interface APIs, please * see .../vnet/vnet/{interface.api,interface_api.c} + * IP APIs: see .../vnet/vnet/ip/{ip.api, ip_api.c} + * TAP APIs: see .../vnet/vnet/unix/{tap.api, tap_api.c} + * VXLAN APIs: see .../vnet/vnet/vxlan/{vxlan.api, vxlan_api.c} + * AF-PACKET APIs: ... see /vnet/devices/af_packet/{af_packet.api, af_packet_api.c} + * NETMAP APIs: see ... /vnet/vnet/devices/netmap/{netmap.api, netmap_api.c} + * VHOST-USER APIs: see .../vnet/devices/virtio/{vhost_user.api, vhost_user_api.c} + * VXLAN GPE APIs: see .../vnet/vnet/vxlan-gpe/{vxlan_gpe.api, vxlan_gpe_api.c} + * GRE APIs: see .../vnet/vnet/gre/{gre.api, gre_api.c} + * L2TP APIs: see .../vnet/vnet/l2tp/{l2tp.api, l2tp_api.c} + * BFD APIs: see .../vnet/vnet/bfd/{bfd.api, bfd_api.c} */ -/** \brief Initialize a new tap interface with the given paramters - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param use_random_mac - let the system generate a unique mac address - @param tap_name - name to associate with the new interface - @param mac_address - mac addr to assign to the interface if use_radom not set -*/ -define tap_connect -{ - u32 client_index; - u32 context; - u8 use_random_mac; - u8 tap_name[64]; - u8 mac_address[6]; - u8 renumber; - u32 custom_dev_instance; - u8 tag[64]; -}; - -/** \brief Reply for tap connect request - @param context - returned sender context, to match reply w/ request - @param retval - return code - @param sw_if_index - software index allocated for the new tap interface -*/ -define tap_connect_reply -{ - u32 context; - i32 retval; - u32 sw_if_index; -}; - -/** \brief Modify a tap interface with the given paramters - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param sw_if_index - interface index of existing tap interface - @param use_random_mac - let the system generate a unique mac address - @param tap_name - name to associate with the new interface - @param mac_address - mac addr to assign to the interface if use_radom not set -*/ -define tap_modify -{ - u32 client_index; - u32 context; - u32 sw_if_index; - u8 use_random_mac; - u8 tap_name[64]; - u8 mac_address[6]; - u8 renumber; - u32 custom_dev_instance; -}; - -/** \brief Reply for tap modify request - @param context - returned sender context, to match reply w/ request - @param retval - return code - @param sw_if_index - software index if the modified tap interface -*/ -define tap_modify_reply -{ - u32 context; - i32 retval; - u32 sw_if_index; -}; - -/** \brief Delete tap interface - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param sw_if_index - interface index of existing tap interface -*/ -define tap_delete -{ - u32 client_index; - u32 context; - u32 sw_if_index; -}; - -/** \brief Reply for tap delete request - @param context - returned sender context, to match reply w/ request - @param retval - return code -*/ -define tap_delete_reply -{ - u32 context; - i32 retval; -}; - -/** \brief Dump tap interfaces request */ -define sw_interface_tap_dump -{ - u32 client_index; - u32 context; -}; - -/** \brief Reply for tap dump request - @param sw_if_index - software index of tap interface - @param dev_name - Linux tap device name -*/ -define sw_interface_tap_details -{ - u32 context; - u32 sw_if_index; - u8 dev_name[64]; -}; - /** \brief Create a new subinterface with the given vlan id @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -255,8 +162,11 @@ define mpls_fib_dump @param is_prohibit - Drop the packet and rate limit send ICMP prohibited @param afi - the afi of the next hop, IP46_TYPE_IP4=1, IP46_TYPE_IP6=2 @param next_hop[16] - the next hop address + + WARNING: this type is replicated, pending cleanup completion + */ -typeonly manual_print manual_endian define fib_path +typeonly manual_print manual_endian define fib_path2 { u32 sw_if_index; u32 weight; @@ -282,59 +192,7 @@ manual_endian manual_print define mpls_fib_details u8 eos_bit; u32 label; u32 count; - vl_api_fib_path_t path[count]; -}; - -/** \brief Dump IP6 fib table - @param client_index - opaque cookie to identify the sender -*/ -define ip6_fib_dump -{ - u32 client_index; - u32 context; -}; - -/** \brief IP6 FIB table response - @param table_id - IP6 fib table id - @address_length - mask length - @address - ip6 prefix - @param count - the number of fib_path in path - @param path - array of of fib_path structures -*/ -manual_endian manual_print define ip6_fib_details -{ - u32 context; - u32 table_id; - u8 address_length; - u8 address[16]; - u32 count; - vl_api_fib_path_t path[count]; -}; - -/** \brief Dump IP fib table - @param client_index - opaque cookie to identify the sender -*/ -define ip_fib_dump -{ - u32 client_index; - u32 context; -}; - -/** \brief IP FIB table response - @param table_id - IP fib table id - @address_length - mask length - @address - ip4 prefix - @param count - the number of fib_path in path - @param path - array of of fib_path structures -*/ -manual_endian manual_print define ip_fib_details -{ - u32 context; - u32 table_id; - u8 address_length; - u8 address[4]; - u32 count; - vl_api_fib_path_t path[count]; + vl_api_fib_path2_t path[count]; }; /** \brief Bind/Unbind an MPLS local label to an IP prefix. i.e. create @@ -452,71 +310,6 @@ define mpls_tunnel_details u32 mt_next_hop_out_labels[mt_next_hop_n_labels]; }; -/** \brief Add / del route request - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param sw_if_index - software index of the new vlan's parent interface - @param vrf_id - fib table /vrf associated with the route - @param lookup_in_vrf - - @param classify_table_index - - @param create_vrf_if_needed - - @param is_add - 1 if adding the route, 0 if deleting - @param is_drop - Drop the packet - @param is_unreach - Drop the packet and rate limit send ICMP unreachable - @param is_prohibit - Drop the packet and rate limit send ICMP prohibited - @param is_ipv6 - 0 if an ip4 route, else ip6 - @param is_local - - @param is_classify - - @param is_multipath - Set to 1 if this is a multipath route, else 0 - @param not_last - Is last or not last msg in group of multiple add/del msgs - @param next_hop_weight - - @param dst_address_length - - @param dst_address[16] - - @param next_hop_address[16] - - @param next_hop_n_out_labels - the number of labels in the label stack - @param next_hop_out_label_stack - the next-hop output label stack, outer most first - @param next_hop_via_label - The next-hop is a resolved via a local label -*/ -define ip_add_del_route -{ - u32 client_index; - u32 context; - u32 next_hop_sw_if_index; - u32 table_id; - u32 classify_table_index; - u32 next_hop_table_id; - u8 create_vrf_if_needed; - u8 is_add; - u8 is_drop; - u8 is_unreach; - u8 is_prohibit; - u8 is_ipv6; - u8 is_local; - u8 is_classify; - u8 is_multipath; - u8 is_resolve_host; - u8 is_resolve_attached; - /* Is last/not-last message in group of multiple add/del messages. */ - u8 not_last; - u8 next_hop_weight; - u8 dst_address_length; - u8 dst_address[16]; - u8 next_hop_address[16]; - u8 next_hop_n_out_labels; - u32 next_hop_via_label; - u32 next_hop_out_label_stack[next_hop_n_out_labels]; -}; - -/** \brief Reply for add / del route request - @param context - returned sender context, to match reply w/ request - @param retval - return code -*/ -define ip_add_del_route_reply -{ - u32 context; - i32 retval; -}; - /** \brief Proxy ARP add / del request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -570,41 +363,6 @@ define proxy_arp_intfc_enable_disable_reply i32 retval; }; -/** \brief IP neighbor add / del request - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param vrf_id - vrf_id, only for IP4 - @param sw_if_index - interface used to reach neighbor - @param is_add - 1 to add neighbor, 0 to delete - @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4 - @param is_static - - @param mac_address - l2 address of the neighbor - @param dst_address - ip4 or ip6 address of the neighbor -*/ -define ip_neighbor_add_del -{ - u32 client_index; - u32 context; - u32 vrf_id; /* only makes sense for ip4 */ - u32 sw_if_index; - /* 1 = add, 0 = delete */ - u8 is_add; - u8 is_ipv6; - u8 is_static; - u8 mac_address[6]; - u8 dst_address[16]; -}; - -/** \brief Reply for IP Neighbor add / delete request - @param context - returned sender context, to match reply w/ request - @param retval - return code -*/ -define ip_neighbor_add_del_reply -{ - u32 context; - i32 retval; -}; - /** \brief Reset VRF (remove all routes etc) request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -876,181 +634,6 @@ define dhcp_proxy_set_vss_reply 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 - @param vrf_id - vrf/fib id - @param is_ipv6 - if non-zero the fib is ip6, else ip4 - @param src - if non-zero include src in flow hash - @param dst - if non-zero include dst in flow hash - @param sport - if non-zero include sport in flow hash - @param dport - if non-zero include dport in flow hash - @param proto -if non-zero include proto in flow hash - @param reverse - if non-zero include reverse in flow hash -*/ -define set_ip_flow_hash -{ - u32 client_index; - u32 context; - u32 vrf_id; - u8 is_ipv6; - u8 src; - u8 dst; - u8 sport; - u8 dport; - u8 proto; - u8 reverse; -}; - -/** \brief Set the ip flow hash config for a fib response - @param context - sender context, to match reply w/ request - @param retval - return code for the request -*/ -define set_ip_flow_hash_reply -{ - u32 context; - i32 retval; -}; - -/** \brief IPv6 router advertisement config request - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param suppress - - @param managed - - @param other - - @param ll_option - - @param send_unicast - - @param cease - - @param is_no - - @param default_router - - @param max_interval - - @param min_interval - - @param lifetime - - @param initial_count - - @param initial_interval - -*/ -define sw_interface_ip6nd_ra_config -{ - u32 client_index; - u32 context; - u32 sw_if_index; - u8 suppress; - u8 managed; - u8 other; - u8 ll_option; - u8 send_unicast; - u8 cease; - u8 is_no; - u8 default_router; - u32 max_interval; - u32 min_interval; - u32 lifetime; - u32 initial_count; - u32 initial_interval; -}; - -/** \brief IPv6 router advertisement config response - @param context - sender context, to match reply w/ request - @param retval - return code for the request -*/ -define sw_interface_ip6nd_ra_config_reply -{ - u32 context; - i32 retval; -}; - -/** \brief IPv6 router advertisement prefix config request - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param sw_if_index - - @param address[] - - @param address_length - - @param use_default - - @param no_advertise - - @param off_link - - @param no_autoconfig - - @param no_onlink - - @param is_no - - @param val_lifetime - - @param pref_lifetime - -*/ -define sw_interface_ip6nd_ra_prefix -{ - u32 client_index; - u32 context; - u32 sw_if_index; - u8 address[16]; - u8 address_length; - u8 use_default; - u8 no_advertise; - u8 off_link; - u8 no_autoconfig; - u8 no_onlink; - u8 is_no; - u32 val_lifetime; - u32 pref_lifetime; -}; - -/** \brief IPv6 router advertisement prefix config response - @param context - sender context, to match reply w/ request - @param retval - return code for the request -*/ -define sw_interface_ip6nd_ra_prefix_reply -{ - u32 context; - i32 retval; -}; - -/** \brief IPv6 interface enable / disable request - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param sw_if_index - interface used to reach neighbor - @param enable - if non-zero enable ip6 on interface, else disable -*/ -define sw_interface_ip6_enable_disable -{ - u32 client_index; - u32 context; - u32 sw_if_index; - u8 enable; /* set to true if enable */ -}; - -/** \brief IPv6 interface enable / disable response - @param context - sender context, to match reply w/ request - @param retval - return code for the request -*/ -define sw_interface_ip6_enable_disable_reply -{ - u32 context; - i32 retval; -}; - -/** \brief IPv6 set 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 - @param address[] - the new link local address - @param address_length - link local address length -*/ -define sw_interface_ip6_set_link_local_address -{ - u32 client_index; - u32 context; - u32 sw_if_index; - u8 address[16]; - u8 address_length; -}; - -/** \brief IPv6 set link local address on interface response - @param context - sender context, to match reply w/ request - @param retval - error code for the request -*/ -define sw_interface_ip6_set_link_local_address_reply -{ - u32 context; - i32 retval; -}; - /** \brief Create loopback interface request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -1239,8 +822,8 @@ define sr_tunnel_add_del u16 flags_net_byte_order; u8 n_segments; u8 n_tags; - u8 segs_and_tags[0]; u8 policy_name[64]; + u8 segs_and_tags[0]; }; /** \brief IPv6 segment routing tunnel add / del response @@ -1329,32 +912,6 @@ define sw_interface_set_vpath_reply i32 retval; }; -/** \brief Interface set vxlan-bypass request - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param sw_if_index - interface used to reach neighbor - @param is_ipv6 - if non-zero, enable ipv6-vxlan-bypass, else ipv4-vxlan-bypass - @param enable - if non-zero enable, else disable -*/ -define sw_interface_set_vxlan_bypass -{ - u32 client_index; - u32 context; - u32 sw_if_index; - u8 is_ipv6; - u8 enable; -}; - -/** \brief Interface set vxlan-bypass response - @param context - sender context, to match reply w/ request - @param retval - return code for the request -*/ -define sw_interface_set_vxlan_bypass_reply -{ - u32 context; - i32 retval; -}; - /** \brief Set L2 XConnect between two interfaces request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -1534,6 +1091,7 @@ define bd_ip_mac_add_del_reply @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param is_add- if non-zero add the table, else delete it + @param del_chain - if non-zero delete the whole chain of tables @param table_index - if add, reuturns index of the created table, else specifies the table to delete @param nbuckets - number of buckets when adding a table @param memory_size - memory size when adding a table @@ -1558,6 +1116,7 @@ define classify_add_del_table u32 client_index; u32 context; u8 is_add; + u8 del_chain; u32 table_index; u32 nbuckets; u32 memory_size; @@ -1771,84 +1330,6 @@ define dhcp_proxy_config_2_reply i32 retval; }; -/** \brief l2tpv3 tunnel interface create request - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param client_address - remote client tunnel ip address - @param client_address - local tunnel ip address - @param is_ipv6 - ipv6 if non-zero, else ipv4 - @param local_session_id - local tunnel session id - @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; - u32 context; - u8 client_address[16]; - u8 our_address[16]; - u8 is_ipv6; - u32 local_session_id; - u32 remote_session_id; - u64 local_cookie; - u64 remote_cookie; - u8 l2_sublayer_present; - u32 encap_vrf_id; -}; - -/** \brief l2tpv3 tunnel interface create response - @param context - sender context, to match reply w/ request - @param retval - return code for the request - @param sw_if_index - index of the new tunnel interface -*/ -define l2tpv3_create_tunnel_reply -{ - u32 context; - i32 retval; - u32 sw_if_index; -}; - -define l2tpv3_set_tunnel_cookies -{ - u32 client_index; - u32 context; - u32 sw_if_index; - u64 new_local_cookie; - u64 new_remote_cookie; -}; - -/** \brief L2TP tunnel set cookies response - @param context - sender context, to match reply w/ request - @param retval - return code for the request -*/ -define l2tpv3_set_tunnel_cookies_reply -{ - u32 context; - i32 retval; -}; - -define sw_if_l2tpv3_tunnel_details -{ - u32 context; - u32 sw_if_index; - u8 interface_name[64]; - u8 client_address[16]; - u8 our_address[16]; - u32 local_session_id; - u32 remote_session_id; - u64 local_cookie[2]; - u64 remote_cookie; - u8 l2_sublayer_present; -}; - -define sw_if_l2tpv3_tunnel_dump -{ - u32 client_index; - u32 context; -}; - /** \brief L2 fib clear table request, clear all mac entries in the l2 fib @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -1893,112 +1374,6 @@ define l2_interface_efp_filter_reply i32 retval; }; -define l2tpv3_interface_enable_disable -{ - u32 client_index; - u32 context; - u8 enable_disable; - u32 sw_if_index; -}; - -define l2tpv3_interface_enable_disable_reply -{ - u32 context; - i32 retval; -}; - -define l2tpv3_set_lookup_key -{ - u32 client_index; - u32 context; - /* 0 = ip6 src_address, 1 = ip6 dst_address, 2 = session_id */ - u8 key; -}; - -define l2tpv3_set_lookup_key_reply -{ - u32 context; - i32 retval; -}; - -define vxlan_add_del_tunnel -{ - u32 client_index; - u32 context; - u8 is_add; - u8 is_ipv6; - u8 src_address[16]; - u8 dst_address[16]; - u32 mcast_sw_if_index; - u32 encap_vrf_id; - u32 decap_next_index; - u32 vni; -}; - -define vxlan_add_del_tunnel_reply -{ - u32 context; - i32 retval; - u32 sw_if_index; -}; - -define vxlan_tunnel_dump -{ - u32 client_index; - u32 context; - u32 sw_if_index; -}; - -define vxlan_tunnel_details -{ - u32 context; - u32 sw_if_index; - u8 src_address[16]; - u8 dst_address[16]; - u32 mcast_sw_if_index; - 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; - u8 is_ipv6; - u8 teb; - u8 src_address[16]; - u8 dst_address[16]; - u32 outer_fib_id; -}; - -define gre_add_del_tunnel_reply -{ - u32 context; - i32 retval; - u32 sw_if_index; -}; - -define gre_tunnel_dump -{ - u32 client_index; - u32 context; - u32 sw_if_index; -}; - -define gre_tunnel_details -{ - u32 context; - u32 sw_if_index; - u8 is_ipv6; - u8 teb; - u8 src_address[16]; - u8 dst_address[16]; - u32 outer_fib_id; -}; - /** \brief L2 interface vlan tag rewrite configure request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -2014,94 +1389,16 @@ define l2_interface_vlan_tag_rewrite u32 context; u32 sw_if_index; u32 vtr_op; - u32 push_dot1q; // ethertype of first pushed tag is dot1q/dot1ad - u32 tag1; // first pushed tag - u32 tag2; // second pushed tag -}; - -/** \brief L2 interface vlan tag rewrite response - @param context - sender context, to match reply w/ request - @param retval - return code for the request -*/ -define l2_interface_vlan_tag_rewrite_reply -{ - u32 context; - i32 retval; -}; - -/** \brief vhost-user interface create request - @param client_index - opaque cookie to identify the sender - @param is_server - our side is socket server - @param sock_filename - unix socket filename, used to speak with frontend - @param use_custom_mac - enable or disable the use of the provided hardware address - @param mac_address - hardware address to use if 'use_custom_mac' is set -*/ -define create_vhost_user_if -{ - u32 client_index; - u32 context; - u8 is_server; - u8 sock_filename[256]; - u8 renumber; - u32 custom_dev_instance; - u8 use_custom_mac; - u8 mac_address[6]; - u8 tag[64]; -}; - -/** \brief vhost-user interface create response - @param context - sender context, to match reply w/ request - @param retval - return code for the request - @param sw_if_index - interface the operation is applied to -*/ -define create_vhost_user_if_reply -{ - u32 context; - i32 retval; - u32 sw_if_index; -}; - -/** \brief vhost-user interface modify request - @param client_index - opaque cookie to identify the sender - @param is_server - our side is socket server - @param sock_filename - unix socket filename, used to speak with frontend -*/ -define modify_vhost_user_if -{ - u32 client_index; - u32 context; - u32 sw_if_index; - u8 is_server; - u8 sock_filename[256]; - u8 renumber; - u32 custom_dev_instance; -}; - -/** \brief vhost-user interface modify response - @param context - sender context, to match reply w/ request - @param retval - return code for the request -*/ -define modify_vhost_user_if_reply -{ - u32 context; - i32 retval; -}; - -/** \brief vhost-user interface delete request - @param client_index - opaque cookie to identify the sender -*/ -define delete_vhost_user_if -{ - u32 client_index; - u32 context; - u32 sw_if_index; + u32 push_dot1q; // ethertype of first pushed tag is dot1q/dot1ad + u32 tag1; // first pushed tag + u32 tag2; // second pushed tag }; -/** \brief vhost-user interface delete response +/** \brief L2 interface vlan tag rewrite response @param context - sender context, to match reply w/ request @param retval - return code for the request */ -define delete_vhost_user_if_reply +define l2_interface_vlan_tag_rewrite_reply { u32 context; i32 retval; @@ -2161,64 +1458,6 @@ define show_version_reply u8 build_directory[256]; }; -/** \brief Vhost-user interface details structure (fix this) - @param sw_if_index - index of the interface - @param interface_name - name of interface - @param virtio_net_hdr_sz - net header size - @param features - interface features - @param is_server - vhost-user server socket - @param sock_filename - socket filename - @param num_regions - number of used memory regions -*/ -define sw_interface_vhost_user_details -{ - u32 context; - u32 sw_if_index; - u8 interface_name[64]; - u32 virtio_net_hdr_sz; - u64 features; - u8 is_server; - u8 sock_filename[256]; - u32 num_regions; - i32 sock_errno; -}; - -/* works */ -define sw_interface_vhost_user_dump -{ - u32 client_index; - u32 context; -}; - -define ip_address_details -{ - u32 client_index; - u32 context; - u8 ip[16]; - u8 prefix_length; -}; - -define ip_address_dump -{ - u32 client_index; - u32 context; - u32 sw_if_index; - u8 is_ipv6; -}; - -define ip_details -{ - u32 sw_if_index; - u32 context; -}; - -define ip_dump -{ - u32 client_index; - u32 context; - u8 is_ipv6; -}; - /** \brief l2 fib table entry structure @param bd_id - the l2 fib / bridge domain table id @param mac - the entry's mac address @@ -2249,47 +1488,6 @@ define l2_fib_table_dump u32 bd_id; }; -define vxlan_gpe_add_del_tunnel -{ - u32 client_index; - u32 context; - u8 is_ipv6; - u8 local[16]; - u8 remote[16]; - u32 encap_vrf_id; - u32 decap_vrf_id; - u8 protocol; - u32 vni; - u8 is_add; -}; - -define vxlan_gpe_add_del_tunnel_reply -{ - u32 context; - i32 retval; - u32 sw_if_index; -}; - -define vxlan_gpe_tunnel_dump -{ - u32 client_index; - u32 context; - u32 sw_if_index; -}; - -define vxlan_gpe_tunnel_details -{ - u32 context; - u32 sw_if_index; - u8 local[16]; - u8 remote[16]; - u32 vni; - u8 protocol; - u32 encap_vrf_id; - u32 decap_vrf_id; - u8 is_ipv6; -}; - /** \brief add or delete locator_set @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -3342,6 +2540,7 @@ define ip6_nd_event @param forward - enable/disable forwarding on all interfaces in the bd @param learn - enable/disable learning on all interfaces in the bd @param arp_term - enable/disable arp termination in the bd + @param mac_age - mac aging time in min, 0 for disabled @param is_add - add or delete flag */ define bridge_domain_add_del @@ -3354,6 +2553,7 @@ define bridge_domain_add_del u8 forward; u8 learn; u8 arp_term; + u8 mac_age; u8 is_add; }; @@ -3386,6 +2586,7 @@ define bridge_domain_dump @param forward - forwarding state on all interfaces in the bd @param learn - learning state on all interfaces in the bd @param arp_term - arp termination state on all interfaces in the bd + @param mac_age - mac aging time in min, 0 for disabled @param n_sw_ifs - number of sw_if_index's in the domain */ define bridge_domain_details @@ -3397,6 +2598,7 @@ define bridge_domain_details u8 forward; u8 learn; u8 arp_term; + u8 mac_age; u32 bvi_sw_if_index; u32 n_sw_ifs; }; @@ -3877,169 +3079,6 @@ define dhcp_compl_event u8 host_mac[6]; }; -/** \brief Add MAP domains - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param ip6_prefix - Rule IPv6 prefix - @param ip4_prefix - Rule IPv4 prefix - @param ip6_src - MAP domain IPv6 BR address / Tunnel source - @param ip6_prefix_len - Rule IPv6 prefix length - @param ip4_prefix_len - Rule IPv4 prefix length - @param ea_bits_len - Embedded Address bits length - @param psid_offset - Port Set Identifider (PSID) offset - @param psid_length - PSID length - @param is_translation - MAP-E / MAP-T - @param mtu - MTU -*/ -define map_add_domain -{ - u32 client_index; - u32 context; - u8 ip6_prefix[16]; - u8 ip4_prefix[4]; - u8 ip6_src[16]; - u8 ip6_prefix_len; - u8 ip4_prefix_len; - u8 ip6_src_prefix_len; - u8 ea_bits_len; - u8 psid_offset; - u8 psid_length; - u8 is_translation; - u16 mtu; -}; - -/** \brief Reply for MAP domain add - @param context - returned sender context, to match reply w/ request - @param index - MAP domain index - @param retval - return code -*/ -define map_add_domain_reply -{ - u32 context; - u32 index; - i32 retval; -}; - -/** \brief Delete MAP domain - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param index - MAP Domain index -*/ -define map_del_domain -{ - u32 client_index; - u32 context; - u32 index; -}; - -/** \brief Reply for MAP domain del - @param context - returned sender context, to match reply w/ request - @param retval - return code -*/ -define map_del_domain_reply -{ - u32 context; - i32 retval; -}; - -/** \brief Add or Delete MAP rule from a domain (Only used for shared IPv4 per subscriber) - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param index - MAP Domain index - @param is_add - If 1 add rule, if 0 delete rule - @param ip6_dst - MAP CE IPv6 address - @param psid - Rule PSID -*/ -define map_add_del_rule -{ - u32 client_index; - u32 context; - u32 index; - u32 is_add; - u8 ip6_dst[16]; - u16 psid; -}; - -/** \brief Reply for MAP rule add/del - @param context - returned sender context, to match reply w/ request - @param retval - return code -*/ -define map_add_del_rule_reply -{ - u32 context; - i32 retval; -}; - -/** \brief Get list of map domains - @param client_index - opaque cookie to identify the sender -*/ -define map_domain_dump -{ - u32 client_index; - u32 context; -}; - -define map_domain_details -{ - u32 context; - u32 domain_index; - u8 ip6_prefix[16]; - u8 ip4_prefix[4]; - u8 ip6_src[16]; - u8 ip6_prefix_len; - u8 ip4_prefix_len; - u8 ip6_src_len; - u8 ea_bits_len; - u8 psid_offset; - u8 psid_length; - u8 flags; - u16 mtu; - u8 is_translation; -}; - -define map_rule_dump -{ - u32 client_index; - u32 context; - u32 domain_index; -}; - -define map_rule_details -{ - u32 context; - u8 ip6_dst[16]; - u16 psid; -}; - -/** \brief Request for a single block of summary stats - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request -*/ -define map_summary_stats -{ - u32 client_index; - u32 context; -}; - -/** \brief Reply for map_summary_stats request - @param context - sender context, to match reply w/ request - @param retval - return code for request - @param total_bindings - - @param total_pkts - - @param total_ip4_fragments - - @param total_security_check - -*/ -define map_summary_stats_reply -{ - u32 context; - i32 retval; - u64 total_bindings; - u64 total_pkts[2]; - u64 total_bytes[2]; - u64 total_ip4_fragments; - u64 total_security_check[2]; -}; - /** \brief cop: enable/disable junk filtration features on an interface @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -4179,57 +3218,6 @@ define ioam_disable_reply 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; - u32 sw_if_index; -}; - -/** \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 @@ -4413,60 +3401,6 @@ define policer_classify_details u32 table_index; }; -/** \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; -}; - /** \brief Classify get table IDs request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -4796,49 +3730,6 @@ define flow_classify_details { u32 table_index; }; -/** \brief Enable/Disable span to mirror traffic from one interface to another - @param client_index - opaque cookie to identify the sender - @param context - sender context which was passed in the request - @param sw_if_index_from - interface to be mirorred - @param sw_if_index_to - interface where the traffic is mirrored - @param enable - 1 enable SPAN, 0 SPAN on given interface -*/ -define sw_interface_span_enable_disable{ - u32 client_index; - u32 context; - u32 sw_if_index_from; - u32 sw_if_index_to; - u8 enable; -}; - -/** \brief Reply to SPAN enable/disable request - @param context - sender context which was passed in the request -*/ -define sw_interface_span_enable_disable_reply { - u32 context; - i32 retval; -}; - -/** \brief SPAN dump request - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request -*/ -define sw_interface_span_dump { - u32 client_index; - u32 context; -}; - -/** \brief Reply to SPAN dump request - @param context - sender context which was passed in the request - @param sw_if_index_from - mirorred interface - @param sw_if_index_to - interface where the traffic is mirrored -*/ -define sw_interface_span_details { - u32 context; - u32 sw_if_index_from; - u32 sw_if_index_to; -}; - /** \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 @@ -5309,6 +4200,7 @@ define feature_enable_disable_reply u32 context; i32 retval; }; + /* * Local Variables: * eval: (c-set-style "gnu")