Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
GBP: contracts API fixed length of allowed ethertypes
[vpp.git]
/
src
/
plugins
/
gbp
/
gbp.api
diff --git
a/src/plugins/gbp/gbp.api
b/src/plugins/gbp/gbp.api
index
bf42243
..
ae45159
100644
(file)
--- a/
src/plugins/gbp/gbp.api
+++ b/
src/plugins/gbp/gbp.api
@@
-19,11
+19,19
@@
option version = "2.0.0";
import "vnet/ip/ip_types.api";
import "vnet/ethernet/ethernet_types.api";
import "vnet/ip/ip_types.api";
import "vnet/ethernet/ethernet_types.api";
+enum gbp_bridge_domain_flags
+{
+ GBP_BD_API_FLAG_NONE = 0,
+ GBP_BD_API_FLAG_DO_NOT_LEARN = 1,
+};
+
typedef gbp_bridge_domain
{
u32 bd_id;
typedef gbp_bridge_domain
{
u32 bd_id;
+ vl_api_gbp_bridge_domain_flags_t flags;
u32 bvi_sw_if_index;
u32 uu_fwd_sw_if_index;
u32 bvi_sw_if_index;
u32 uu_fwd_sw_if_index;
+ u32 bm_flood_sw_if_index;
};
autoreply define gbp_bridge_domain_add
};
autoreply define gbp_bridge_domain_add
@@
-88,12
+96,11
@@
define gbp_route_domain_details
enum gbp_endpoint_flags
{
enum gbp_endpoint_flags
{
- NONE = 0,
- BOUNCE = 0x1,
- REMOTE = 0x2,
- LEARNT = 0x4,
- /* hey Ole WTF */
- REMOTE_LEARNT = 0x6,
+ 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
};
typedef gbp_endpoint_tun
@@
-105,7
+112,7
@@
typedef gbp_endpoint_tun
typedef gbp_endpoint
{
u32 sw_if_index;
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;
vl_api_gbp_endpoint_flags_t flags;
vl_api_mac_address_t mac;
vl_api_gbp_endpoint_tun_t tun;
@@
-148,12
+155,19
@@
define gbp_endpoint_details
vl_api_gbp_endpoint_t endpoint;
};
vl_api_gbp_endpoint_t endpoint;
};
+typedef gbp_endpoint_retention
+{
+ u32 remote_ep_timeout;
+};
+
typeonly define gbp_endpoint_group
{
typeonly define gbp_endpoint_group
{
- u16 epg_id;
+ u32 vnid;
+ u16 sclass;
u32 bd_id;
u32 rd_id;
u32 uplink_sw_if_index;
u32 bd_id;
u32 rd_id;
u32 uplink_sw_if_index;
+ vl_api_gbp_endpoint_retention_t retention;
};
autoreply define gbp_endpoint_group_add
};
autoreply define gbp_endpoint_group_add
@@
-166,7
+180,7
@@
autoreply define gbp_endpoint_group_del
{
u32 client_index;
u32 context;
{
u32 client_index;
u32 context;
- u16
epg_id
;
+ u16
sclass
;
};
define gbp_endpoint_group_dump
};
define gbp_endpoint_group_dump
@@
-184,7
+198,7
@@
define gbp_endpoint_group_details
typeonly define gbp_recirc
{
u32 sw_if_index;
typeonly define gbp_recirc
{
u32 sw_if_index;
- u16
epg_id
;
+ u16
sclass
;
u8 is_ext;
};
u8 is_ext;
};
@@
-213,13
+227,14
@@
enum gbp_subnet_type
GBP_API_SUBNET_TRANSPORT,
GBP_API_SUBNET_STITCHED_INTERNAL,
GBP_API_SUBNET_STITCHED_EXTERNAL,
GBP_API_SUBNET_TRANSPORT,
GBP_API_SUBNET_STITCHED_INTERNAL,
GBP_API_SUBNET_STITCHED_EXTERNAL,
+ GBP_API_SUBNET_L3_OUT,
};
typeonly define gbp_subnet
{
u32 rd_id;
u32 sw_if_index;
};
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;
};
vl_api_gbp_subnet_type_t type;
vl_api_prefix_t prefix;
};
@@
-244,11
+259,50
@@
define gbp_subnet_details
vl_api_gbp_subnet_t subnet;
};
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,
+ GBP_API_HASH_MODE_SYMMETRIC,
+};
+
+typedef gbp_next_hop_set
{
{
- u16 src_epg;
- u16 dst_epg;
+ 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 sclass;
+ u16 dclass;
u32 acl_index;
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
};
autoreply define gbp_contract_add_del
@@
-271,18
+325,6
@@
define gbp_contract_details
vl_api_gbp_contract_t contract;
};
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
/**
* @brief Configure a 'base' tunnel from which learned tunnels
* are permitted to derive
@@
-300,6
+342,7
@@
typedef gbp_vxlan_tunnel
u32 vni;
vl_api_gbp_vxlan_tunnel_mode_t mode;
u32 bd_rd_id;
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
};
define gbp_vxlan_tunnel_add
@@
-335,6
+378,33
@@
define gbp_vxlan_tunnel_details
vl_api_gbp_vxlan_tunnel_t tunnel;
};
vl_api_gbp_vxlan_tunnel_t tunnel;
};
+typeonly define gbp_ext_itf
+{
+ u32 sw_if_index;
+ u32 bd_id;
+ u32 rd_id;
+};
+
+autoreply define gbp_ext_itf_add_del
+{
+ u32 client_index;
+ u32 context;
+ u8 is_add;
+ vl_api_gbp_ext_itf_t ext_itf;
+};
+
+define gbp_ext_itf_dump
+{
+ u32 client_index;
+ u32 context;
+};
+
+define gbp_ext_itf_details
+{
+ u32 context;
+ vl_api_gbp_ext_itf_t ext_itf;
+};
+
/*
* Local Variables:
* eval: (c-set-style "gnu")
/*
* Local Variables:
* eval: (c-set-style "gnu")