GBP: contracts API fixed length of allowed ethertypes
[vpp.git] / src / plugins / gbp / gbp.api
index 3478551..ae45159 100644 (file)
@@ -100,8 +100,6 @@ enum gbp_endpoint_flags
   GBP_API_ENDPOINT_FLAG_BOUNCE = 0x1,
   GBP_API_ENDPOINT_FLAG_REMOTE = 0x2,
   GBP_API_ENDPOINT_FLAG_LEARNT = 0x4,
-  /* hey Ole WTF */
-  GBP_API_ENDPOINT_FLAG_REMOTE_LEARNT = 0x6,
   GBP_API_ENDPOINT_FLAG_EXTERNAL = 0x8,
 };
 
@@ -114,7 +112,7 @@ typedef gbp_endpoint_tun
 typedef gbp_endpoint
 {
   u32 sw_if_index;
-  u16 epg_id;
+  u16 sclass;
   vl_api_gbp_endpoint_flags_t flags;
   vl_api_mac_address_t mac;
   vl_api_gbp_endpoint_tun_t tun;
@@ -164,7 +162,7 @@ typedef gbp_endpoint_retention
 
 typeonly define gbp_endpoint_group
 {
-  u16 epg_id;
+  u32 vnid;
   u16 sclass;
   u32 bd_id;
   u32 rd_id;
@@ -182,7 +180,7 @@ autoreply define gbp_endpoint_group_del
 {
   u32 client_index;
   u32 context;
-  u16 epg_id;
+  u16 sclass;
 };
 
 define gbp_endpoint_group_dump
@@ -200,7 +198,7 @@ define gbp_endpoint_group_details
 typeonly define gbp_recirc
 {
   u32 sw_if_index;
-  u16 epg_id;
+  u16 sclass;
   u8  is_ext;
 };
 
@@ -236,7 +234,7 @@ typeonly define gbp_subnet
 {
   u32 rd_id;
   u32 sw_if_index;
-  u16 epg_id;
+  u16 sclass;
   vl_api_gbp_subnet_type_t type;
   vl_api_prefix_t prefix;
 };
@@ -298,13 +296,13 @@ typedef gbp_rule
 
 typedef gbp_contract
 {
-  u16 src_epg;
-  u16 dst_epg;
+  u16 sclass;
+  u16 dclass;
   u32 acl_index;
+  u8 n_ether_types;
+  u16 allowed_ethertypes[16];
   u8  n_rules;
   vl_api_gbp_rule_t rules[n_rules];
-  u8 n_ether_types;
-  u16 allowed_ethertypes[n_ether_types];
 };
 
 autoreply define gbp_contract_add_del
@@ -344,6 +342,7 @@ typedef gbp_vxlan_tunnel
   u32 vni;
   vl_api_gbp_vxlan_tunnel_mode_t mode;
   u32 bd_rd_id;
+  vl_api_ip4_address_t src;
 };
 
 define gbp_vxlan_tunnel_add