diff options
| author | Andy Zhou <azhou@nicira.com> | 2013-11-25 10:42:46 -0800 | 
|---|---|---|
| committer | Jesse Gross <jesse@nicira.com> | 2014-01-06 15:51:41 -0800 | 
| commit | 5bb506324d150578afadd10c3198ef5b29f5876b (patch) | |
| tree | 5aed46c2280137986c2d59c4a0e43389a256331c /net/openvswitch | |
| parent | 8f49ce1135676e5790d8ac5f8ecb2a218c07a33a (diff) | |
| download | linux-5bb506324d150578afadd10c3198ef5b29f5876b.tar.bz2 | |
openvswitch: Change ovs_flow_tbl_lookup_xx() APIs
API changes only for code readability. No functional chnages.
This patch removes the underscored version. Added a new API
ovs_flow_tbl_lookup_stats() that returns the n_mask_hits.
Reported by: Ben Pfaff <blp@nicira.com>
Reviewed-by: Thomas Graf <tgraf@redhat.com>
Signed-off-by: Andy Zhou <azhou@nicira.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'net/openvswitch')
| -rw-r--r-- | net/openvswitch/datapath.c | 16 | ||||
| -rw-r--r-- | net/openvswitch/flow_table.c | 10 | ||||
| -rw-r--r-- | net/openvswitch/flow_table.h | 4 | 
3 files changed, 16 insertions, 14 deletions
| diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c index 6f5e1dd3be2d..fcaed98b2c0d 100644 --- a/net/openvswitch/datapath.c +++ b/net/openvswitch/datapath.c @@ -234,7 +234,7 @@ void ovs_dp_process_received_packet(struct vport *p, struct sk_buff *skb)  	}  	/* Look up flow. */ -	flow = ovs_flow_tbl_lookup(&dp->table, &key, &n_mask_hit); +	flow = ovs_flow_tbl_lookup_stats(&dp->table, &key, &n_mask_hit);  	if (unlikely(!flow)) {  		struct dp_upcall_info upcall; @@ -751,14 +751,6 @@ static struct sk_buff *ovs_flow_cmd_build_info(struct sw_flow *flow,  	return skb;  } -static struct sw_flow *__ovs_flow_tbl_lookup(struct flow_table *tbl, -					      const struct sw_flow_key *key) -{ -	u32 __always_unused n_mask_hit; - -	return ovs_flow_tbl_lookup(tbl, key, &n_mask_hit); -} -  static int ovs_flow_cmd_new_or_set(struct sk_buff *skb, struct genl_info *info)  {  	struct nlattr **a = info->attrs; @@ -809,7 +801,7 @@ static int ovs_flow_cmd_new_or_set(struct sk_buff *skb, struct genl_info *info)  		goto err_unlock_ovs;  	/* Check if this is a duplicate flow */ -	flow = __ovs_flow_tbl_lookup(&dp->table, &key); +	flow = ovs_flow_tbl_lookup(&dp->table, &key);  	if (!flow) {  		/* Bail out if we're not allowed to create a new flow. */  		error = -ENOENT; @@ -921,7 +913,7 @@ static int ovs_flow_cmd_get(struct sk_buff *skb, struct genl_info *info)  		goto unlock;  	} -	flow = __ovs_flow_tbl_lookup(&dp->table, &key); +	flow = ovs_flow_tbl_lookup(&dp->table, &key);  	if (!flow || !ovs_flow_cmp_unmasked_key(flow, &match)) {  		err = -ENOENT;  		goto unlock; @@ -969,7 +961,7 @@ static int ovs_flow_cmd_del(struct sk_buff *skb, struct genl_info *info)  	if (err)  		goto unlock; -	flow = __ovs_flow_tbl_lookup(&dp->table, &key); +	flow = ovs_flow_tbl_lookup(&dp->table, &key);  	if (!flow || !ovs_flow_cmp_unmasked_key(flow, &match)) {  		err = -ENOENT;  		goto unlock; diff --git a/net/openvswitch/flow_table.c b/net/openvswitch/flow_table.c index f96ebd53c2cf..261a54e77503 100644 --- a/net/openvswitch/flow_table.c +++ b/net/openvswitch/flow_table.c @@ -429,7 +429,7 @@ static struct sw_flow *masked_flow_lookup(struct table_instance *ti,  	return NULL;  } -struct sw_flow *ovs_flow_tbl_lookup(struct flow_table *tbl, +struct sw_flow *ovs_flow_tbl_lookup_stats(struct flow_table *tbl,  				    const struct sw_flow_key *key,  				    u32 *n_mask_hit)  { @@ -447,6 +447,14 @@ struct sw_flow *ovs_flow_tbl_lookup(struct flow_table *tbl,  	return NULL;  } +struct sw_flow *ovs_flow_tbl_lookup(struct flow_table *tbl, +				    const struct sw_flow_key *key) +{ +	u32 __always_unused n_mask_hit; + +	return ovs_flow_tbl_lookup_stats(tbl, key, &n_mask_hit); +} +  int ovs_flow_tbl_num_masks(const struct flow_table *table)  {  	struct sw_flow_mask *mask; diff --git a/net/openvswitch/flow_table.h b/net/openvswitch/flow_table.h index fbe45d5ad07d..f54aa82cf81e 100644 --- a/net/openvswitch/flow_table.h +++ b/net/openvswitch/flow_table.h @@ -69,9 +69,11 @@ void ovs_flow_tbl_remove(struct flow_table *table, struct sw_flow *flow);  int  ovs_flow_tbl_num_masks(const struct flow_table *table);  struct sw_flow *ovs_flow_tbl_dump_next(struct table_instance *table,  				       u32 *bucket, u32 *idx); -struct sw_flow *ovs_flow_tbl_lookup(struct flow_table *, +struct sw_flow *ovs_flow_tbl_lookup_stats(struct flow_table *,  				    const struct sw_flow_key *,  				    u32 *n_mask_hit); +struct sw_flow *ovs_flow_tbl_lookup(struct flow_table *, +				    const struct sw_flow_key *);  bool ovs_flow_cmp_unmasked_key(const struct sw_flow *flow,  			       struct sw_flow_match *match); |