如何从结构“skbuff”中获取saddress

时间:2009-05-03 09:05:05

标签: linux networking linux-kernel

我有一个程序,它需要从结构“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'

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

1 个答案:

答案 0 :(得分:2)

自Linux 2.6.22以来,

sk_buff更改了它的结构名称。您应该使用skb->network_header代替。

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