On Wed, Mar 19, 2014 at 01:35:06PM -0700, Alex Wang wrote:
> Signed-off-by: Alex Wang <al...@nicira.com>

This is a lot of code, but it looks well crafted.  I only have a few
comments.

dpif-linux.c
------------

The comment on dpif_linux_refresh_channels() mentions dpif->channels,
which no longer exists.

It looks like there are always 'n_handlers' of both handlers and
epolls in a given struct dpif_linux.  Is there a reason that they're
separate structs?  There's a comment that's extra confusing to me
here:
+    int uc_array_size;             /* Size of 'handlers' and 'epoll_events'. */
because there appear to be n_handlers handlers, not uc_array_size
handlers.

I think that here at the end of vport_add_channels(), the [i] should
be [j] in the epoll_ctl() call:
    for (j = 0; j < i; j++) {
        epoll_ctl(dpif->epolls[i].epoll_fd, EPOLL_CTL_DEL,
                  nl_sock_fd(socksp[j]), NULL);
        dpif->handlers[j].channels[port_idx].sock = NULL;
    }

dpif-linux.h
------------

I think the comment update here is now wrong because the change to the
name of the enum was dropped a revision or two back:
-    const uint32_t *upcall_pid;            /* OVS_VPORT_ATTR_UPCALL_PID. */
+    const uint32_t *upcall_pids;           /* OVS_VPORT_ATTR_UPCALL_PIDS. */

I would move 'n_pids' next to 'upcall_pids' in struct
dpif_linux_vport, since they are closely related, and probably rename
one or the other (either 'upcall_pids' to just 'pids' or 'n_pids' to
'n_upcall_pids').
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to