IPIP tunnel: use address types on API
[vpp.git] / src / vnet / ipip / ipip.api
index 3dc087c..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.
@@ -58,13 +74,7 @@ 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 table_id;
-  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
@@ -133,13 +143,7 @@ define ipip_tunnel_dump
 define ipip_tunnel_details
 {
   u32 context;
-  vl_api_interface_index_t 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;
 };
 
 /*