]>
Commit | Line | Data |
---|---|---|
f094af7b SH |
1 | /* |
2 | * Copyright (c) 2013 Nicira, Inc. | |
3 | * Copyright (c) 2013 Simon Horman | |
4 | * | |
5 | * Licensed under the Apache License, Version 2.0 (the "License"); | |
6 | * you may not use this file except in compliance with the License. | |
7 | * You may obtain a copy of the License at: | |
8 | * | |
9 | * http://www.apache.org/licenses/LICENSE-2.0 | |
10 | * | |
11 | * Unless required by applicable law or agreed to in writing, software | |
12 | * distributed under the License is distributed on an "AS IS" BASIS, | |
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
14 | * See the License for the specific language governing permissions and | |
15 | * limitations under the License. | |
16 | */ | |
17 | ||
18 | #ifndef EXECUTE_ACTIONS_H | |
19 | #define EXECUTE_ACTIONS_H 1 | |
20 | ||
da546e07 | 21 | #include <stdbool.h> |
f094af7b SH |
22 | #include <stddef.h> |
23 | #include <stdint.h> | |
4fc65926 | 24 | #include "openvswitch/types.h" |
f094af7b | 25 | |
f094af7b | 26 | struct nlattr; |
e14deea0 | 27 | struct dp_packet; |
758c456d | 28 | struct pkt_metadata; |
1895cc8d | 29 | struct dp_packet_batch; |
f094af7b | 30 | |
1895cc8d | 31 | typedef void (*odp_execute_cb)(void *dp, struct dp_packet_batch *batch, |
09f9da0b | 32 | const struct nlattr *action, bool may_steal); |
da546e07 | 33 | |
09f9da0b JR |
34 | /* Actions that need to be executed in the context of a datapath are handed |
35 | * to 'dp_execute_action', if non-NULL. Currently this is called only for | |
36 | * actions OVS_ACTION_ATTR_OUTPUT and OVS_ACTION_ATTR_USERSPACE so | |
37 | * 'dp_execute_action' needs to handle only these. */ | |
1895cc8d | 38 | void odp_execute_actions(void *dp, struct dp_packet_batch *batch, |
41ccaa24 | 39 | bool steal, |
91088554 DDP |
40 | const struct nlattr *actions, size_t actions_len, |
41 | odp_execute_cb dp_execute_action); | |
f094af7b | 42 | #endif |