-}
-
-static struct sk_buff *capwap_update_header(const struct vport *vport,
- const struct tnl_mutable_config *mutable,
- struct dst_entry *dst,
- struct sk_buff *skb,
- int tunnel_hlen)
-{
- const struct ovs_key_ipv4_tunnel *tun_key = OVS_CB(skb)->tun_key;
- struct udphdr *udph = udp_hdr(skb);
- u32 flags;
- __be64 out_key;
-
- get_capwap_param(mutable, tun_key, &flags, &out_key);
-
- if (flags & TNL_F_OUT_KEY_ACTION) {
- /* first field in WSI is key */
- struct capwaphdr *cwh = (struct capwaphdr *)(udph + 1);
- struct capwaphdr_wsi *wsi = (struct capwaphdr_wsi *)(cwh + 1);
- struct capwaphdr_wsi_key *opt = (struct capwaphdr_wsi_key *)(wsi + 1);
-
- opt->key = out_key;
- }
-