microblaze: uaccess: fix put_user and get_user macros
[linux-2.6.git] / net / bridge / netfilter / ebt_ip6.c
index 807685d..bbf2534 100644 (file)
@@ -28,11 +28,9 @@ struct tcpudphdr {
 };
 
 static bool
-ebt_ip6_mt(const struct sk_buff *skb, const struct net_device *in,
-          const struct net_device *out, const struct xt_match *match,
-          const void *data, int offset, unsigned int protoff, bool *hotdrop)
+ebt_ip6_mt(const struct sk_buff *skb, const struct xt_match_param *par)
 {
-       const struct ebt_ip6_info *info = (struct ebt_ip6_info *)data;
+       const struct ebt_ip6_info *info = par->matchinfo;
        const struct ipv6hdr *ih6;
        struct ipv6hdr _ip6h;
        const struct tcpudphdr *pptr;
@@ -92,13 +90,10 @@ ebt_ip6_mt(const struct sk_buff *skb, const struct net_device *in,
        return true;
 }
 
-static bool
-ebt_ip6_mt_check(const char *table, const void *entry,
-                const struct xt_match *match, void *data,
-                unsigned int hook_mask)
+static bool ebt_ip6_mt_check(const struct xt_mtchk_param *par)
 {
-       const struct ebt_entry *e = entry;
-       struct ebt_ip6_info *info = (struct ebt_ip6_info *)data;
+       const struct ebt_entry *e = par->entryinfo;
+       struct ebt_ip6_info *info = par->matchinfo;
 
        if (e->ethproto != htons(ETH_P_IPV6) || e->invflags & EBT_IPROTO)
                return false;
@@ -121,25 +116,24 @@ ebt_ip6_mt_check(const char *table, const void *entry,
        return true;
 }
 
-static struct ebt_match filter_ip6 =
-{
-       .name           = EBT_IP6_MATCH,
+static struct xt_match ebt_ip6_mt_reg __read_mostly = {
+       .name           = "ip6",
        .revision       = 0,
        .family         = NFPROTO_BRIDGE,
        .match          = ebt_ip6_mt,
        .checkentry     = ebt_ip6_mt_check,
-       .matchsize      = XT_ALIGN(sizeof(struct ebt_ip6_info)),
+       .matchsize      = sizeof(struct ebt_ip6_info),
        .me             = THIS_MODULE,
 };
 
 static int __init ebt_ip6_init(void)
 {
-       return ebt_register_match(&filter_ip6);
+       return xt_register_match(&ebt_ip6_mt_reg);
 }
 
 static void __exit ebt_ip6_fini(void)
 {
-       ebt_unregister_match(&filter_ip6);
+       xt_unregister_match(&ebt_ip6_mt_reg);
 }
 
 module_init(ebt_ip6_init);