X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=blobdiff_plain;f=src%2Fplugins%2Fgbp%2Fgbp.api;h=9af8b35b8707a312356f1c520cb7ced3977f24fb;hp=1fb9073d1904a140e2649bf68e956e3dec665a19;hb=13a08cc;hpb=96e2d4407b1538d8df4e277ba33b85876589e198 diff --git a/src/plugins/gbp/gbp.api b/src/plugins/gbp/gbp.api index 1fb9073d190..9af8b35b870 100644 --- a/src/plugins/gbp/gbp.api +++ b/src/plugins/gbp/gbp.api @@ -251,11 +251,47 @@ define gbp_subnet_details vl_api_gbp_subnet_t subnet; }; -typeonly define gbp_contract +typedef gbp_next_hop +{ + vl_api_address_t ip; + vl_api_mac_address_t mac; + u32 bd_id; + u32 rd_id; +}; + +enum gbp_hash_mode +{ + GBP_API_HASH_MODE_SRC_IP, + GBP_API_HASH_MODE_DST_IP, +}; + +typedef gbp_next_hop_set +{ + vl_api_gbp_hash_mode_t hash_mode; + u8 n_nhs; + vl_api_gbp_next_hop_t nhs[8]; +}; + +enum gbp_rule_action +{ + GBP_API_RULE_PERMIT, + GBP_API_RULE_DENY, + GBP_API_RULE_REDIRECT, +}; + +typedef gbp_rule +{ + vl_api_gbp_rule_action_t action; + vl_api_gbp_next_hop_set_t nh_set; +}; + +typedef gbp_contract { u16 src_epg; u16 dst_epg; u32 acl_index; + u8 n_rules; + vl_api_gbp_rule_t rules[n_rules]; }; autoreply define gbp_contract_add_del