X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fflow%2Fflow_types.api;h=86f7ce128cb45f2a5f34404afe5cfc3f7a962a8c;hb=91f102ed8;hp=d872d6eb2647f9b088f337b582f921f99f525625;hpb=d0236f725d31e5e5d23e5f207b1a317fcd96a964;p=vpp.git diff --git a/src/vnet/flow/flow_types.api b/src/vnet/flow/flow_types.api index d872d6eb264..86f7ce128cb 100644 --- a/src/vnet/flow/flow_types.api +++ b/src/vnet/flow/flow_types.api @@ -14,20 +14,22 @@ * limitations under the License. */ -option version = "0.0.1"; +option version = "0.0.3"; import "vnet/ethernet/ethernet_types.api"; import "vnet/ip/ip_types.api"; enum flow_type { FLOW_TYPE_ETHERNET = 1, + FLOW_TYPE_IP4, + FLOW_TYPE_IP6, + FLOW_TYPE_IP4_L2TPV3OIP, + FLOW_TYPE_IP4_IPSEC_ESP, + FLOW_TYPE_IP4_IPSEC_AH, FLOW_TYPE_IP4_N_TUPLE, FLOW_TYPE_IP6_N_TUPLE, FLOW_TYPE_IP4_N_TUPLE_TAGGED, FLOW_TYPE_IP6_N_TUPLE_TAGGED, - FLOW_TYPE_IP4_L2TPV3OIP, - FLOW_TYPE_IP4_IPSEC_ESP, - FLOW_TYPE_IP4_IPSEC_AH, FLOW_TYPE_IP4_VXLAN, FLOW_TYPE_IP6_VXLAN, FLOW_TYPE_IP4_GTPC, @@ -50,6 +52,12 @@ typedef ip_port_and_mask u16 mask; }; +typedef ip_prot_and_mask +{ + vl_api_ip_proto_t prot; + u8 mask; +}; + typedef flow_ethernet { i32 foo; @@ -58,14 +66,30 @@ typedef flow_ethernet u16 type; }; +typedef flow_ip4 +{ + i32 foo; + vl_api_ip4_address_and_mask_t src_addr; + vl_api_ip4_address_and_mask_t dst_addr; + vl_api_ip_prot_and_mask_t protocol; +}; + +typedef flow_ip6 +{ + i32 foo; + vl_api_ip6_address_and_mask_t src_addr; + vl_api_ip6_address_and_mask_t dst_addr; + vl_api_ip_prot_and_mask_t protocol; +}; + typedef flow_ip4_n_tuple { i32 foo; vl_api_ip4_address_and_mask_t src_addr; vl_api_ip4_address_and_mask_t dst_addr; + vl_api_ip_prot_and_mask_t protocol; vl_api_ip_port_and_mask_t src_port; vl_api_ip_port_and_mask_t dst_port; - vl_api_ip_proto_t protocol; }; typedef flow_ip6_n_tuple @@ -73,9 +97,9 @@ typedef flow_ip6_n_tuple i32 foo; vl_api_ip6_address_and_mask_t src_addr; vl_api_ip6_address_and_mask_t dst_addr; + vl_api_ip_prot_and_mask_t protocol; vl_api_ip_port_and_mask_t src_port; vl_api_ip_port_and_mask_t dst_port; - vl_api_ip_proto_t protocol; }; typedef flow_ip4_n_tuple_tagged @@ -83,9 +107,9 @@ typedef flow_ip4_n_tuple_tagged i32 foo; vl_api_ip4_address_and_mask_t src_addr; vl_api_ip4_address_and_mask_t dst_addr; + vl_api_ip_prot_and_mask_t protocol; vl_api_ip_port_and_mask_t src_port; vl_api_ip_port_and_mask_t dst_port; - vl_api_ip_proto_t protocol; }; typedef flow_ip6_n_tuple_tagged @@ -93,9 +117,9 @@ typedef flow_ip6_n_tuple_tagged i32 foo; vl_api_ip6_address_and_mask_t src_addr; vl_api_ip6_address_and_mask_t dst_addr; + vl_api_ip_prot_and_mask_t protocol; vl_api_ip_port_and_mask_t src_port; vl_api_ip_port_and_mask_t dst_port; - vl_api_ip_proto_t protocol; }; typedef flow_ip4_l2tpv3oip @@ -103,9 +127,7 @@ typedef flow_ip4_l2tpv3oip i32 foo; vl_api_ip4_address_and_mask_t src_addr; vl_api_ip4_address_and_mask_t dst_addr; - vl_api_ip_port_and_mask_t src_port; - vl_api_ip_port_and_mask_t dst_port; - vl_api_ip_proto_t protocol; + vl_api_ip_prot_and_mask_t protocol; u32 session_id; }; @@ -114,9 +136,7 @@ typedef flow_ip4_ipsec_esp i32 foo; vl_api_ip4_address_and_mask_t src_addr; vl_api_ip4_address_and_mask_t dst_addr; - vl_api_ip_port_and_mask_t src_port; - vl_api_ip_port_and_mask_t dst_port; - vl_api_ip_proto_t protocol; + vl_api_ip_prot_and_mask_t protocol; u32 spi; }; @@ -125,28 +145,30 @@ typedef flow_ip4_ipsec_ah i32 foo; vl_api_ip4_address_and_mask_t src_addr; vl_api_ip4_address_and_mask_t dst_addr; - vl_api_ip_port_and_mask_t src_port; - vl_api_ip_port_and_mask_t dst_port; - vl_api_ip_proto_t protocol; + vl_api_ip_prot_and_mask_t protocol; u32 spi; }; typedef flow_ip4_vxlan { i32 foo; - vl_api_ip4_address_t src_addr; - vl_api_ip4_address_t dst_addr; - u16 dst_port; - u16 vni; + vl_api_ip4_address_and_mask_t src_addr; + vl_api_ip4_address_and_mask_t dst_addr; + vl_api_ip_prot_and_mask_t protocol; + vl_api_ip_port_and_mask_t src_port; + vl_api_ip_port_and_mask_t dst_port; + u32 vni; }; typedef flow_ip6_vxlan { i32 foo; - vl_api_ip6_address_t src_addr; - vl_api_ip6_address_t dst_addr; - u16 dst_port; - u16 vni; + vl_api_ip6_address_and_mask_t src_addr; + vl_api_ip6_address_and_mask_t dst_addr; + vl_api_ip_prot_and_mask_t protocol; + vl_api_ip_port_and_mask_t src_port; + vl_api_ip_port_and_mask_t dst_port; + u32 vni; }; typedef flow_ip4_gtpc @@ -154,9 +176,9 @@ typedef flow_ip4_gtpc i32 foo; vl_api_ip4_address_and_mask_t src_addr; vl_api_ip4_address_and_mask_t dst_addr; + vl_api_ip_prot_and_mask_t protocol; vl_api_ip_port_and_mask_t src_port; vl_api_ip_port_and_mask_t dst_port; - vl_api_ip_proto_t protocol; u32 teid; }; @@ -165,22 +187,24 @@ typedef flow_ip4_gtpu i32 foo; vl_api_ip4_address_and_mask_t src_addr; vl_api_ip4_address_and_mask_t dst_addr; + vl_api_ip_prot_and_mask_t protocol; vl_api_ip_port_and_mask_t src_port; vl_api_ip_port_and_mask_t dst_port; - vl_api_ip_proto_t protocol; u32 teid; }; union flow { vl_api_flow_ethernet_t ethernet; + vl_api_flow_ip4_t ip4; + vl_api_flow_ip6_t ip6; + vl_api_flow_ip4_l2tpv3oip_t ip4_l2tpv3oip; + vl_api_flow_ip4_ipsec_esp_t ip4_ipsec_esp; + vl_api_flow_ip4_ipsec_ah_t ip4_ipsec_ah; vl_api_flow_ip4_n_tuple_t ip4_n_tuple; vl_api_flow_ip6_n_tuple_t ip6_n_tuple; vl_api_flow_ip4_n_tuple_tagged_t ip4_n_tuple_tagged; vl_api_flow_ip6_n_tuple_tagged_t ip6_n_tuple_tagged; - vl_api_flow_ip4_l2tpv3oip_t ip4_l2tpv3oip; - vl_api_flow_ip4_ipsec_esp_t ip4_ipsec_esp; - vl_api_flow_ip4_ipsec_ah_t ip4_ipsec_ah; vl_api_flow_ip4_vxlan_t ip4_vxlan; vl_api_flow_ip6_vxlan_t ip6_vxlan; vl_api_flow_ip4_gtpc_t ip4_gtpc;