flow: add vnet/flow formal API
[vpp.git] / src / vnet / ip / ip_types.api
index 4929458..8ea7733 100644 (file)
@@ -18,7 +18,7 @@ option version = "3.0.0";
 manual_print typedef u8 ip4_address[4];
 manual_print typedef u8 ip6_address[16];
 
-enum address_family {
+enum address_family : u8 {
   ADDRESS_IP4 = 0,
   ADDRESS_IP6,
 };
@@ -61,15 +61,16 @@ enum ip_dscp : u8 {
   IP_API_DSCP_CS7 =  50,
 };
 
-enum ip_proto {
+enum ip_proto : u8 {
   IP_API_PROTO_HOPOPT = 0,
   IP_API_PROTO_ICMP = 1,
   IP_API_PROTO_IGMP = 2,
   IP_API_PROTO_TCP = 6,
   IP_API_PROTO_UDP = 17,
   IP_API_PROTO_GRE = 47,
-  IP_API_PROTO_AH = 50,
-  IP_API_PROTO_ESP = 51,
+  IP_API_PROTO_ESP = 50,
+  IP_API_PROTO_AH = 51,
+  IP_API_PROTO_ICMP6 = 58,
   IP_API_PROTO_EIGRP = 88,
   IP_API_PROTO_OSPF = 89,
   IP_API_PROTO_SCTP = 132,
@@ -91,6 +92,18 @@ manual_print typedef prefix {
   u8 len;
 };
 
+typedef ip4_address_and_mask
+{
+  vl_api_ip4_address_t addr;
+  vl_api_ip4_address_t mask;
+};
+
+typedef ip6_address_and_mask
+{
+  vl_api_ip6_address_t addr;
+  vl_api_ip6_address_t mask;
+};
+
 typedef mprefix {
   vl_api_address_family_t af;
   u16 grp_address_length;