API: Change ip4_address and ip6_address to use type alias.
[vpp.git] / src / vnet / ip / ip_types.api
index ec6b9d0..29bd8ad 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");
  * limitations under the License.
  */
 
-typedef ip4_address {
-  u8 address[4];
-};
-
-typedef ip6_address {
-  u8 address[16];
-};
+typedef u8 ip4_address[4];
+typedef u8 ip6_address[16];
 
 enum address_family {
   ADDRESS_IP4 = 0,
@@ -35,3 +31,25 @@ typedef address {
   vl_api_address_family_t af;
   vl_api_address_union_t un;
 };
+
+typedef prefix {
+  vl_api_address_t address;
+  u8 address_length;
+};
+
+typedef mprefix {
+  vl_api_address_family_t af;
+  u16 grp_address_length;
+  vl_api_address_union_t grp_address;
+  vl_api_address_union_t src_address;
+};
+
+typedef ip6_prefix {
+  vl_api_ip6_address_t prefix;
+  u8 len;
+};
+
+typedef ip4_prefix {
+  vl_api_ip4_address_t prefix;
+  u8 len;
+};