diff options
author | Simon Horman <horms@verge.net.au> | 2013-05-29 15:06:38 +0900 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2013-05-29 13:13:34 -0700 |
commit | f094af7b17631ce688595d7cf70235a3eed9798c (patch) | |
tree | 1b4a72755325f3f65e514a0956a4b790ae34a99d /lib/odp-execute.h | |
parent | 81a114e557229fc4f0ced228626ff6f6e632ce6f (diff) | |
download | openvswitch-f094af7b17631ce688595d7cf70235a3eed9798c.tar.gz |
odp-execute: New module for executing datapath actions.
This moves generic action execution code out of lib/dpif-netedev.c
and into a new file, lib/odp-execute.c.
This is in preparation for using odp_execute_actions()
in lib/odp-util.c to handle recirculation/
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'lib/odp-execute.h')
-rw-r--r-- | lib/odp-execute.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/odp-execute.h b/lib/odp-execute.h new file mode 100644 index 000000000..89dd66bd4 --- /dev/null +++ b/lib/odp-execute.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2013 Nicira, Inc. + * Copyright (c) 2013 Simon Horman + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef EXECUTE_ACTIONS_H +#define EXECUTE_ACTIONS_H 1 + +#include <stddef.h> +#include <stdint.h> + +struct flow; +struct nlattr; +struct ofpbuf; + +void +odp_execute_actions(void *dp, struct ofpbuf *packet, struct flow *key, + const struct nlattr *actions, size_t actions_len, + void (*output)(void *dp, struct ofpbuf *packet, + uint32_t out_port), + void (*userspace)(void *dp, struct ofpbuf *packet, + const struct flow *key, + const struct nlattr *a)); +#endif |