Finish removing references to the MAC table.
[openvswitch] / datapath / chain.h
1 #ifndef CHAIN_H
2 #define CHAIN_H 1
3
4 struct sw_flow;
5 struct sw_flow_key;
6 struct datapath;
7
8
9 #define TABLE_LINEAR_MAX_FLOWS  100
10 #define TABLE_HASH_MAX_FLOWS    65536
11
12 /* Set of tables chained together in sequence from cheap to expensive. */
13 #define CHAIN_MAX_TABLES 4
14 struct sw_chain {
15         int n_tables;
16         struct sw_table *tables[CHAIN_MAX_TABLES];
17
18         struct datapath *dp;
19 };
20
21 struct sw_chain *chain_create(struct datapath *);
22 struct sw_flow *chain_lookup(struct sw_chain *, const struct sw_flow_key *);
23 int chain_insert(struct sw_chain *, struct sw_flow *);
24 int chain_delete(struct sw_chain *, const struct sw_flow_key *, int);
25 int chain_timeout(struct sw_chain *);
26 void chain_destroy(struct sw_chain *);
27 void chain_print_stats(struct sw_chain *);
28
29 #endif /* chain.h */