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