/*
* 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}
+ * see .../src/vnet/{interface.api,interface_api.c}
+ * IP APIs: see .../src/vnet/ip/{ip.api, ip_api.c}
+ * TAP APIs: see .../src/vnet/unix/{tap.api, tap_api.c}
+ * VXLAN APIs: see .../src/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 ... /src/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}
- * IPSEC APIs: see .../vnet/vnet/ipsec/{ipsec.api, ipsec_api.c}
- * IPSEC-GRE APIs: see .../vnet/vnet/ipsec-gre/{ipsec_gre.api, ipsec_gre_api.c}
- * LISP APIs: see .../vnet/vnet/lisp/{lisp.api, lisp_api.c}
- * LISP-GPE APIs: see .../vnet/vnet/lisp-gpe/{lisp_gpe.api, lisp_gpe_api.c}
+ * VXLAN GPE APIs: see .../src/vnet/vxlan-gpe/{vxlan_gpe.api, vxlan_gpe_api.c}
+ * GRE APIs: see .../src/vnet/gre/{gre.api, gre_api.c}
+ * L2 APIs: see .../src/vnet/l2/{l2.api, l2_api.c}
+ * L2TP APIs: see .../src/vnet/l2tp/{l2tp.api, l2tp_api.c}
+ * BFD APIs: see .../src/vnet/bfd/{bfd.api, bfd_api.c}
+ * IPSEC APIs: see .../src/vnet/ipsec/{ipsec.api, ipsec_api.c}
+ * IPSEC-GRE APIs: see .../src/vnet/ipsec-gre/{ipsec_gre.api, ipsec_gre_api.c}
+ * LISP APIs: see .../src/vnet/lisp/{lisp.api, lisp_api.c}
+ * LISP-GPE APIs: see .../src/vnet/lisp-gpe/{lisp_gpe.api, lisp_gpe_api.c}
+ * MPLS APIs: see .../src/vnet/mpls/{mpls.api, mpls_api.c}
+ * SR APIs: see .../src/vnet/sr/{sr.api, sr_api.c}
+ * DPDK APIs: see ... /src/vnet/devices/dpdk/{dpdk.api, dpdk_api.c}
+ * CLASSIFY APIs: see ... /src/vnet/classify/{classify.api, classify_api.c}
+ * FLOW APIs: see ... /src/vnet/flow/{flow.api, flow_api.c}
+ * DHCP APIs: see ... /src/vnet/dhcp/{dhcpk.api, dhcp_api.c}
*/
/** \brief Create a new subinterface with the given vlan id
i32 retval;
};
-/** \brief MPLS Route Add / del route
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param mr_label - The MPLS label value
- @param mr_eos - The End of stack bit
- @param mr_table_id - The MPLS table-id the route is added in
- @param mr_classify_table_index - If this is a classify route,
- this is the classify table index
- @param mr_create_table_if_needed - If the MPLS or IP tables do not exist,
- create them
- @param mr_is_add - Is this a route add or delete
- @param mr_is_classify - Is this route result a classify
- @param mr_is_multipath - Is this route update a multipath - i.e. is this
- a path addition to an existing route
- @param mr_is_resolve_host - Recurse resolution constraint via a host prefix
- @param mr_is_resolve_attached - Recurse resolution constraint via attached prefix
- @param mr_next_hop_proto_is_ip4 - The next-hop is IPV4
- @param mr_next_hop_weight - The weight, for UCMP
- @param mr_next_hop[16] - the nextop address
- @param mr_next_hop_sw_if_index - the next-hop SW interface
- @param mr_next_hop_table_id - the next-hop table-id (if appropriate)
- @param mr_next_hop_n_out_labels - the number of labels in the label stack
- @param mr_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 mpls_route_add_del
-{
- u32 client_index;
- u32 context;
- u32 mr_label;
- u8 mr_eos;
- u32 mr_table_id;
- u32 mr_classify_table_index;
- u8 mr_create_table_if_needed;
- u8 mr_is_add;
- u8 mr_is_classify;
- u8 mr_is_multipath;
- u8 mr_is_resolve_host;
- u8 mr_is_resolve_attached;
- u8 mr_next_hop_proto_is_ip4;
- u8 mr_next_hop_weight;
- u8 mr_next_hop[16];
- u8 mr_next_hop_n_out_labels;
- u32 mr_next_hop_sw_if_index;
- u32 mr_next_hop_table_id;
- u32 mr_next_hop_via_label;
- u32 mr_next_hop_out_label_stack[mr_next_hop_n_out_labels];
-};
-
-/** \brief Reply for MPLS route add / del request
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define mpls_route_add_del_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief Dump MPLS fib table
- @param client_index - opaque cookie to identify the sender
-*/
-define mpls_fib_dump
-{
- u32 client_index;
- u32 context;
-};
-
-/** \brief FIB path
- @param sw_if_index - index of the interface
- @param weight - The weight, for UCMP
- @param is_local - local if non-zero, else remote
- @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 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_path2
-{
- u32 sw_if_index;
- u32 weight;
- u8 is_local;
- u8 is_drop;
- u8 is_unreach;
- u8 is_prohibit;
- u8 afi;
- u8 next_hop[16];
-};
-
-/** \brief mpls FIB table response
- @param table_id - MPLS fib table id
- @param s_bit - End-of-stack bit
- @param label - MPLS label value
- @param count - the number of fib_path in path
- @param path - array of of fib_path structures
-*/
-manual_endian manual_print define mpls_fib_details
-{
- u32 context;
- u32 table_id;
- u8 eos_bit;
- u32 label;
- u32 count;
- vl_api_fib_path2_t path[count];
-};
-
-/** \brief Bind/Unbind an MPLS local label to an IP prefix. i.e. create
- a per-prefix label entry.
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param mb_mpls_table_id - The MPLS table-id the MPLS entry will be added in
- @param mb_label - The MPLS label value to bind
- @param mb_ip_table_id - The IP table-id of the IP prefix to bind to.
- @param mb_create_table_if_needed - Create either/both tables if required.
- @param mb_is_bind - Bind or unbind
- @param mb_is_ip4 - The prefix to bind to is IPv4
- @param mb_address_length - Length of IP prefix
- @param mb_address[16] - IP prefix/
-*/
-define mpls_ip_bind_unbind
-{
- u32 client_index;
- u32 context;
- u32 mb_mpls_table_id;
- u32 mb_label;
- u32 mb_ip_table_id;
- u8 mb_create_table_if_needed;
- u8 mb_is_bind;
- u8 mb_is_ip4;
- u8 mb_address_length;
- u8 mb_address[16];
-};
-
-/** \brief Reply for MPLS IP bind/unbind request
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define mpls_ip_bind_unbind_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief MPLS tunnel Add / del route
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param mt_is_add - Is this a route add or delete
- @param mt_sw_if_index - The SW interface index of the tunnel to delete
- @param mt_next_hop_proto_is_ip4 - The next-hop is IPV4
- @param mt_next_hop_weight - The weight, for UCMP
- @param mt_next_hop[16] - the nextop address
- @param mt_next_hop_sw_if_index - the next-hop SW interface
- @param mt_next_hop_table_id - the next-hop table-id (if appropriate)
- @param mt_next_hop_n_out_labels - the number of next-hop output labels
- @param mt_next_hop_out_label_stack - the next-hop output label stack, outer most first
-*/
-define mpls_tunnel_add_del
-{
- u32 client_index;
- u32 context;
- u32 mt_sw_if_index;
- u8 mt_is_add;
- u8 mt_l2_only;
- u8 mt_next_hop_proto_is_ip4;
- u8 mt_next_hop_weight;
- u8 mt_next_hop[16];
- u8 mt_next_hop_n_out_labels;
- u32 mt_next_hop_sw_if_index;
- u32 mt_next_hop_table_id;
- u32 mt_next_hop_out_label_stack[mt_next_hop_n_out_labels];
-};
-
-/** \brief Reply for MPLS tunnel add / del request
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
- @param sw_if_index - SW interface index of the tunnel created
-*/
-define mpls_tunnel_add_del_reply
-{
- u32 context;
- i32 retval;
- u32 sw_if_index;
-};
-
-/** \brief Dump mpls eth tunnel table
- @param client_index - opaque cookie to identify the sender
- @param tunnel_index - eth tunnel identifier or -1 in case of all tunnels
-*/
-define mpls_tunnel_dump
-{
- u32 client_index;
- u32 context;
- i32 tunnel_index;
-};
-
-/** \brief mpls eth tunnel operational state response
- @param tunnel_index - eth tunnel identifier
- @param intfc_address - interface ipv4 addr
- @param mask_width - interface ipv4 addr mask
- @param hw_if_index - interface id
- @param l2_only -
- @param tunnel_dst_mac -
- @param tx_sw_if_index -
- @param encap_index - reference to mpls label table
- @param nlabels - number of resolved labels
- @param labels - resolved labels
-*/
-define mpls_tunnel_details
-{
- u32 context;
- u32 tunnel_index;
- u8 mt_l2_only;
- u8 mt_sw_if_index;
- u8 mt_next_hop_proto_is_ip4;
- u8 mt_next_hop[16];
- u32 mt_next_hop_sw_if_index;
- u32 mt_next_hop_table_id;
- u32 mt_next_hop_n_labels;
- u32 mt_next_hop_out_labels[mt_next_hop_n_labels];
-};
-
/** \brief Proxy ARP add / del request
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
vl_api_ip4_fib_counter_t c[count];
};
+typeonly manual_print manual_endian define ip4_nbr_counter
+{
+ u32 address;
+ u8 link_type;
+ u64 packets;
+ u64 bytes;
+};
+
+/**
+ * @brief Per-neighbour (i.e. per-adjacency) coutners
+ * @param count The size of the array of counters
+ * @param sw_if_index The interface the adjacency is on
+ * @param begin Flag to indicate this is the first set of stats for this
+ * interface. If this flag is not set the it is a continuation of
+ * stats for this interface
+ * @param c counters
+ */
+manual_print manual_endian define vnet_ip4_nbr_counters
+{
+ u32 count;
+ u32 sw_if_index;
+ u8 begin;
+ vl_api_ip4_nbr_counter_t c[count];
+};
+
typeonly manual_print manual_endian define ip6_fib_counter
{
u64 address[2];
vl_api_ip6_fib_counter_t c[count];
};
+typeonly manual_print manual_endian define ip6_nbr_counter
+{
+ u64 address[2];
+ u8 link_type;
+ u64 packets;
+ u64 bytes;
+};
+
+manual_print manual_endian define vnet_ip6_nbr_counters
+{
+ u32 count;
+ u32 sw_if_index;
+ u8 begin;
+ vl_api_ip6_nbr_counter_t c[count];
+};
+
/** \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
i32 retval;
};
-/** \brief DHCP Proxy config 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
- @param if_ipv6 - ipv6 if non-zero, else ipv4
- @param is_add - add the config if non-zero, else delete
- @param insert_circuit_id - option82 suboption 1 fib number
- @param dhcp_server[] - server address
- @param dhcp_src_address[] - <fix this, need details>
-*/
-define dhcp_proxy_config
-{
- u32 client_index;
- u32 context;
- u32 vrf_id;
- u8 is_ipv6;
- u8 is_add;
- u8 insert_circuit_id;
- u8 dhcp_server[16];
- u8 dhcp_src_address[16];
-};
-
-/** \brief DHCP Proxy config response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
-*/
-define dhcp_proxy_config_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief DHCP Proxy set / unset vss request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param tbl_id - table id
- @param oui - first part of vpn id
- @param fib_id - second part of vpn id
- @param is_ipv6 - ip6 if non-zero, else ip4
- @param is_add - set vss if non-zero, else delete
-*/
-define dhcp_proxy_set_vss
-{
- u32 client_index;
- u32 context;
- u32 tbl_id;
- u32 oui;
- u32 fib_id;
- u8 is_ipv6;
- u8 is_add;
-};
-
-/** \brief DHCP proxy set / unset vss response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
-*/
-define dhcp_proxy_set_vss_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
i32 retval;
};
-/** \brief IPv6 segment routing tunnel 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[] - tunnel name (len. 64)
- @param src_address[] -
- @param dst_address[] -
- @param dst_mask_width -
- @param inner_vrf_id -
- @param outer_vrf_id -
- @param flags_net_byte_order -
- @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;
- u32 inner_vrf_id;
- u32 outer_vrf_id;
- u16 flags_net_byte_order;
- u8 n_segments;
- u8 n_tags;
- u8 policy_name[64];
- u8 segs_and_tags[0];
-};
-
-/** \brief IPv6 segment routing tunnel add / del response
- @param context - sender context, to match reply w/ request
- @param retval - return value for request
-*/
-define sr_tunnel_add_del_reply
-{
- u32 context;
- 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
i32 retval;
};
-/** \brief L2 FIB add entry request
+/** \brief Set bridge domain ip to mac entry request
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param mac - the entry's mac address
- @param bd_id - the entry's bridge domain id
- @param sw_if_index - the interface
- @param is_add - If non zero add the entry, else delete it
- @param static_mac -
- @param filter_mac -
+ @param bd_id - the bridge domain to set the flags for
+ @param is_add - if non-zero, add the entry, else clear it
+ @param is_ipv6 - if non-zero, ipv6 address, else ipv4 address
+ @param mac_address - MAC address
+ @param
*/
-define l2fib_add_del
+define bd_ip_mac_add_del
{
u32 client_index;
u32 context;
- u64 mac;
u32 bd_id;
- u32 sw_if_index;
u8 is_add;
- u8 static_mac;
- u8 filter_mac;
- u8 bvi_mac;
+ u8 is_ipv6;
+ u8 ip_address[16];
+ u8 mac_address[6];
};
-/** \brief L2 FIB add entry response
+/** \brief Set bridge domain ip to mac entry response
@param context - sender context, to match reply w/ request
- @param retval - return code for the add l2fib entry request
+ @param retval - return code for the set bridge flags request
*/
-define l2fib_add_del_reply
+define bd_ip_mac_add_del_reply
{
u32 context;
i32 retval;
};
-/** \brief Set L2 flags request !!! TODO - need more info, feature bits in l2_input.h
+/** \brief Set/unset the classification table for an 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
- @param is_set - if non-zero, set the bits, else clear them
- @param feature_bitmap - non-zero bits to set or clear
+ @param is_ipv6 - ipv6 if non-zero, else ipv4
+ @param sw_if_index - interface to associate with the table
+ @param table_index - index of the table, if ~0 unset the table
*/
-define l2_flags
+define classify_set_interface_ip_table
{
u32 client_index;
u32 context;
+ u8 is_ipv6;
u32 sw_if_index;
- u8 is_set;
- u32 feature_bitmap;
+ u32 table_index; /* ~0 => off */
};
-/** \brief Set L2 bits response
+/** \brief Set/unset interface classification table response
@param context - sender context, to match reply w/ request
- @param retval - return code for the set l2 bits request
+ @param retval - return code
*/
-define l2_flags_reply
+define classify_set_interface_ip_table_reply
{
u32 context;
i32 retval;
- u32 resulting_feature_bitmap;
};
-/** \brief Set bridge flags (such as L2_LEARN, L2_FWD, L2_FLOOD,
- L2_UU_FLOOD, or L2_ARP_TERM) request
+/** \brief Set/unset l2 classification tables for an interface request
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param bd_id - the bridge domain to set the flags for
- @param is_set - if non-zero, set the flags, else clear them
- @param feature_bitmap - bits that are non-zero to set or clear
+ @param sw_if_index - interface to set/unset tables for
+ @param ip4_table_index - ip4 index, use ~0 for all 3 indexes to unset
+ @param ip6_table_index - ip6 index
+ @param other_table_index - other index
*/
-define bridge_flags
+define classify_set_interface_l2_tables
{
u32 client_index;
u32 context;
- u32 bd_id;
- u8 is_set;
- u32 feature_bitmap;
+ u32 sw_if_index;
+ /* 3 x ~0 => off */
+ u32 ip4_table_index;
+ u32 ip6_table_index;
+ u32 other_table_index;
+ u8 is_input;
};
-/** \brief Set bridge flags response
+/** \brief Set/unset l2 classification tables for an interface response
@param context - sender context, to match reply w/ request
- @param retval - return code for the set bridge flags request
- @param resulting_feature_bitmap - the feature bitmap value after the request is implemented
+ @param retval - return code for the request
*/
-define bridge_flags_reply
+define classify_set_interface_l2_tables_reply
{
u32 context;
i32 retval;
- u32 resulting_feature_bitmap;
};
-/** \brief Set bridge domain ip to mac entry request
+/** \brief Get node index using name request
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param bd_id - the bridge domain to set the flags for
- @param is_add - if non-zero, add the entry, else clear it
- @param is_ipv6 - if non-zero, ipv6 address, else ipv4 address
- @param mac_address - MAC address
- @param
+ @param node_name[] - name of the node
*/
-define bd_ip_mac_add_del
+define get_node_index
{
u32 client_index;
u32 context;
- u32 bd_id;
- u8 is_add;
- u8 is_ipv6;
- u8 ip_address[16];
- u8 mac_address[6];
+ u8 node_name[64];
};
-/** \brief Set bridge domain ip to mac entry response
+/** \brief Get node index using name request
@param context - sender context, to match reply w/ request
- @param retval - return code for the set bridge flags request
-*/
-define bd_ip_mac_add_del_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief Add/Delete classification table request
- @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
- @param match_n_vectors - number of match vectors
- @param next_table_index - index of next table
- @param miss_next_index - index of miss table
- @param current_data_flag - option to use current node's packet payload
- as the starting point from where packets are classified,
- This option is only valid for L2/L3 input ACL for now.
- 0: by default, classify data from the buffer's start location
- 1: classify packets from VPP node’s current data pointer
- @param current_data_offset - a signed value to shift the start location of
- the packet to be classified
- For example, if input IP ACL node is used, L2 header’s first byte
- can be accessible by configuring current_data_offset to -14
- if there is no vlan tag.
- This is valid only if current_data_flag is set to 1.
- @param mask[] - match mask
-*/
-define classify_add_del_table
-{
- u32 client_index;
- u32 context;
- u8 is_add;
- u8 del_chain;
- u32 table_index;
- u32 nbuckets;
- u32 memory_size;
- u32 skip_n_vectors;
- u32 match_n_vectors;
- u32 next_table_index;
- u32 miss_next_index;
- u32 current_data_flag;
- i32 current_data_offset;
- u8 mask[0];
-};
-
-/** \brief Add/Delete classification table response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the table add/del requst
- @param new_table_index - for add, returned index of the new table
- @param skip_n_vectors - for add, returned value of skip_n_vectors in table
- @param match_n_vectors -for add, returned value of match_n_vectors in table
-*/
-define classify_add_del_table_reply
-{
- u32 context;
- i32 retval;
- u32 new_table_index;
- u32 skip_n_vectors;
- u32 match_n_vectors;
-};
-
-/** \brief Classify add / del session request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_add - add session if non-zero, else delete
- @param table_index - index of the table to add/del the session, required
- @param hit_next_index - for add, hit_next_index of new session, required
- @param opaque_index - for add, opaque_index of new session
- @param advance -for add, advance value for session
- @param action -
- 0: no action (by default)
- metadata is not used.
- 1: Classified IP packets will be looked up from the
- specified ipv4 fib table (configured by metadata as VRF id).
- Only valid for L3 input ACL node
- 2: Classified IP packets will be looked up from the
- specified ipv6 fib table (configured by metadata as VRF id).
- Only valid for L3 input ACL node
- @param metadata - valid only if action != 0
- VRF id if action is 1 or 2.
- @param match[] - for add, match value for session, required
-*/
-define classify_add_del_session
-{
- u32 client_index;
- u32 context;
- u8 is_add;
- u32 table_index;
- u32 hit_next_index;
- u32 opaque_index;
- i32 advance;
- u8 action;
- u32 metadata;
- u8 match[0];
-};
-
-/** \brief Classify add / del session response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the add/del session request
-*/
-define classify_add_del_session_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief Set/unset the classification table for an interface request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_ipv6 - ipv6 if non-zero, else ipv4
- @param sw_if_index - interface to associate with the table
- @param table_index - index of the table, if ~0 unset the table
-*/
-define classify_set_interface_ip_table
-{
- u32 client_index;
- u32 context;
- u8 is_ipv6;
- u32 sw_if_index;
- u32 table_index; /* ~0 => off */
-};
-
-/** \brief Set/unset interface classification table response
- @param context - sender context, to match reply w/ request
- @param retval - return code
-*/
-define classify_set_interface_ip_table_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief Set/unset l2 classification tables for an 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/unset tables for
- @param ip4_table_index - ip4 index, use ~0 for all 3 indexes to unset
- @param ip6_table_index - ip6 index
- @param other_table_index - other index
-*/
-define classify_set_interface_l2_tables
-{
- u32 client_index;
- u32 context;
- u32 sw_if_index;
- /* 3 x ~0 => off */
- u32 ip4_table_index;
- u32 ip6_table_index;
- u32 other_table_index;
- u8 is_input;
-};
-
-/** \brief Set/unset l2 classification tables for an interface response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
-*/
-define classify_set_interface_l2_tables_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief Get node index using name request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param node_name[] - name of the node
-*/
-define get_node_index
-{
- u32 client_index;
- u32 context;
- u8 node_name[64];
-};
-
-/** \brief Get node index using name request
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
- @param node_index - index of the desired node if found, else ~0
+ @param retval - return code for the request
+ @param node_index - index of the desired node if found, else ~0
*/
define get_node_index_reply
{
u32 next_index;
};
-/** \brief DHCP Proxy config 2 add / del request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param rx_vrf_id - receive vrf id
- @param server_vrf_id - server vrf id
- @param if_ipv6 - ipv6 if non-zero, else ipv4
- @param is_add - add the config if non-zero, else delete
- @param insert_circuit_id - option82 suboption 1 fib number
- @param dhcp_server[] - server address
- @param dhcp_src_address[] - <fix this, need details>
-*/
-define dhcp_proxy_config_2
-{
- u32 client_index;
- u32 context;
- u32 rx_vrf_id;
- u32 server_vrf_id;
- u8 is_ipv6;
- u8 is_add;
- u8 insert_circuit_id;
- u8 dhcp_server[16];
- u8 dhcp_src_address[16];
-};
-
-/** \brief DHCP Proxy config 2 add / del response
- @param context - sender context, to match reply w/ request
- @param retval - return code for request
-*/
-define dhcp_proxy_config_2_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \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
-*/
-define l2_fib_clear_table
-{
- u32 client_index;
- u32 context;
-};
-
-/** \brief L2 fib clear table response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
-*/
-define l2_fib_clear_table_reply
-{
- u32 context;
- i32 retval;
-};
-
/** \brief L2 interface ethernet flow point filtering enable/disable request
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
i32 retval;
};
-/** \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
- @param sw_if_index - interface the operation is applied to
- @param vtr_op - Choose from l2_vtr_op_t enum values
- @param push_dot1q - first pushed flag dot1q id set, else dot1ad
- @param tag1 - Needed for any push or translate vtr op
- @param tag2 - Needed for any push 2 or translate x-2 vtr ops
-*/
-define l2_interface_vlan_tag_rewrite
-{
- u32 client_index;
- 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;
-};
-
define create_subif
{
u32 client_index;
u8 build_directory[256];
};
-/** \brief l2 fib table entry structure
- @param bd_id - the l2 fib / bridge domain table id
- @param mac - the entry's mac address
- @param sw_if_index - index of the interface
- @param static_mac - the entry is statically configured.
- @param filter_mac - the entry is a mac filter entry.
- @param bvi_mac - the mac address is a bridge virtual interface
-*/
-define l2_fib_table_entry
-{
- u32 context;
- u32 bd_id;
- u64 mac;
- u32 sw_if_index;
- u8 static_mac;
- u8 filter_mac;
- u8 bvi_mac;
-};
-
-/** \brief Dump l2 fib (aka bridge domain) table
- @param client_index - opaque cookie to identify the sender
- @param bd_id - the l2 fib / bridge domain table identifier
-*/
-define l2_fib_table_dump
-{
- u32 client_index;
- u32 context;
- u32 bd_id;
-};
-
/* Gross kludge, DGMS */
define interface_name_renumber
{
u8 mac_ip;
};
-/** \brief L2 bridge domain add or delete request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param bd_id - the bridge domain to create
- @param flood - enable/disable bcast/mcast flooding in the bd
- @param uu_flood - enable/disable uknown unicast flood in the bd
- @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
-{
- u32 client_index;
- u32 context;
- u32 bd_id;
- u8 flood;
- u8 uu_flood;
- u8 forward;
- u8 learn;
- u8 arp_term;
- u8 mac_age;
- u8 is_add;
-};
-
-/** \brief L2 bridge domain add or delete response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the set bridge flags request
-*/
-define bridge_domain_add_del_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief L2 bridge domain request operational state details
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param bd_id - the bridge domain id desired or ~0 to request all bds
-*/
-define bridge_domain_dump
-{
- u32 client_index;
- u32 context;
- u32 bd_id;
-};
-
-/** \brief L2 bridge domain operational state response
- @param bd_id - the bridge domain id
- @param flood - bcast/mcast flooding state on all interfaces in the bd
- @param uu_flood - uknown unicast flooding state on all interfaces in the bd
- @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
-{
- u32 context;
- u32 bd_id;
- u8 flood;
- u8 uu_flood;
- u8 forward;
- u8 learn;
- u8 arp_term;
- u8 mac_age;
- u32 bvi_sw_if_index;
- u32 n_sw_ifs;
-};
-
-/** \brief L2 bridge domain sw interface operational state response
- @param bd_id - the bridge domain id
- @param sw_if_index - sw_if_index in the domain
- @param shg - split horizon group for the interface
-*/
-define bridge_domain_sw_if_details
-{
- u32 context;
- u32 bd_id;
- u32 sw_if_index;
- u8 shg;
-};
-
-/** \brief DHCP Client config add / del request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param sw_if_index - index of the interface for DHCP client
- @param hostname - hostname
- @param is_add - add the config if non-zero, else delete
- @param want_dhcp_event - DHCP event sent to the sender
- via dhcp_compl_event API message if non-zero
- @param pid - sender's pid
-*/
-define dhcp_client_config
-{
- u32 client_index;
- u32 context;
- u32 sw_if_index;
- u8 hostname[64];
- u8 is_add;
- u8 want_dhcp_event;
- u32 pid;
-};
-
-/** \brief DHCP Client config response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
-*/
-define dhcp_client_config_reply
-{
- u32 context;
- i32 retval;
-};
-
/** \brief Set/unset input ACL interface
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
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
- @param is_ipv6 - if non-zero the address is ipv6, else ipv4
- @param host_address - Host IP address
- @param router_address - Router IP address
- @param host_mac - Host MAC address
-*/
-define dhcp_compl_event
-{
- u32 client_index;
- u32 pid;
- u8 hostname[64];
- u8 is_ipv6;
- u8 host_address[16];
- u8 router_address[16];
- u8 host_mac[6];
-};
-
/** \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
u64 last_update_time;
};
-/** \brief Set/unset policer classify interface
+/** \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 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)
+ @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 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 Classify get table IDs request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
-*/
-define classify_table_ids
-{
- u32 client_index;
- u32 context;
-};
-
-/** \brief Reply for classify get table IDs request
- @param context - sender context which was passed in the request
- @param count - number of ids returned in response
- @param ids - array of classify table ids
-*/
-define classify_table_ids_reply
-{
- u32 context;
- i32 retval;
- u32 count;
- u32 ids[count];
-};
-
-/** \brief Classify table ids by interface index request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param sw_if_index - index of the interface
-*/
-define classify_table_by_interface
-{
- u32 client_index;
- u32 context;
- u32 sw_if_index;
-};
-
-/** \brief Reply for classify table id by interface index request
- @param context - sender context which was passed in the request
- @param count - number of ids returned in response
- @param sw_if_index - index of the interface
- @param l2_table_id - l2 classify table index
- @param ip4_table_id - ip4 classify table index
- @param ip6_table_id - ip6 classify table index
-*/
-define classify_table_by_interface_reply
-{
- u32 context;
- i32 retval;
- u32 sw_if_index;
- u32 l2_table_id;
- u32 ip4_table_id;
- u32 ip6_table_id;
-};
-
-/** \brief Classify table info
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param table_id - classify table index
-*/
-define classify_table_info
-{
- u32 client_index;
- u32 context;
- u32 table_id;
-};
-
-/** \brief Reply for classify table info request
- @param context - sender context which was passed in the request
- @param count - number of ids returned in response
- @param table_id - classify table index
- @param nbuckets - number of buckets when adding a table
- @param match_n_vectors - number of match vectors
- @param skip_n_vectors - number of skip_n_vectors
- @param active_sessions - number of sessions (active entries)
- @param next_table_index - index of next table
- @param miss_next_index - index of miss table
- @param mask[] - match mask
-*/
-define classify_table_info_reply
-{
- u32 context;
- i32 retval;
- u32 table_id;
- u32 nbuckets;
- u32 match_n_vectors;
- u32 skip_n_vectors;
- u32 active_sessions;
- u32 next_table_index;
- u32 miss_next_index;
- u32 mask_length;
- u8 mask[mask_length];
-};
-
-/** \brief Classify sessions dump request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param table_id - classify table index
-*/
-define classify_session_dump
-{
- u32 client_index;
- u32 context;
- u32 table_id;
-};
-
-/** \brief Reply for classify table session dump request
- @param context - sender context which was passed in the request
- @param count - number of ids returned in response
- @param table_id - classify table index
- @param hit_next_index - hit_next_index of session
- @param opaque_index - for add, opaque_index of session
- @param advance - advance value of session
- @param match[] - match value for session
-*/
-define classify_session_details
-{
- u32 context;
- i32 retval;
- u32 table_id;
- u32 hit_next_index;
- i32 advance;
- u32 opaque_index;
- u32 match_length;
- u8 match[match_length];
-};
-
-/** \brief 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 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
- @param udp_checksum - UDP checksum calculation enable flag
-*/
-define set_ipfix_exporter
-{
- 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;
- u8 udp_checksum;
-};
-
-/** \brief Reply to IPFIX exporter configure request
- @param context - sender context which was passed in the request
-*/
-define set_ipfix_exporter_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief IPFIX exporter dump request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
-*/
-define ipfix_exporter_dump
-{
- u32 client_index;
- u32 context;
-};
-
-/** \brief Reply to IPFIX exporter 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 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
- @param udp_checksum - UDP checksum calculation enable flag
-*/
-define ipfix_exporter_details
-{
- u32 context;
- u8 collector_address[16];
- u16 collector_port;
- u8 src_address[16];
- u32 vrf_id;
- u32 path_mtu;
- u32 template_interval;
- u8 udp_checksum;
-};
-
-/** \brief IPFIX classify stream configure request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param domain_id - domain ID reported in IPFIX messages for classify stream
- @param src_port - source port of UDP session for classify stream
-*/
-define set_ipfix_classify_stream {
- u32 client_index;
- u32 context;
- u32 domain_id;
- u16 src_port;
-};
-
-/** \brief IPFIX classify stream configure response
- @param context - sender context, to match reply w/ request
- @param retval - return value for request
-*/
-define set_ipfix_classify_stream_reply {
- u32 context;
- i32 retval;
-};
-
-/** \brief IPFIX classify stream dump request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
-*/
-define ipfix_classify_stream_dump {
- u32 client_index;
- u32 context;
-};
-
-/** \brief Reply to IPFIX classify stream dump request
- @param context - sender context, to match reply w/ request
- @param domain_id - domain ID reported in IPFIX messages for classify stream
- @param src_port - source port of UDP session for classify stream
-*/
-define ipfix_classify_stream_details {
- u32 context;
- u32 domain_id;
- u16 src_port;
-};
-
-/** \brief IPFIX add or delete classifier table request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param table_id - classifier table ID
- @param ip_version - version of IP used in the classifier table
- @param transport_protocol - transport protocol used in the classifier table or 255 for unspecified
-*/
-define ipfix_classify_table_add_del {
- u32 client_index;
- u32 context;
- u32 table_id;
- u8 ip_version;
- u8 transport_protocol;
- u8 is_add;
-};
-
-/** \brief IPFIX add classifier table response
- @param context - sender context which was passed in the request
-*/
-define ipfix_classify_table_add_del_reply {
- u32 context;
- i32 retval;
-};
-
-/** \brief IPFIX classify tables dump request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
-*/
-define ipfix_classify_table_dump {
- u32 client_index;
- u32 context;
-};
-
-/** \brief Reply to IPFIX classify tables dump request
- @param context - sender context, to match reply w/ request
- @param table_id - classifier table ID
- @param ip_version - version of IP used in the classifier table
- @param transport_protocol - transport protocol used in the classifier table or 255 for unspecified
-*/
-define ipfix_classify_table_details {
- u32 context;
- u32 table_id;
- u8 ip_version;
- u8 transport_protocol;
-};
-
-/** \brief Set/unset flow 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 flow 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 flow_classify_set_interface {
- u32 client_index;
- u32 context;
- u32 sw_if_index;
- u32 ip4_table_index;
- u32 ip6_table_index;
- u8 is_add;
-};
-
-/** \brief Set/unset flow classify interface response
- @param context - sender context, to match reply w/ request
- @param retval - return value for request
-*/
-define flow_classify_set_interface_reply {
- u32 context;
- i32 retval;
-};
-
-/** \brief Get list of flow 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 flow_classify_dump {
- u32 client_index;
- u32 context;
- u8 type;
-};
-
-/** \brief Flow classify 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 flow_classify_details {
- u32 context;
- u32 sw_if_index;
- u32 table_index;
-};
-
-/** \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
+define get_next_index
{
u32 client_index;
u32 context;
i32 retval;
};
-/** \brief DPDK interface HQoS pipe profile set request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param sw_if_index - the interface
- @param subport - subport ID
- @param pipe - pipe ID within its subport
- @param profile - pipe profile ID
-*/
-define sw_interface_set_dpdk_hqos_pipe {
- u32 client_index;
- u32 context;
- u32 sw_if_index;
- u32 subport;
- u32 pipe;
- u32 profile;
-};
-
-/** \brief DPDK interface HQoS pipe profile set reply
- @param context - sender context, to match reply w/ request
- @param retval - request return code
-*/
-define sw_interface_set_dpdk_hqos_pipe_reply {
- u32 context;
- i32 retval;
-};
-
-/** \brief DPDK interface HQoS subport parameters set request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param sw_if_index - the interface
- @param subport - subport ID
- @param tb_rate - subport token bucket rate (measured in bytes/second)
- @param tb_size - subport token bucket size (measured in credits)
- @param tc_rate - subport traffic class 0 .. 3 rates (measured in bytes/second)
- @param tc_period - enforcement period for rates (measured in milliseconds)
-*/
-define sw_interface_set_dpdk_hqos_subport {
- u32 client_index;
- u32 context;
- u32 sw_if_index;
- u32 subport;
- u32 tb_rate;
- u32 tb_size;
- u32 tc_rate[4];
- u32 tc_period;
-};
-
-/** \brief DPDK interface HQoS subport parameters set reply
- @param context - sender context, to match reply w/ request
- @param retval - request return code
-*/
-define sw_interface_set_dpdk_hqos_subport_reply {
- u32 context;
- i32 retval;
-};
-
-/** \brief DPDK interface HQoS tctbl entry set request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param sw_if_index - the interface
- @param entry - entry index ID
- @param tc - traffic class (0 .. 3)
- @param queue - traffic class queue (0 .. 3)
-*/
-define sw_interface_set_dpdk_hqos_tctbl {
- u32 client_index;
- u32 context;
- u32 sw_if_index;
- u32 entry;
- u32 tc;
- u32 queue;
-};
-
-/** \brief DPDK interface HQoS tctbl entry set reply
- @param context - sender context, to match reply w/ request
- @param retval - request return code
-*/
-define sw_interface_set_dpdk_hqos_tctbl_reply {
- u32 context;
- i32 retval;
-};
-
-/** \brief L2 interface pbb tag rewrite configure request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param sw_if_index - interface the operation is applied to
- @param vtr_op - Choose from l2_vtr_op_t enum values
- @param inner_tag - needed for translate_qinq vtr op only
- @param outer_tag - needed for translate_qinq vtr op only
- @param b_dmac - B-tag remote mac address, needed for any push or translate_qinq vtr op
- @param b_smac - B-tag local mac address, needed for any push or translate qinq vtr op
- @param b_vlanid - B-tag vlanid, needed for any push or translate qinq vtr op
- @param i_sid - I-tag service id, needed for any push or translate qinq vtr op
-*/
-define l2_interface_pbb_tag_rewrite
-{
- u32 client_index;
- u32 context;
- u32 sw_if_index;
- u32 vtr_op;
- u16 outer_tag;
- u8 b_dmac[6];
- u8 b_smac[6];
- u16 b_vlanid;
- u32 i_sid;
-};
-
-/** \brief L2 interface pbb tag rewrite response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
-*/
-define l2_interface_pbb_tag_rewrite_reply
-{
- u32 context;
- i32 retval;
-};
-
/** \brief Punt traffic to the host
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request