]>
Commit | Line | Data |
---|---|---|
29089a54 RL |
1 | /* |
2 | * Copyright (c) 2012 Nicira, Inc. | |
3 | * | |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | * you may not use this file except in compliance with the License. | |
6 | * You may obtain a copy of the License at: | |
7 | * | |
8 | * http://www.apache.org/licenses/LICENSE-2.0 | |
9 | * | |
10 | * Unless required by applicable law or agreed to in writing, software | |
11 | * distributed under the License is distributed on an "AS IS" BASIS, | |
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | * See the License for the specific language governing permissions and | |
14 | * limitations under the License. | |
15 | */ | |
16 | ||
17 | #ifndef OFPROTO_DPIF_IPFIX_H | |
18 | #define OFPROTO_DPIF_IPFIX_H 1 | |
19 | ||
20 | #include <stddef.h> | |
21 | #include <stdint.h> | |
8b7ea2d4 WZ |
22 | #include <stdbool.h> |
23 | #include "lib/odp-util.h" | |
29089a54 RL |
24 | |
25 | struct flow; | |
cf62fa4c | 26 | struct dp_packet; |
29089a54 RL |
27 | struct ofproto_ipfix_bridge_exporter_options; |
28 | struct ofproto_ipfix_flow_exporter_options; | |
8b7ea2d4 WZ |
29 | struct flow_tnl; |
30 | struct ofport; | |
29089a54 RL |
31 | |
32 | struct dpif_ipfix *dpif_ipfix_create(void); | |
d857c8aa EJ |
33 | struct dpif_ipfix *dpif_ipfix_ref(const struct dpif_ipfix *); |
34 | void dpif_ipfix_unref(struct dpif_ipfix *); | |
35 | ||
8b7ea2d4 WZ |
36 | void dpif_ipfix_add_tunnel_port(struct dpif_ipfix *, struct ofport *, odp_port_t); |
37 | void dpif_ipfix_del_tunnel_port(struct dpif_ipfix *, odp_port_t); | |
38 | ||
29089a54 | 39 | uint32_t dpif_ipfix_get_bridge_exporter_probability(const struct dpif_ipfix *); |
8b7ea2d4 WZ |
40 | bool dpif_ipfix_get_bridge_exporter_tunnel_sampling(const struct dpif_ipfix *); |
41 | bool dpif_ipfix_get_bridge_exporter_input_sampling(const struct dpif_ipfix *); | |
42 | bool dpif_ipfix_get_bridge_exporter_output_sampling(const struct dpif_ipfix *); | |
f69f713b BY |
43 | bool dpif_ipfix_get_flow_exporter_tunnel_sampling(const struct dpif_ipfix *, |
44 | const uint32_t); | |
8b7ea2d4 | 45 | bool dpif_ipfix_get_tunnel_port(const struct dpif_ipfix *, odp_port_t); |
29089a54 RL |
46 | void dpif_ipfix_set_options( |
47 | struct dpif_ipfix *, | |
48 | const struct ofproto_ipfix_bridge_exporter_options *, | |
49 | const struct ofproto_ipfix_flow_exporter_options *, size_t); | |
50 | ||
fb8f22c1 BY |
51 | int dpif_ipfix_get_stats(const struct dpif_ipfix *, bool, struct ovs_list *); |
52 | ||
cf62fa4c | 53 | void dpif_ipfix_bridge_sample(struct dpif_ipfix *, const struct dp_packet *, |
8b7ea2d4 WZ |
54 | const struct flow *, |
55 | odp_port_t, odp_port_t, const struct flow_tnl *); | |
cf62fa4c | 56 | void dpif_ipfix_flow_sample(struct dpif_ipfix *, const struct dp_packet *, |
f69f713b BY |
57 | const struct flow *, const union user_action_cookie *, |
58 | odp_port_t, const struct flow_tnl *); | |
29089a54 | 59 | |
978427a5 RL |
60 | void dpif_ipfix_run(struct dpif_ipfix *); |
61 | void dpif_ipfix_wait(struct dpif_ipfix *); | |
62 | ||
29089a54 | 63 | #endif /* ofproto/ofproto-dpif-ipfix.h */ |