我在内核中为ipv4写了一个netfilter实现,它运行正常。我浏览了互联网,我无法找到在内核中编写ipv6 netfilter的示例。我有一个粗略的想法如何写它。你能帮我纠正一下它的错误吗?此代码导致内核崩溃。我会告诉你代码的大纲。
sa.hook = hookfunction;
sa.hooknum = NF_INET_POST_ROUTING;
sa.pf = PF_INET6;
sa.priority = NF_IP6_PRI_LAST;
nf_register_hook(&sa);
hookfunction() {
struct ipv6hdr *ipv6;
struct udphdr *udp;
ipv6 = (struct ipv6hdr *) skb_network_header(skb);
udp = (struct udphdr *) skb_transport_header(skb);
//printing the values of src add, dest add, src port, dst port
NF_ACCEPT;
}