diff options
author | Joe Stringer <joestringer@nicira.com> | 2015-01-21 19:42:49 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-01-26 18:45:49 -0500 |
commit | d29ab6f8a92eceb00d6085f028b6e05213faa72d (patch) | |
tree | 825803b67a77c7405eb1c4ce6d258fdd4d356201 /net/openvswitch/flow_table.c | |
parent | 5b4237bbc93b1b54d35b037cfc0ece71cd8e358d (diff) |
openvswitch: Refactor ovs_flow_tbl_insert().
Rework so that ovs_flow_tbl_insert() calls flow_{key,mask}_insert().
This tidies up a future patch.
Signed-off-by: Joe Stringer <joestringer@nicira.com>
Acked-by: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch/flow_table.c')
-rw-r--r-- | net/openvswitch/flow_table.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/net/openvswitch/flow_table.c b/net/openvswitch/flow_table.c index 5899bf161c61..81b977d839df 100644 --- a/net/openvswitch/flow_table.c +++ b/net/openvswitch/flow_table.c | |||
@@ -585,16 +585,10 @@ static int flow_mask_insert(struct flow_table *tbl, struct sw_flow *flow, | |||
585 | } | 585 | } |
586 | 586 | ||
587 | /* Must be called with OVS mutex held. */ | 587 | /* Must be called with OVS mutex held. */ |
588 | int ovs_flow_tbl_insert(struct flow_table *table, struct sw_flow *flow, | 588 | static void flow_key_insert(struct flow_table *table, struct sw_flow *flow) |
589 | const struct sw_flow_mask *mask) | ||
590 | { | 589 | { |
591 | struct table_instance *new_ti = NULL; | 590 | struct table_instance *new_ti = NULL; |
592 | struct table_instance *ti; | 591 | struct table_instance *ti; |
593 | int err; | ||
594 | |||
595 | err = flow_mask_insert(table, flow, mask); | ||
596 | if (err) | ||
597 | return err; | ||
598 | 592 | ||
599 | flow->hash = flow_hash(&flow->key, flow->mask->range.start, | 593 | flow->hash = flow_hash(&flow->key, flow->mask->range.start, |
600 | flow->mask->range.end); | 594 | flow->mask->range.end); |
@@ -613,6 +607,19 @@ int ovs_flow_tbl_insert(struct flow_table *table, struct sw_flow *flow, | |||
613 | table_instance_destroy(ti, true); | 607 | table_instance_destroy(ti, true); |
614 | table->last_rehash = jiffies; | 608 | table->last_rehash = jiffies; |
615 | } | 609 | } |
610 | } | ||
611 | |||
612 | /* Must be called with OVS mutex held. */ | ||
613 | int ovs_flow_tbl_insert(struct flow_table *table, struct sw_flow *flow, | ||
614 | const struct sw_flow_mask *mask) | ||
615 | { | ||
616 | int err; | ||
617 | |||
618 | err = flow_mask_insert(table, flow, mask); | ||
619 | if (err) | ||
620 | return err; | ||
621 | flow_key_insert(table, flow); | ||
622 | |||
616 | return 0; | 623 | return 0; |
617 | } | 624 | } |
618 | 625 | ||