Looks good. --Justin
On Aug 10, 2011, at 3:05 PM, Ben Pfaff wrote: > 'n_ports' was only used for testing for nonzero, and we can rewrite the > code that does that to more straightforwardly use LIST_FOR_EACH_SAFE. > --- > lib/dpif-netdev.c | 9 +++------ > 1 files changed, 3 insertions(+), 6 deletions(-) > > diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c > index 9f281c2..ffcc28a 100644 > --- a/lib/dpif-netdev.c > +++ b/lib/dpif-netdev.c > @@ -91,7 +91,6 @@ struct dp_netdev { > long long int n_lost; /* Number of misses not passed to client. */ > > /* Ports. */ > - int n_ports; > struct dp_netdev_port *ports[MAX_PORTS]; > struct list port_list; > unsigned int serial; > @@ -265,10 +264,10 @@ dp_netdev_purge_queues(struct dp_netdev *dp) > static void > dp_netdev_free(struct dp_netdev *dp) > { > + struct dp_netdev_port *port, *next; > + > dp_netdev_flow_flush(dp); > - while (dp->n_ports > 0) { > - struct dp_netdev_port *port = CONTAINER_OF( > - dp->port_list.next, struct dp_netdev_port, node); > + LIST_FOR_EACH_SAFE (port, next, node, &dp->port_list) { > do_del_port(dp, port->port_no); > } > dp_netdev_purge_queues(dp); > @@ -386,7 +385,6 @@ do_add_port(struct dp_netdev *dp, const char *devname, > const char *type, > > list_push_back(&dp->port_list, &port->node); > dp->ports[port_no] = port; > - dp->n_ports++; > dp->serial++; > > return 0; > @@ -464,7 +462,6 @@ do_del_port(struct dp_netdev *dp, uint16_t port_no) > > list_remove(&port->node); > dp->ports[port->port_no] = NULL; > - dp->n_ports--; > dp->serial++; > > name = xstrdup(netdev_get_name(port->netdev)); > -- > 1.7.4.4 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev