- if (attrs & (1ULL << OVS_KEY_ATTR_TUN_ID) &&
- attrs & (1ULL << OVS_KEY_ATTR_TUNNEL)) {
- __be64 tun_id;
-
- err = ipv4_tun_from_nlattr(a[OVS_KEY_ATTR_TUNNEL], &swkey->tun_key);
- if (err)
- return err;
-
- if (!(swkey->tun_key.tun_flags & OVS_TNL_F_KEY))
- return -EINVAL;
-
- tun_id = nla_get_be64(a[OVS_KEY_ATTR_TUN_ID]);
- if (tun_id != swkey->tun_key.tun_id)
- return -EINVAL;
-
- attrs &= ~(1ULL << OVS_KEY_ATTR_TUN_ID);
- attrs &= ~(1ULL << OVS_KEY_ATTR_TUNNEL);
- } else if (attrs & (1ULL << OVS_KEY_ATTR_TUNNEL)) {
-