On Thu, Jun 19, 2014 at 05:33:02PM +0300, Nikolay Nikolaev wrote: > Hello, > > > On Thu, Jun 19, 2014 at 5:24 PM, Michael S. Tsirkin <[email protected]> wrote: > > On Thu, Jun 19, 2014 at 05:16:44PM +0300, Nikolay Nikolaev wrote: > > Hello, > > > > > > On Wed, Jun 18, 2014 at 11:45 PM, Nikolay Nikolaev < > > [email protected]> wrote: > > > > Make net.o linkage expect net_init_vhost_user only when > > CONFIG_VHOST_NET is defined. > > > > Signed-off-by: Nikolay Nikolaev <[email protected]> > > --- > > net/net.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/net/net.c b/net/net.c > > index de76e30..0c30414 100644 > > --- a/net/net.c > > +++ b/net/net.c > > @@ -803,7 +803,9 @@ static int (* const net_client_init_fun > > [NET_CLIENT_OPTIONS_KIND_MAX])( > > [NET_CLIENT_OPTIONS_KIND_BRIDGE] = net_init_bridge, > > #endif > > [NET_CLIENT_OPTIONS_KIND_HUBPORT] = net_init_hubport, > > +#ifdef CONFIG_VHOST_NET > > [NET_CLIENT_OPTIONS_KIND_VHOST_USER] = net_init_vhost_user, > > +#endif > > }; > > > > > > @@ -837,7 +839,9 @@ static int net_client_init1(const void *object, > int > > is_netdev, Error **errp) > > case NET_CLIENT_OPTIONS_KIND_BRIDGE: > > #endif > > case NET_CLIENT_OPTIONS_KIND_HUBPORT: > > +#ifdef CONFIG_VHOST_NET > > case NET_CLIENT_OPTIONS_KIND_VHOST_USER: > > +#endif > > break; > > > > default: > > > > > > > > It turns out that configure puts CONFIG_VHOST_NET in the "wrong" place - > > config-target.h > > > > echo "CONFIG_VHOST_NET=y" >> $config_target_mak > > > > while for example: > > > > echo "CONFIG_VHOST_SCSI=y" >> $config_host_mak > > > > And net.c includes config-host.h, so we end up with vhost-user never > enabled in > > net.c. > > Not good. > > > Will it be a problem if CONFIG_VHOST_NET is added to config_host_mak > instead? > > > > > > regards, > > Nikolay Nikolaev > > Try it :) > It likely won't work for linux-user, right? > > -- > MST > > > You're right - its not working. > > I ended up with this: > if test "$vhost_net" = "yes" ; then > echo "CONFIG_VHOST_NET=y" >> $config_target_mak > echo "CONFIG_VHOST_NET_USER=y" >> $config_host_mak > fi > > and then in net.c depend on CONFIG_VHOST_NET_USER. Is this acceptable?
OK but 1. pls rename CONFIG_VHOST_NET_USED 2. you will make it appear many times in .mak, that's ugly, pls set a variable and output once. > > I'm preparing a patchseries including the vhost-user qtest fixes, and can > include this solution there if OK. > > regards, > Nikolay Nikolaev
