bridge: Change bridge's 'ports' member from array to hmap.
authorBen Pfaff <blp@nicira.com>
Mon, 21 Mar 2011 17:07:39 +0000 (10:07 -0700)
committerBen Pfaff <blp@nicira.com>
Tue, 22 Mar 2011 16:57:26 +0000 (09:57 -0700)
commit8052fb145f94be97d5caf5ddb5a6d6323ca9042a
treecd1fd9d33ce04df28492c9b9b5c8ad2f9624d7e7
parentd534627818f126982e1d1aadf8919762de14d409
bridge: Change bridge's 'ports' member from array to hmap.

In my opinion, this makes the code more obviously correct in many places,
because there are generally fewer variables.  One must generally keep two
variables in sync for iterating through an array: the array index and the
contents of the array at that index.  For iterating through an hmap, only
the map element is necessary.

A linked list would also be a reasonable choice for the bridge's collection
of ports.  I chose to use an hmap because we already had an index by name
and it seemed OK to use only one index.  I decided not to keep the shash
because they are less convenient for iteration than an hmap.
vswitchd/bridge.c