#include <linux/ip.h>
 #include <net/checksum.h>
 
+#include <linux/netfilter_ipv4.h>
+#include <linux/netfilter_ipv6.h>
 #include <linux/netfilter/x_tables.h>
 #include <linux/netfilter/xt_CLASSIFY.h>
 
                .target         = target,
                .targetsize     = sizeof(struct xt_classify_target_info),
                .table          = "mangle",
-               .hooks          = (1 << NF_IP_LOCAL_OUT) |
-                                 (1 << NF_IP_FORWARD) |
-                                 (1 << NF_IP_POST_ROUTING),
+               .hooks          = (1 << NF_IP6_LOCAL_OUT) |
+                                 (1 << NF_IP6_FORWARD) |
+                                 (1 << NF_IP6_POST_ROUTING),
                .me             = THIS_MODULE,
        },
 };
 
 #include <linux/etherdevice.h>
 
 #include <linux/netfilter_ipv4.h>
+#include <linux/netfilter_ipv6.h>
 #include <linux/netfilter/xt_mac.h>
 #include <linux/netfilter/x_tables.h>
 
                .family         = AF_INET6,
                .match          = match,
                .matchsize      = sizeof(struct xt_mac_info),
-               .hooks          = (1 << NF_IP_PRE_ROUTING) |
-                                 (1 << NF_IP_LOCAL_IN) |
-                                 (1 << NF_IP_FORWARD),
+               .hooks          = (1 << NF_IP6_PRE_ROUTING) |
+                                 (1 << NF_IP6_LOCAL_IN) |
+                                 (1 << NF_IP6_FORWARD),
                .me             = THIS_MODULE,
        },
 };