void *matchinfo;
        unsigned int hook_mask;
        u_int8_t family;
+       bool nft_compat;
 };
 
 /**
        void *targinfo;
        unsigned int hook_mask;
        u_int8_t family;
+       bool nft_compat;
 };
 
 /* Target destructor parameters */
 
            !(info->bitmask & EBT_STP_MASK))
                return -EINVAL;
        /* Make sure the match only receives stp frames */
-       if (!ether_addr_equal(e->destmac, bridge_ula) ||
-           !ether_addr_equal(e->destmsk, msk) || !(e->bitmask & EBT_DESTMAC))
+       if (!par->nft_compat &&
+           (!ether_addr_equal(e->destmac, bridge_ula) ||
+            !ether_addr_equal(e->destmsk, msk) ||
+            !(e->bitmask & EBT_DESTMAC)))
                return -EINVAL;
 
        return 0;
 
        struct clusterip_config *config;
        int ret;
 
+       if (par->nft_compat) {
+               pr_err("cannot use CLUSTERIP target from nftables compat\n");
+               return -EOPNOTSUPP;
+       }
+
        if (cipinfo->hash_mode != CLUSTERIP_HASHMODE_SIP &&
            cipinfo->hash_mode != CLUSTERIP_HASHMODE_SIP_SPT &&
            cipinfo->hash_mode != CLUSTERIP_HASHMODE_SIP_SPT_DPT) {
 
                par->hook_mask = 0;
        }
        par->family     = ctx->afi->family;
+       par->nft_compat = true;
 }
 
 static void target_compat_from_user(struct xt_target *t, void *in, void *out)
                par->hook_mask = 0;
        }
        par->family     = ctx->afi->family;
+       par->nft_compat = true;
 }
 
 static void match_compat_from_user(struct xt_match *m, void *in, void *out)
 
                        "FORWARD, OUTPUT and POSTROUTING hooks\n");
                return -EINVAL;
        }
+       if (par->nft_compat)
+               return 0;
+
        xt_ematch_foreach(ematch, e)
                if (find_syn_match(ematch))
                        return 0;
                        "FORWARD, OUTPUT and POSTROUTING hooks\n");
                return -EINVAL;
        }
+       if (par->nft_compat)
+               return 0;
+
        xt_ematch_foreach(ematch, e)
                if (find_syn_match(ematch))
                        return 0;