On 20-Apr-18 5:57 PM, Jianfeng Tan wrote:
To scan the vdevs in primary, we send request to primary process
to obtain the names for vdevs.

Only the name is shared from the primary. In probe(), the device
driver is supposed to locate (or request more) the detail
information from the primary.

Signed-off-by: Jianfeng Tan <jianfeng....@intel.com>
Reviewed-by: Qi Zhang <qi.z.zh...@intel.com>
---

<...>

+static int
+vdev_action(const struct rte_mp_msg *mp_msg, const void *peer)
+{
+       struct rte_vdev_device *dev;
+       struct rte_mp_msg mp_resp;
+       struct vdev_param *ou = (struct vdev_param *)&mp_resp.param;
+       const struct vdev_param *in = (const struct vdev_param *)mp_msg->param;
+       const char *devname;
+       int num;
+
+       strcpy(mp_resp.name, "vdev");

This string is used in a lot of places, so... #define? also, i think action name is a bit too short. maybe make it more descriptive, like "bus_vdev" or something to that effect?

Also, i think Coverity will complain about not checking string length, so... strlcpy()?

+       mp_resp.len_param = sizeof(*ou);
+       mp_resp.num_fds = 0;
+
+       switch (in->type) {
+       case VDEV_SCAN_REQ:
+               ou->type = VDEV_SCAN_ONE;
+               ou->num = 1;
+               num = 0;
+
+               rte_spinlock_lock(&vdev_device_list_lock);
+               TAILQ_FOREACH(dev, &vdev_device_list, next) {
+                       devname = rte_vdev_device_name(dev);
+                       if (strlen(devname) == 0)
+                               VDEV_LOG(INFO, "vdev with no name is not sent");

The comment says it's "not sent" but code doesn't seem to indicate that this will happen. Forgot "continue"?

+                       VDEV_LOG(INFO, "send vdev, %s", devname);
+                       strlcpy(ou->name, devname, RTE_DEV_NAME_MAX_LEN);
+                       if (rte_mp_sendmsg(&mp_resp) < 0)
+                               VDEV_LOG(ERR, "send vdev, %s, failed, %s",
+                                        devname, strerror(rte_errno));
+                       num++;
+               }

Once all of that is addressed,

Reviewed-by: Anatoly Burakov <anatoly.bura...@intel.com>

--
Thanks,
Anatoly

Reply via email to