diff options
author | Chenmin Sun <chenmin.sun@intel.com> | 2019-10-18 07:35:16 +0800 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2019-11-20 17:34:48 +0000 |
commit | bf85a98fbf7622dc177ce3901f5b3cfd954b015a (patch) | |
tree | 8d607fbff3dca573e6c054b85ad678903a9952e7 /src/vnet/flow/flow.h | |
parent | 7c6102b1aabb13ad489aa10ebd5fc71665b7c665 (diff) |
flow: Add GTP support
Type: feature
Adding:
VNET_FLOW_TYPE_IP4_GTPC
VNET_FLOW_TYPE_IP4_GTPU
VNET_FLOW_TYPE_IP4_GTPU_IP4
VNET_FLOW_TYPE_IP4_GTPU_IP6
VNET_FLOW_TYPE_IP6_GTPC
VNET_FLOW_TYPE_IP6_GTPU
VNET_FLOW_TYPE_IP6_GTPU_IP4
VNET_FLOW_TYPE_IP6_GTPU_IP6
in this patch
Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: I4ad53895b5ac0771432bb039b8c79e48e3c19f25
Diffstat (limited to 'src/vnet/flow/flow.h')
-rw-r--r-- | src/vnet/flow/flow.h | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/src/vnet/flow/flow.h b/src/vnet/flow/flow.h index de09d340dc4..c0aa9119ce1 100644 --- a/src/vnet/flow/flow.h +++ b/src/vnet/flow/flow.h @@ -26,7 +26,15 @@ _(IP4_N_TUPLE, ip4_n_tuple, "ipv4-n-tuple") \ _(IP6_N_TUPLE, ip6_n_tuple, "ipv6-n-tuple") \ _(IP4_VXLAN, ip4_vxlan, "ipv4-vxlan") \ - _(IP6_VXLAN, ip6_vxlan, "ipv6-vxlan") + _(IP6_VXLAN, ip6_vxlan, "ipv6-vxlan") \ + _(IP4_GTPC, ip4_gtpc, "ipv4-gtpc") \ + _(IP4_GTPU, ip4_gtpu, "ipv4-gtpu") \ + _(IP4_GTPU_IP4, ip4_gtpu_ip4, "ipv4-gtpu-ipv4") \ + _(IP4_GTPU_IP6, ip4_gtpu_ip6, "ipv4-gtpu-ipv6") \ + _(IP6_GTPC, ip6_gtpc, "ipv6-gtpc") \ + _(IP6_GTPU, ip6_gtpu, "ipv6-gtpu") \ + _(IP6_GTPU_IP4, ip6_gtpu_ip4, "ipv6-gtpu-ipv4") \ + _(IP6_GTPU_IP6, ip6_gtpu_ip6, "ipv6-gtpu-ipv6") #define foreach_flow_entry_ip4_n_tuple \ _fe(ip4_address_and_mask_t, src_addr) \ @@ -54,6 +62,42 @@ _fe(u16, dst_port) \ _fe(u16, vni) +#define foreach_flow_entry_ip4_gtpc \ + foreach_flow_entry_ip4_n_tuple \ + _fe(u32, teid) + +#define foreach_flow_entry_ip4_gtpu \ + foreach_flow_entry_ip4_n_tuple \ + _fe(u32, teid) + +#define foreach_flow_entry_ip4_gtpu_ip4 \ + foreach_flow_entry_ip4_gtpu \ + _fe(ip4_address_and_mask_t, inner_src_addr) \ + _fe(ip4_address_and_mask_t, inner_dst_addr) + +#define foreach_flow_entry_ip4_gtpu_ip6 \ + foreach_flow_entry_ip4_gtpu \ + _fe(ip6_address_and_mask_t, inner_src_addr) \ + _fe(ip6_address_and_mask_t, inner_dst_addr) + +#define foreach_flow_entry_ip6_gtpc \ + foreach_flow_entry_ip6_n_tuple \ + _fe(u32, teid) + +#define foreach_flow_entry_ip6_gtpu \ + foreach_flow_entry_ip6_n_tuple \ + _fe(u32, teid) + +#define foreach_flow_entry_ip6_gtpu_ip4 \ + foreach_flow_entry_ip6_gtpu \ + _fe(ip4_address_and_mask_t, inner_src_addr) \ + _fe(ip4_address_and_mask_t, inner_dst_addr) + +#define foreach_flow_entry_ip6_gtpu_ip6 \ + foreach_flow_entry_ip6_gtpu \ + _fe(ip6_address_and_mask_t, inner_src_addr) \ + _fe(ip6_address_and_mask_t, inner_dst_addr) + #define foreach_flow_action \ _(0, COUNT, "count") \ _(1, MARK, "mark") \ |