X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fgbp%2Fgbp.api;h=f7643c76c02db44da726a86378cb69ccd3a5f27c;hb=d2f8fb9c7;hp=bf7c167a42f05cccf1cd1fbe78b16a616f09e8db;hpb=b6a47953973f7c94239c394b649100e91bdb2152;p=vpp.git diff --git a/src/plugins/gbp/gbp.api b/src/plugins/gbp/gbp.api index bf7c167a42f..f7643c76c02 100644 --- a/src/plugins/gbp/gbp.api +++ b/src/plugins/gbp/gbp.api @@ -18,72 +18,89 @@ 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; - u32 bvi_sw_if_index; - u32 uu_fwd_sw_if_index; + 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 +manual_print 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 +manual_print 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; - u32 ip4_uu_sw_if_index; - u32 ip6_uu_sw_if_index; + 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 +manual_print 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 +manual_print 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; }; @@ -99,8 +116,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, }; @@ -112,8 +127,8 @@ typedef gbp_endpoint_tun typedef gbp_endpoint { - u32 sw_if_index; - u16 epg_id; + 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; @@ -121,8 +136,9 @@ typedef gbp_endpoint vl_api_address_t ips[n_ips]; }; -define gbp_endpoint_add +manual_print define gbp_endpoint_add { + option status="in_progress"; u32 client_index; u32 context; vl_api_gbp_endpoint_t endpoint; @@ -130,13 +146,15 @@ define gbp_endpoint_add define gbp_endpoint_add_reply { + option status="in_progress"; u32 context; i32 retval; u32 handle; }; -autoreply define gbp_endpoint_del +manual_print autoreply define gbp_endpoint_del { + option status="in_progress"; u32 client_index; u32 context; u32 handle; @@ -144,74 +162,90 @@ autoreply define gbp_endpoint_del 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; }; -typeonly define gbp_endpoint_group +typedef gbp_endpoint_retention +{ + u32 remote_ep_timeout; +}; + +typedef gbp_endpoint_group { - u16 epg_id; + u32 vnid; + u16 sclass; u32 bd_id; u32 rd_id; - u32 uplink_sw_if_index; + vl_api_interface_index_t uplink_sw_if_index; + vl_api_gbp_endpoint_retention_t retention; }; -autoreply define gbp_endpoint_group_add +manual_print 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 +manual_print autoreply define gbp_endpoint_group_del { + option status="in_progress"; u32 client_index; u32 context; - u16 epg_id; + 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; }; -typeonly define gbp_recirc +typedef gbp_recirc { - u32 sw_if_index; - u16 epg_id; - u8 is_ext; + vl_api_interface_index_t sw_if_index; + u16 sclass; + bool is_ext; }; -autoreply define gbp_recirc_add_del +manual_print autoreply define gbp_recirc_add_del { + option status="in_progress"; u32 client_index; u32 context; - u8 is_add; + 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; }; @@ -222,33 +256,37 @@ enum gbp_subnet_type GBP_API_SUBNET_STITCHED_INTERNAL, GBP_API_SUBNET_STITCHED_EXTERNAL, GBP_API_SUBNET_L3_OUT, + GBP_API_SUBNET_ANON_L3_OUT, }; -typeonly define gbp_subnet +typedef gbp_subnet { u32 rd_id; - u32 sw_if_index; - u16 epg_id; + vl_api_interface_index_t sw_if_index; + u16 sclass; vl_api_gbp_subnet_type_t type; vl_api_prefix_t prefix; }; -autoreply define gbp_subnet_add_del +manual_print autoreply define gbp_subnet_add_del { + option status="in_progress"; u32 client_index; u32 context; - u8 is_add; + 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; }; @@ -290,45 +328,46 @@ typedef gbp_rule typedef gbp_contract { - u16 src_epg; - u16 dst_epg; + 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]; }; -autoreply define gbp_contract_add_del +manual_print define gbp_contract_add_del { + option status="in_progress"; u32 client_index; u32 context; - u8 is_add; + 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 Set the time throeshold after which an endpoint is - considered inative and is aged/reaped by the scanner - * @param threshold In seconds - */ -autoreply define gbp_endpoint_learn_set_inactive_threshold -{ - u32 client_index; - u32 context; - u32 threshold; -}; - /** * @brief Configure a 'base' tunnel from which learned tunnels * are permitted to derive @@ -346,10 +385,12 @@ 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 +manual_print define gbp_vxlan_tunnel_add { + option status="in_progress"; u32 client_index; u32 context; vl_api_gbp_vxlan_tunnel_t tunnel; @@ -357,13 +398,15 @@ define gbp_vxlan_tunnel_add define gbp_vxlan_tunnel_add_reply { + option status="in_progress"; u32 context; i32 retval; - u32 sw_if_index; + vl_api_interface_index_t sw_if_index; }; -autoreply define gbp_vxlan_tunnel_del +manual_print autoreply define gbp_vxlan_tunnel_del { + option status="in_progress"; u32 client_index; u32 context; u32 vni; @@ -371,39 +414,51 @@ autoreply define gbp_vxlan_tunnel_del 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; }; -typeonly define gbp_ext_itf +enum gbp_ext_itf_flags +{ + GBP_API_EXT_ITF_F_NONE = 0, + GBP_API_EXT_ITF_F_ANON = 1, +}; + +typedef gbp_ext_itf { - u32 sw_if_index; + 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 +manual_print autoreply define gbp_ext_itf_add_del { + option status="in_progress"; u32 client_index; u32 context; - u8 is_add; + 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; };