GBP: add allowed ethertypes to contracts
[vpp.git] / src / plugins / gbp / gbp_contract.h
index bd7d833..876c10f 100644 (file)
@@ -120,6 +120,11 @@ typedef struct gbp_contract_t_
    * The ACL to apply for packets from the source to the destination EPG
    */
   index_t *gc_rules;
    * The ACL to apply for packets from the source to the destination EPG
    */
   index_t *gc_rules;
+
+  /**
+   * An ethertype whitelist
+   */
+  u16 *gc_allowed_ethertypes;
 } gbp_contract_t;
 
 /**
 } gbp_contract_t;
 
 /**
@@ -135,7 +140,8 @@ typedef struct gbp_contract_db_t_
 
 extern int gbp_contract_update (epg_id_t src_epg,
                                epg_id_t dst_epg,
 
 extern int gbp_contract_update (epg_id_t src_epg,
                                epg_id_t dst_epg,
-                               u32 acl_index, index_t * rules);
+                               u32 acl_index,
+                               index_t * rules, u16 * allowed_ethertypes);
 extern int gbp_contract_delete (epg_id_t src_epg, epg_id_t dst_epg);
 
 extern index_t gbp_rule_alloc (gbp_rule_action_t action,
 extern int gbp_contract_delete (epg_id_t src_epg, epg_id_t dst_epg);
 
 extern index_t gbp_rule_alloc (gbp_rule_action_t action,