Ubuntu 安装drcom报错error: ‘struct sk_buff’ has no mem


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

  1. /tmp/drcom/drcom.c: In function ‘build_ack_skb’:
  2. /tmp/drcom/drcom.c:686: error: ‘struct sk_buff’ has no member named ‘dst’
  3. /tmp/drcom/drcom.c: In function ‘build_auth_skb’:
  4. /tmp/drcom/drcom.c:723: error: ‘struct sk_buff’ has no member named ‘dst’
  5. make[3]: *** [/tmp/drcom/drcom.o] Error 1
  6. make[2]: *** [_module_/tmp/drcom] Error 2
  7. make[2]: Leaving directory `/usr/src/linux-headers-2.6.32-14-generic’
  8. make[1]: *** [default] Error 2
  9. make[1]: Leaving directory `/tmp/drcom’
  10. 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了

相关内容