+odp_set_tunnel_action(const struct nlattr *a, struct flow_tnl *tun_key)
+{
+ enum odp_key_fitness fitness;
+
+ fitness = odp_tun_key_from_attr(a, tun_key);
+ ovs_assert(fitness != ODP_FIT_ERROR);
+}
+
+static void
+set_arp(struct ofpbuf *packet, const struct ovs_key_arp *arp_key)
+{
+ struct arp_eth_header *arp = packet->l3;
+
+ arp->ar_op = arp_key->arp_op;
+ memcpy(arp->ar_sha, arp_key->arp_sha, ETH_ADDR_LEN);
+ put_16aligned_be32(&arp->ar_spa, arp_key->arp_sip);
+ memcpy(arp->ar_tha, arp_key->arp_tha, ETH_ADDR_LEN);
+ put_16aligned_be32(&arp->ar_tpa, arp_key->arp_tip);
+}
+
+static void
+odp_execute_set_action(struct ofpbuf *packet, const struct nlattr *a,
+ struct pkt_metadata *md)