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 に答える