summaryrefslogtreecommitdiffstats
path: root/net/openvswitch/datapath.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/openvswitch/datapath.c')
-rw-r--r--net/openvswitch/datapath.c16
1 files changed, 4 insertions, 12 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)
234 } 234 }
235 235
236 /* Look up flow. */ 236 /* Look up flow. */
237 flow = ovs_flow_tbl_lookup(&dp->table, &key, &n_mask_hit); 237 flow = ovs_flow_tbl_lookup_stats(&dp->table, &key, &n_mask_hit);
238 if (unlikely(!flow)) { 238 if (unlikely(!flow)) {
239 struct dp_upcall_info upcall; 239 struct dp_upcall_info upcall;
240 240
@@ -751,14 +751,6 @@ static struct sk_buff *ovs_flow_cmd_build_info(struct sw_flow *flow,
751 return skb; 751 return skb;
752} 752}
753 753
754static struct sw_flow *__ovs_flow_tbl_lookup(struct flow_table *tbl,
755 const struct sw_flow_key *key)
756{
757 u32 __always_unused n_mask_hit;
758
759 return ovs_flow_tbl_lookup(tbl, key, &n_mask_hit);
760}
761
762static int ovs_flow_cmd_new_or_set(struct sk_buff *skb, struct genl_info *info) 754static int ovs_flow_cmd_new_or_set(struct sk_buff *skb, struct genl_info *info)
763{ 755{
764 struct nlattr **a = info->attrs; 756 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)
809 goto err_unlock_ovs; 801 goto err_unlock_ovs;
810 802
811 /* Check if this is a duplicate flow */ 803 /* Check if this is a duplicate flow */
812 flow = __ovs_flow_tbl_lookup(&dp->table, &key); 804 flow = ovs_flow_tbl_lookup(&dp->table, &key);
813 if (!flow) { 805 if (!flow) {
814 /* Bail out if we're not allowed to create a new flow. */ 806 /* Bail out if we're not allowed to create a new flow. */
815 error = -ENOENT; 807 error = -ENOENT;
@@ -921,7 +913,7 @@ static int ovs_flow_cmd_get(struct sk_buff *skb, struct genl_info *info)
921 goto unlock; 913 goto unlock;
922 } 914 }
923 915
924 flow = __ovs_flow_tbl_lookup(&dp->table, &key); 916 flow = ovs_flow_tbl_lookup(&dp->table, &key);
925 if (!flow || !ovs_flow_cmp_unmasked_key(flow, &match)) { 917 if (!flow || !ovs_flow_cmp_unmasked_key(flow, &match)) {
926 err = -ENOENT; 918 err = -ENOENT;
927 goto unlock; 919 goto unlock;
@@ -969,7 +961,7 @@ static int ovs_flow_cmd_del(struct sk_buff *skb, struct genl_info *info)
969 if (err) 961 if (err)
970 goto unlock; 962 goto unlock;
971 963
972 flow = __ovs_flow_tbl_lookup(&dp->table, &key); 964 flow = ovs_flow_tbl_lookup(&dp->table, &key);
973 if (!flow || !ovs_flow_cmp_unmasked_key(flow, &match)) { 965 if (!flow || !ovs_flow_cmp_unmasked_key(flow, &match)) {
974 err = -ENOENT; 966 err = -ENOENT;
975 goto unlock; 967 goto unlock;