*/
 struct nft_set_ops {
        bool                            (*lookup)(const struct nft_set *set,
-                                                 const struct nft_data *key,
+                                                 const u32 *key,
                                                  const struct nft_set_ext **ext);
        bool                            (*update)(struct nft_set *set,
-                                                 const struct nft_data *key,
+                                                 const u32 *key,
                                                  void *(*new)(struct nft_set *,
                                                               const struct nft_expr *,
                                                               struct nft_regs *),
 
 
 struct nft_hash_cmp_arg {
        const struct nft_set            *set;
-       const struct nft_data           *key;
+       const u32                       *key;
        u8                              genmask;
 };
 
        return 0;
 }
 
-static bool nft_hash_lookup(const struct nft_set *set,
-                           const struct nft_data *key,
+static bool nft_hash_lookup(const struct nft_set *set, const u32 *key,
                            const struct nft_set_ext **ext)
 {
        struct nft_hash *priv = nft_set_priv(set);
        return !!he;
 }
 
-static bool nft_hash_update(struct nft_set *set, const struct nft_data *key,
+static bool nft_hash_update(struct nft_set *set, const u32 *key,
                            void *(*new)(struct nft_set *,
                                         const struct nft_expr *,
                                         struct nft_regs *regs),
        struct nft_hash_cmp_arg arg = {
                .genmask = nft_genmask_next(read_pnet(&set->pnet)),
                .set     = set,
-               .key     = &elem->key,
+               .key     = elem->key.data,
        };
 
        return rhashtable_lookup_insert_key(&priv->ht, &arg, &he->node,
        struct nft_hash_cmp_arg arg = {
                .genmask = nft_genmask_next(read_pnet(&set->pnet)),
                .set     = set,
-               .key     = &elem->key,
+               .key     = elem->key.data,
        };
 
        rcu_read_lock();
 
 };
 
 
-static bool nft_rbtree_lookup(const struct nft_set *set,
-                             const struct nft_data *key,
+static bool nft_rbtree_lookup(const struct nft_set *set, const u32 *key,
                              const struct nft_set_ext **ext)
 {
        const struct nft_rbtree *priv = nft_set_priv(set);