I didn’t upgrade my kernel for a while since 3.12. After upgrading the Linux kernel to version 3.13.5-031305-generic (published today in the Ubuntu mainline kernel PPA) on Ubuntu Saucy, vmplayer 6.0.1 build-1379776 (x86_64) threw the following error while compiling the vmnet module:
# vmware-modconfig --console --install-all ... /tmp/modconfig-OEBtR5/vmnet-only/filter.c:206:1: error: conflicting types for ‘VNetFilterHookFn’ VNetFilterHookFn(unsigned int hooknum, // IN: ^ /tmp/modconfig-OEBtR5/vmnet-only/filter.c:64:18: note: previous declaration of ‘VNetFilterHookFn’ was here static nf_hookfn VNetFilterHookFn; ...
NetFilter is enabled and compiled in with the generic mainline kernel. I wanted to keep the change localized to the vmnet driver code and used the same signature from filter.c that VNetFilterHookFn uses. I have uploaded the patch here.
To apply the patch and recompile the modules run the following as root:
# cd /usr/lib/vmware/modules/source # tar -xf vmnet.tar # cd vmnet-only # patch < filter.patch # cd .. # tar -cf vmnet.tar vmnet-only/ # vmware-modconfig --console --install-all
After applying the patch vmplayer compiled without any further issues and the network works fine on my VMs.