Looks good. Thanks. Acked-by: Andy Zhou <az...@nicira.com>
On Sun, Apr 13, 2014 at 10:30 PM, Joe Stringer <j...@wand.net.nz> wrote: > From: Joe Stringer <joestrin...@nicira.com> > > Add a constant for the number of bond buckets, and other minor cleanups. > > Signed-off-by: Joe Stringer <joestrin...@nicira.com> > --- > ofproto/bond.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/ofproto/bond.c b/ofproto/bond.c > index 49dd49e..8554955 100644 > --- a/ofproto/bond.c > +++ b/ofproto/bond.c > @@ -53,13 +53,13 @@ static struct ovs_rwlock rwlock = OVS_RWLOCK_INITIALIZER; > static struct hmap all_bonds__ = HMAP_INITIALIZER(&all_bonds__); > static struct hmap *const all_bonds OVS_GUARDED_BY(rwlock) = &all_bonds__; > > -/* Bit-mask for hashing a flow down to a bucket. > - * There are (BOND_MASK + 1) buckets. */ > +/* Bit-mask for hashing a flow down to a bucket. */ > #define BOND_MASK 0xff > +#define BOND_BUCKETS (BOND_MASK + 1) > #define RECIRC_RULE_PRIORITY 20 /* Priority level for internal rules */ > > /* A hash bucket for mapping a flow to a slave. > - * "struct bond" has an array of (BOND_MASK + 1) of these. */ > + * "struct bond" has an array of BOND_BUCKETS of these. */ > struct bond_entry { > struct bond_slave *slave; /* Assigned slave, NULL if unassigned. */ > uint64_t tx_bytes; /* Count of bytes recently transmitted. */ > @@ -122,7 +122,7 @@ struct bond { > uint32_t basis; /* Basis for flow hash function. */ > > /* SLB specific bonding info. */ > - struct bond_entry *hash; /* An array of (BOND_MASK + 1) elements. */ > + struct bond_entry *hash; /* An array of BOND_BUCKETS elements. */ > int rebalance_interval; /* Interval between rebalances, in ms. */ > long long int next_rebalance; /* Next rebalancing time. */ > bool send_learning_packets; > @@ -159,7 +159,7 @@ static void bond_enable_slave(struct bond_slave *, bool > enable) > static void bond_link_status_update(struct bond_slave *) > OVS_REQ_WRLOCK(rwlock); > static void bond_choose_active_slave(struct bond *) > - OVS_REQ_WRLOCK(rwlock);; > + OVS_REQ_WRLOCK(rwlock); > static unsigned int bond_hash_src(const uint8_t mac[ETH_ADDR_LEN], > uint16_t vlan, uint32_t basis); > static unsigned int bond_hash_tcp(const struct flow *, uint16_t vlan, > @@ -330,7 +330,7 @@ update_recirc_rules(struct bond *bond) > return; > } > > - for (i = 0; i < BOND_MASK + 1; i++) { > + for (i = 0; i < BOND_BUCKETS; i++) { > struct bond_slave *slave = bond->hash[i].slave; > > if (slave) { > @@ -1570,7 +1570,7 @@ static void > bond_entry_reset(struct bond *bond) > { > if (bond->balance != BM_AB) { > - size_t hash_len = (BOND_MASK + 1) * sizeof *bond->hash; > + size_t hash_len = BOND_BUCKETS * sizeof *bond->hash; > > if (!bond->hash) { > bond->hash = xmalloc(hash_len); > -- > 1.7.10.4 > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev