diff options
Diffstat (limited to 'src/plugins/gbp/gbp.api')
-rw-r--r-- | src/plugins/gbp/gbp.api | 470 |
1 files changed, 0 insertions, 470 deletions
diff --git a/src/plugins/gbp/gbp.api b/src/plugins/gbp/gbp.api deleted file mode 100644 index 525e70536bd..00000000000 --- a/src/plugins/gbp/gbp.api +++ /dev/null @@ -1,470 +0,0 @@ -/* Hey Emacs use -*- mode: C -*- */ -/* - * Copyright (c) 2018 Cisco and/or its affiliates. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -option version = "2.0.0"; - -import "vnet/ip/ip_types.api"; -import "vnet/ethernet/ethernet_types.api"; -import "vnet/interface_types.api"; - -enum gbp_bridge_domain_flags -{ - GBP_BD_API_FLAG_NONE = 0, - GBP_BD_API_FLAG_DO_NOT_LEARN = 1, - GBP_BD_API_FLAG_UU_FWD_DROP = 2, - GBP_BD_API_FLAG_MCAST_DROP = 4, - GBP_BD_API_FLAG_UCAST_ARP = 8, -}; - -typedef gbp_bridge_domain -{ - u32 bd_id; - u32 rd_id; - vl_api_gbp_bridge_domain_flags_t flags; - vl_api_interface_index_t bvi_sw_if_index; - vl_api_interface_index_t uu_fwd_sw_if_index; - vl_api_interface_index_t bm_flood_sw_if_index; -}; - - autoreply define gbp_bridge_domain_add -{ - option status="in_progress"; - u32 client_index; - u32 context; - vl_api_gbp_bridge_domain_t bd; -}; - autoreply define gbp_bridge_domain_del -{ - option status="in_progress"; - u32 client_index; - u32 context; - u32 bd_id; -}; -autoreply define gbp_bridge_domain_dump -{ - option status="in_progress"; - u32 client_index; - u32 context; -}; -define gbp_bridge_domain_details -{ - option status="in_progress"; - u32 context; - vl_api_gbp_bridge_domain_t bd; -}; - -typedef u16 gbp_scope; - -typedef gbp_route_domain -{ - u32 rd_id; - u32 ip4_table_id; - u32 ip6_table_id; - vl_api_interface_index_t ip4_uu_sw_if_index; - vl_api_interface_index_t ip6_uu_sw_if_index; - vl_api_gbp_scope_t scope; -}; - - autoreply define gbp_route_domain_add -{ - option status="in_progress"; - u32 client_index; - u32 context; - vl_api_gbp_route_domain_t rd; -}; - autoreply define gbp_route_domain_del -{ - option status="in_progress"; - u32 client_index; - u32 context; - u32 rd_id; -}; -autoreply define gbp_route_domain_dump -{ - option status="in_progress"; - u32 client_index; - u32 context; -}; -define gbp_route_domain_details -{ - option status="in_progress"; - u32 context; - vl_api_gbp_route_domain_t rd; -}; - -/** \brief Endpoint - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request -*/ - -enum gbp_endpoint_flags -{ - GBP_API_ENDPOINT_FLAG_NONE = 0, - GBP_API_ENDPOINT_FLAG_BOUNCE = 0x1, - GBP_API_ENDPOINT_FLAG_REMOTE = 0x2, - GBP_API_ENDPOINT_FLAG_LEARNT = 0x4, - GBP_API_ENDPOINT_FLAG_EXTERNAL = 0x8, -}; - -typedef gbp_endpoint_tun -{ - vl_api_address_t src; - vl_api_address_t dst; -}; - -typedef gbp_endpoint -{ - vl_api_interface_index_t sw_if_index; - u16 sclass; - vl_api_gbp_endpoint_flags_t flags; - vl_api_mac_address_t mac; - vl_api_gbp_endpoint_tun_t tun; - u8 n_ips; - vl_api_address_t ips[n_ips]; -}; - - define gbp_endpoint_add -{ - option status="in_progress"; - u32 client_index; - u32 context; - vl_api_gbp_endpoint_t endpoint; -}; - -define gbp_endpoint_add_reply -{ - option status="in_progress"; - u32 context; - i32 retval; - u32 handle; -}; - - autoreply define gbp_endpoint_del -{ - option status="in_progress"; - u32 client_index; - u32 context; - u32 handle; -}; - -define gbp_endpoint_dump -{ - option status="in_progress"; - u32 client_index; - u32 context; -}; - -define gbp_endpoint_details -{ - option status="in_progress"; - u32 context; - f64 age; - u32 handle; - vl_api_gbp_endpoint_t endpoint; -}; - -typedef gbp_endpoint_retention -{ - u32 remote_ep_timeout; -}; - -typedef gbp_endpoint_group -{ - u32 vnid; - u16 sclass; - u32 bd_id; - u32 rd_id; - vl_api_interface_index_t uplink_sw_if_index; - vl_api_gbp_endpoint_retention_t retention; -}; - - autoreply define gbp_endpoint_group_add -{ - option status="in_progress"; - u32 client_index; - u32 context; - vl_api_gbp_endpoint_group_t epg; -}; - autoreply define gbp_endpoint_group_del -{ - option status="in_progress"; - u32 client_index; - u32 context; - u16 sclass; -}; - -define gbp_endpoint_group_dump -{ - option status="in_progress"; - u32 client_index; - u32 context; -}; - -define gbp_endpoint_group_details -{ - option status="in_progress"; - u32 context; - vl_api_gbp_endpoint_group_t epg; -}; - -typedef gbp_recirc -{ - vl_api_interface_index_t sw_if_index; - u16 sclass; - bool is_ext; -}; - - autoreply define gbp_recirc_add_del -{ - option status="in_progress"; - u32 client_index; - u32 context; - bool is_add; - vl_api_gbp_recirc_t recirc; -}; - -define gbp_recirc_dump -{ - option status="in_progress"; - u32 client_index; - u32 context; -}; - -define gbp_recirc_details -{ - option status="in_progress"; - u32 context; - vl_api_gbp_recirc_t recirc; -}; - -enum gbp_subnet_type -{ - GBP_API_SUBNET_TRANSPORT, - GBP_API_SUBNET_STITCHED_INTERNAL, - GBP_API_SUBNET_STITCHED_EXTERNAL, - GBP_API_SUBNET_L3_OUT, - GBP_API_SUBNET_ANON_L3_OUT, -}; - -typedef gbp_subnet -{ - u32 rd_id; - vl_api_interface_index_t sw_if_index [default= 0xffffffff]; - u16 sclass [default=0xffffffff]; - vl_api_gbp_subnet_type_t type; - vl_api_prefix_t prefix; -}; - - autoreply define gbp_subnet_add_del -{ - option status="in_progress"; - u32 client_index; - u32 context; - bool is_add; - vl_api_gbp_subnet_t subnet; -}; - -define gbp_subnet_dump -{ - option status="in_progress"; - u32 client_index; - u32 context; -}; - -define gbp_subnet_details -{ - option status="in_progress"; - u32 context; - vl_api_gbp_subnet_t subnet; -}; - -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, - GBP_API_HASH_MODE_SYMMETRIC, -}; - -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 -{ - vl_api_gbp_scope_t scope; - 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]; -}; - - define gbp_contract_add_del -{ - option status="in_progress"; - u32 client_index; - u32 context; - bool is_add; - vl_api_gbp_contract_t contract; -}; -define gbp_contract_add_del_reply -{ - option status="in_progress"; - u32 context; - i32 retval; - u32 stats_index; -}; - -define gbp_contract_dump -{ - option status="in_progress"; - u32 client_index; - u32 context; -}; - -define gbp_contract_details -{ - option status="in_progress"; - u32 context; - vl_api_gbp_contract_t contract; -}; - -/** - * @brief Configure a 'base' tunnel from which learned tunnels - * are permitted to derive - * A base tunnel consists only of the VNI, any src,dst IP - * pair is thus allowed. - */ -enum gbp_vxlan_tunnel_mode -{ - GBP_VXLAN_TUNNEL_MODE_L2, - GBP_VXLAN_TUNNEL_MODE_L3, -}; - -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 -{ - option status="in_progress"; - u32 client_index; - u32 context; - vl_api_gbp_vxlan_tunnel_t tunnel; -}; - -define gbp_vxlan_tunnel_add_reply -{ - option status="in_progress"; - u32 context; - i32 retval; - vl_api_interface_index_t sw_if_index; -}; - - autoreply define gbp_vxlan_tunnel_del -{ - option status="in_progress"; - u32 client_index; - u32 context; - u32 vni; -}; - -define gbp_vxlan_tunnel_dump -{ - option status="in_progress"; - u32 client_index; - u32 context; -}; - -define gbp_vxlan_tunnel_details -{ - option status="in_progress"; - u32 context; - vl_api_gbp_vxlan_tunnel_t tunnel; -}; - -enum gbp_ext_itf_flags -{ - GBP_API_EXT_ITF_F_NONE = 0, - GBP_API_EXT_ITF_F_ANON = 1, -}; - -typedef gbp_ext_itf -{ - vl_api_interface_index_t sw_if_index; - u32 bd_id; - u32 rd_id; - vl_api_gbp_ext_itf_flags_t flags; -}; - - autoreply define gbp_ext_itf_add_del -{ - option status="in_progress"; - u32 client_index; - u32 context; - bool is_add; - vl_api_gbp_ext_itf_t ext_itf; -}; - -define gbp_ext_itf_dump -{ - option status="in_progress"; - u32 client_index; - u32 context; -}; - -define gbp_ext_itf_details -{ - option status="in_progress"; - u32 context; - vl_api_gbp_ext_itf_t ext_itf; -}; - -/* - * Local Variables: - * eval: (c-set-style "gnu") - * End: - */ |