* limitations under the License.
*/
-option version = "2.0.0";
+option version = "2.0.1";
+import "vnet/interface_types.api";
import "vnet/ip/ip_types.api";
/** \brief A GRE tunnel type
*/
-enum gre_tunnel_type
+enum gre_tunnel_type : u8
{
- GRE_API_TUNNEL_TYPE_L3,
+ GRE_API_TUNNEL_TYPE_L3 = 0,
GRE_API_TUNNEL_TYPE_TEB,
GRE_API_TUNNEL_TYPE_ERSPAN,
};
+/** \brief A GRE tunnel mode
+*/
+enum gre_tunnel_mode : u8
+{
+ /* point-to-point */
+ GRE_API_TUNNEL_MODE_P2P,
+ /* multi-point */
+ GRE_API_TUNNEL_MODE_MP,
+};
+
/** \brief A GRE tunnel
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param instance - optional unique custom device instance, else ~0.
@param src - Source IP address
@param dst - Destination IP address, can be multicast
- @param outer_fib_id - Encap FIB table ID
+ @param outer_table_id - Encap FIB table ID
@param session_id - session for ERSPAN tunnel, range 0-1023
@param sw_if_index - ignored on create/delete, present in details.
*/
typedef gre_tunnel
{
- u32 client_index;
- u32 context;
- u8 is_add;
- u8 is_ipv6;
- u16 session_id;
vl_api_gre_tunnel_type_t type;
+ vl_api_gre_tunnel_mode_t mode;
+ u16 session_id;
u32 instance;
- u32 outer_fib_id;
- u32 sw_if_index;
+ u32 outer_table_id;
+ vl_api_interface_index_t sw_if_index;
vl_api_address_t src;
vl_api_address_t dst;
};
{
u32 client_index;
u32 context;
- u8 is_add;
+ bool is_add;
vl_api_gre_tunnel_t tunnel;
};
{
u32 context;
i32 retval;
- u32 sw_if_index;
+ vl_api_interface_index_t sw_if_index;
};
define gre_tunnel_dump
{
u32 client_index;
u32 context;
- u32 sw_if_index;
+ vl_api_interface_index_t sw_if_index;
};
define gre_tunnel_details