1

我有一个程序需要从结构“skbuff”中获取源地址,在以前的内核版本中,我可以使用以下行获取“saddr”:

static __u32
get_src_ip(const struct sk_buff *skb){
    return ntohl(skb->nh.iph->saddr);
}

以下是错误信息:

error: 'const struct sk_buff' has no member named 'nh'

谁能告诉我正确的代码?谢谢!

4

1 回答 1

2

sk_buff 自 Linux 2.6.22 起更改了它的结构名称。你应该 skb->network_header改用。

好吧,您可能还需要更改许多成员变量名称 - 只需参考最新的手册即可。

于 2009-05-03T09:50:18.290 回答