IPIP tunnel: use address types on API
[vpp.git] / src / vnet / ipip / ipip.api
index 95fc48a..e8051fd 100644 (file)
@@ -1,3 +1,4 @@
+/* Hey Emacs use -*- mode: C -*- */
 /*
  * Copyright (c) 2018 Cisco and/or its affiliates.
  * Licensed under the Apache License, Version 2.0 (the "License");
  *
  */
 
-option version = "1.1.0";
+option version = "1.2.0";
+import "vnet/interface_types.api";
+import "vnet/ip/ip_types.api";
+
+/**
+ * An IP{v4,v6} over IP{v4,v6} tunnel.
+ */
+typedef ipip_tunnel
+{
+  u32 instance;                /* If non-~0, specifies a custom dev instance */
+  vl_api_address_t src;
+  vl_api_address_t dst;
+  u32 sw_if_index; /* ignored on create, set in details/dump */
+u32 table_id;
+  u8 tc_tos;           /* If ~0, the TOS/TC value is copied from
+                          inner packet, otherwise set to value */
+};
 
 /**
  * Create an IP{v4,v6} over IP{v4,v6} tunnel.
@@ -57,20 +74,14 @@ define ipip_add_tunnel
 {
   u32 client_index;
   u32 context;
-  u8 is_ipv6;
-  u32 instance;                /* If non-~0, specifies a custom dev instance */
-  u8 src_address[16];
-  u8 dst_address[16];
-  u32 fib_index;
-  u8 tc_tos;           /* If ~0, the TOS/TC value is copied from
-                          inner packet, otherwise set to value */
+  vl_api_ipip_tunnel_t tunnel;
 };
 
 define ipip_add_tunnel_reply
 {
   u32 context;
   i32 retval;
-  u32 sw_if_index;
+  vl_api_interface_index_t sw_if_index;
 };
 
 /**
@@ -80,7 +91,7 @@ autoreply define ipip_del_tunnel
 {
   u32 client_index;
   u32 context;
-  u32 sw_if_index;
+  vl_api_interface_index_t sw_if_index;
 };
 
 /**
@@ -90,7 +101,8 @@ define ipip_6rd_add_tunnel
 {
   u32 client_index;
   u32 context;
-  u32 fib_index;
+  u32 ip6_table_id;
+  u32 ip4_table_id;
   u8 ip6_prefix[16];
   u8 ip4_prefix[4];
   u8 ip4_src[4];
@@ -105,7 +117,7 @@ define ipip_6rd_add_tunnel_reply
 {
   u32 context;
   i32 retval;
-  u32 sw_if_index;
+  vl_api_interface_index_t sw_if_index;
 };
 
 /**
@@ -115,7 +127,7 @@ autoreply define ipip_6rd_del_tunnel
 {
   u32 client_index;
   u32 context;
-  u32 sw_if_index;
+  vl_api_interface_index_t sw_if_index;
 };
 
 /**
@@ -125,19 +137,13 @@ define ipip_tunnel_dump
 {
   u32 client_index;
   u32 context;
-  u32 sw_if_index;
+  vl_api_interface_index_t sw_if_index;
 };
 
 define ipip_tunnel_details
 {
   u32 context;
-  u32 sw_if_index;
-  u32 instance;
-  u8 is_ipv6;
-  u8 src_address[16];
-  u8 dst_address[16];
-  u32 fib_index;
-  u8 tc_tos;
+  vl_api_ipip_tunnel_t tunnel;
 };
 
 /*