+#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)
+