Ubuntu 安装drcom报错error: ‘struct sk

Ubuntu下用源码安装drcom时候,make报错,9.10和10.04都此问题。

/tmp/drcom/drcom.c: In function ‘build_ack_skb’: /tmp/drcom/drcom.c:686: error: ‘struct sk_buff’ has no member named ‘dst’ /tmp/drcom/drcom.c: In function ‘build_auth_skb’: /tmp/drcom/drcom.c:723: error: ‘struct sk_buff’ has no member named ‘dst’ make[3]: *** [/tmp/drcom/drcom.o] Error 1 make[2]: *** [_module_/tmp/drcom] Error 2 make[2]: Leaving directory `/usr/src/linux-headers-2.6.32-14-generic’ make[1]: *** [default] Error 2 make[1]: Leaving directory `/tmp/drcom’ Compile drcom kernel module failed!

解决方案:

编辑/kmod/drcom.c

查找__ip_select_ident(iph, skb->dst, 0);
改为 __ip_select_ident(iph, skb_dst(skb), 0);

Tip:一共有两处需要修改,建议额外安装dkms软件包,sudo apt-get install dkms,这样就不用每次更新内核后再手动编译drcom了

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/25680.html