[dpdk-dev] [PATCH] net/virtio-user: fix implicit int to enum conversion

Tan, Jianfeng jianfeng.tan at intel.com
Fri Jun 24 02:51:13 CEST 2016


Hi Stephen,

> -----Original Message-----
> From: Stephen Hemminger [mailto:stephen at networkplumber.org]
> Sent: Friday, June 24, 2016 4:51 AM
> To: Tan, Jianfeng
> Cc: dev at dpdk.org; yuanhan.liu at linux.intel.com; Xie, Huawei
> Subject: Re: [dpdk-dev] [PATCH] net/virtio-user: fix implicit int to enum
> conversion
> 
> On Thu, 23 Jun 2016 07:40:20 +0000
> Jianfeng Tan <jianfeng.tan at intel.com> wrote:
> 
> > Implicit int to enum conversion is not allowed when icc is used as
> > the compiler. It raises the compiling error like,
> >     /.../dpdk/drivers/net/virtio/virtio_user/vhost_user.c(257):
> >         error #188: enumerated type mixed with another type
> >   	msg.request = req;
> >   	            ^
> >
> > The fix is simple, aka make such conversion explicit.
> >
> > Fixes: 6a84c37e3975 ("net/virtio-user: add vhost-user adapter layer")
> >
> > Signed-off-by: Jianfeng Tan <jianfeng.tan at intel.com>
> > ---
> >  drivers/net/virtio/virtio_user/vhost_user.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/virtio/virtio_user/vhost_user.c
> b/drivers/net/virtio/virtio_user/vhost_user.c
> > index 95e80f8..e2772d5 100644
> > --- a/drivers/net/virtio/virtio_user/vhost_user.c
> > +++ b/drivers/net/virtio/virtio_user/vhost_user.c
> > @@ -254,7 +254,7 @@ vhost_user_sock(int vhostfd, uint64_t req, void
> *arg)
> >
> >  	PMD_DRV_LOG(INFO, "%s", vhost_msg_strings[req]);
> >
> > -	msg.request = req;
> > +	msg.request = (enum vhost_user_request)req;
> >  	msg.flags = VHOST_USER_VERSION;
> >  	msg.size = 0;
> >
> 
> Why not just just change API, to use enum? This would move type checking
> out to the user.

The history reason to do this is to adapt both vhost-user and vhost-net request. But yes, now we only have vhost-user supported, I'll change to use enum instead of uint64_t as the type of req.

Thank you for suggestion!

Thanks,
Jianfeng




More information about the dev mailing list