- 论坛徽章:
- 0
|
向netfilter注册了NF_IP_FORWARD钩子函数,自己实现的函数如下,
目的无非就是想得到源IP地址和目的IP地址,编译后报错如下
struct iphdr *hdr = skb->nh.iph;这行dereferencing pointer to incomplete type
想不明白,请问这是怎么回事呀?
static unsigned int My_ip_forward(
unsigned int hooknum,
struct sk_buff ** pskb,
const struct net_device *in,
const struct net_device *out,
int (*okfn) (struct sk_buff *)
)
{
struct in_addr *srcaddr, *dstaddr;
//__u32 *srcaddr, *dstaddr;
struct sk_buff *skb = *pskb;
if(skb)
{
struct iphdr *hdr = skb->nh.iph;
srcaddr = ( struct in_addr * )(hdr->saddr);
}
return NF_ACCEPT;
} |
|