+ match_set_tun_dst_masked(match, dst, OVS_BE32_MAX);
+}
+
+void
+match_set_tun_dst_masked(struct match *match, ovs_be32 dst, ovs_be32 mask)
+{
+ match->wc.masks.tunnel.ip_dst = mask;
+ match->flow.tunnel.ip_dst = dst & mask;
+}
+
+void
+match_set_tun_ttl(struct match *match, uint8_t ttl)
+{
+ match_set_tun_ttl_masked(match, ttl, UINT8_MAX);
+}
+
+void
+match_set_tun_ttl_masked(struct match *match, uint8_t ttl, uint8_t mask)
+{
+ match->wc.masks.tunnel.ip_ttl = mask;
+ match->flow.tunnel.ip_ttl = ttl & mask;
+}
+
+void
+match_set_tun_tos(struct match *match, uint8_t tos)
+{
+ match_set_tun_tos_masked(match, tos, UINT8_MAX);
+}
+
+void
+match_set_tun_tos_masked(struct match *match, uint8_t tos, uint8_t mask)
+{
+ match->wc.masks.tunnel.ip_tos = mask;
+ match->flow.tunnel.ip_tos = tos & mask;
+}
+
+void
+match_set_tun_flags(struct match *match, uint16_t flags)
+{
+ match_set_tun_flags_masked(match, flags, UINT16_MAX);
+}
+
+void
+match_set_tun_flags_masked(struct match *match, uint16_t flags, uint16_t mask)
+{
+ match->wc.masks.tunnel.flags = mask;
+ match->flow.tunnel.flags = flags & mask;
+}
+
+void
+match_set_in_port(struct match *match, ofp_port_t ofp_port)
+{
+ match->wc.masks.in_port.ofp_port = u16_to_ofp(UINT16_MAX);
+ match->flow.in_port.ofp_port = ofp_port;
+}
+
+void
+match_set_skb_priority(struct match *match, uint32_t skb_priority)
+{
+ match->wc.masks.skb_priority = UINT32_MAX;
+ match->flow.skb_priority = skb_priority;
+}
+
+void
+match_set_pkt_mark(struct match *match, uint32_t pkt_mark)
+{
+ match_set_pkt_mark_masked(match, pkt_mark, UINT32_MAX);
+}
+
+void
+match_set_pkt_mark_masked(struct match *match, uint32_t pkt_mark, uint32_t mask)
+{
+ match->flow.pkt_mark = pkt_mark & mask;
+ match->wc.masks.pkt_mark = mask;