flow_table.h (b637e4988c2d689bb43f943a5af0e684a4981159) flow_table.h (618ed0c805b64c820279f50732110ab873221c3b)
1/*
2 * Copyright (c) 2007-2013 Nicira, Inc.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of version 2 of the GNU General Public
6 * License as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful, but

--- 46 unchanged lines hidden (view full) ---

55int ovs_flow_init(void);
56void ovs_flow_exit(void);
57
58struct sw_flow *ovs_flow_alloc(void);
59void ovs_flow_free(struct sw_flow *, bool deferred);
60
61int ovs_flow_tbl_init(struct flow_table *);
62int ovs_flow_tbl_count(struct flow_table *table);
1/*
2 * Copyright (c) 2007-2013 Nicira, Inc.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of version 2 of the GNU General Public
6 * License as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful, but

--- 46 unchanged lines hidden (view full) ---

55int ovs_flow_init(void);
56void ovs_flow_exit(void);
57
58struct sw_flow *ovs_flow_alloc(void);
59void ovs_flow_free(struct sw_flow *, bool deferred);
60
61int ovs_flow_tbl_init(struct flow_table *);
62int ovs_flow_tbl_count(struct flow_table *table);
63void ovs_flow_tbl_destroy(struct flow_table *table, bool deferred);
63void ovs_flow_tbl_destroy(struct flow_table *table);
64int ovs_flow_tbl_flush(struct flow_table *flow_table);
65
64int ovs_flow_tbl_flush(struct flow_table *flow_table);
65
66void ovs_flow_tbl_insert(struct flow_table *table, struct sw_flow *flow);
66int ovs_flow_tbl_insert(struct flow_table *table, struct sw_flow *flow,
67 struct sw_flow_mask *mask);
67void ovs_flow_tbl_remove(struct flow_table *table, struct sw_flow *flow);
68struct sw_flow *ovs_flow_tbl_dump_next(struct table_instance *table,
69 u32 *bucket, u32 *idx);
70struct sw_flow *ovs_flow_tbl_lookup(struct flow_table *,
71 const struct sw_flow_key *);
72
73bool ovs_flow_cmp_unmasked_key(const struct sw_flow *flow,
74 struct sw_flow_match *match);
75
68void ovs_flow_tbl_remove(struct flow_table *table, struct sw_flow *flow);
69struct sw_flow *ovs_flow_tbl_dump_next(struct table_instance *table,
70 u32 *bucket, u32 *idx);
71struct sw_flow *ovs_flow_tbl_lookup(struct flow_table *,
72 const struct sw_flow_key *);
73
74bool ovs_flow_cmp_unmasked_key(const struct sw_flow *flow,
75 struct sw_flow_match *match);
76
76struct sw_flow_mask *ovs_sw_flow_mask_alloc(void);
77void ovs_sw_flow_mask_add_ref(struct sw_flow_mask *);
78void ovs_sw_flow_mask_del_ref(struct sw_flow_mask *, bool deferred);
79void ovs_sw_flow_mask_insert(struct flow_table *, struct sw_flow_mask *);
80struct sw_flow_mask *ovs_sw_flow_mask_find(const struct flow_table *,
81 const struct sw_flow_mask *);
82void ovs_flow_mask_key(struct sw_flow_key *dst, const struct sw_flow_key *src,
83 const struct sw_flow_mask *mask);
77void ovs_flow_mask_key(struct sw_flow_key *dst, const struct sw_flow_key *src,
78 const struct sw_flow_mask *mask);
84
85#endif /* flow_table.h */
79#endif /* flow_table.h */