10-CURRENT r235646 && open-vm-tools-8.6.0-425873
John Baldwin
jhb at freebsd.org
Mon Jun 4 17:50:14 UTC 2012
On Sunday, June 03, 2012 4:54:03 am Matthias Apitz wrote:
> El día Thursday, May 31, 2012 a las 11:34:55AM -0400, John Baldwin escribió:
>
> > On Saturday, May 26, 2012 10:22:29 am Matthias Apitz wrote:
> > >
> > > Hi,
> > >
> > > The port ports/emulators/open-vm-tools does not compile in 10-CURRENT:
> > >
> > > # make install clean
> > > ...
> > > ...
> > > if_vxn.c:719: warning: implicit declaration of function 'IF_ADDR_LOCK'
> > > if_vxn.c:719: warning: nested extern declaration of 'IF_ADDR_LOCK'
> > > [-Wnested-ext erns]
> > > if_vxn.c:746: warning: implicit declaration of function 'IF_ADDR_UNLOCK'
> > > if_vxn.c:746: warning: nested extern declaration of 'IF_ADDR_UNLOCK'
> > > [-Wnested-e xterns]
> > > *** [if_vxn.o] Error code 1
> > >
> > > Let me know if you need more information.
> > > Thanks
> >
> > It should be using if_mcast_rlock() and if_mcast_runlock() instead of
using
> > those macros directly. This works all the way back to 8.0.
>
> Hi,
>
> Is there a patch or some example how to replace
> IF_ADDR_LOCK/IF_ADDR_UNLOCK by if_mcast_rlock() and if_mcast_runlock()?
>
> The code in the above source looks like this:
>
> modules/freebsd/vmxnet/net_compat.h:
> ...
> #if __FreeBSD_version < 505000
> # define VXN_IF_ADDR_LOCK(_ifp)
> # define VXN_IF_ADDR_UNLOCK(_ifp)
> #else
> # define VXN_IF_ADDR_LOCK(_ifp) IF_ADDR_LOCK((_ifp))
> # define VXN_IF_ADDR_UNLOCK(_ifp) IF_ADDR_UNLOCK((_ifp))
> #endif
I think you can update this chunk to do:
#if __FreeBSD_version < 505000
... /* existing empty macros */
#elif __FreeBSD_version < 800000
# define VXN_IF_ADDR_LOCK(_ifp) IF_ADDR_LOCK((_ifp))
# define VXN_IF_ADDR_UNLOCK(_ifp) IF_ADDR_UNLOCK((_ifp))
#else
# define VXN_IF_ADDR_LOCK(_ifp) if_mcast_rlock((_ifp))
# define VXN_IF_ADDR_UNLOCK(_ifp) if_mcast_runlock((_ifp))
#endif
Does that help?
--
John Baldwin
More information about the freebsd-current
mailing list