summaryrefslogtreecommitdiff
path: root/lib/netdev-native-tnl.h
diff options
context:
space:
mode:
authorWilliam Tu <u9012063@gmail.com>2018-05-15 16:10:48 -0400
committerBen Pfaff <blp@ovn.org>2018-05-21 20:33:30 -0700
commit7dc18ae96d33813a68367e72da5edbdd95d1a35a (patch)
tree95e43e27a4162c816fb483057367414db6a55885 /lib/netdev-native-tnl.h
parent0ffff4975308369d9beeeb8fb24e05a19aa155bd (diff)
downloadopenvswitch-7dc18ae96d33813a68367e72da5edbdd95d1a35a.tar.gz
userspace: add erspan tunnel support.
ERSPAN is a tunneling protocol based on GRE tunnel. The patch add erspan tunnel support for ovs-vswitchd with userspace datapath. Configuring erspan tunnel is similar to gre tunnel, but with additional erspan's parameters. Matching a flow on erspan's metadata is also supported, see ovs-fields for more details. Signed-off-by: William Tu <u9012063@gmail.com> Signed-off-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'lib/netdev-native-tnl.h')
-rw-r--r--lib/netdev-native-tnl.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/netdev-native-tnl.h b/lib/netdev-native-tnl.h
index 5012b2dba..5dc00122d 100644
--- a/lib/netdev-native-tnl.h
+++ b/lib/netdev-native-tnl.h
@@ -40,6 +40,18 @@ netdev_gre_push_header(const struct netdev *netdev,
struct dp_packet *
netdev_gre_pop_header(struct dp_packet *packet);
+int
+netdev_erspan_build_header(const struct netdev *netdev,
+ struct ovs_action_push_tnl *data,
+ const struct netdev_tnl_build_header_params *p);
+
+void
+netdev_erspan_push_header(const struct netdev *netdev,
+ struct dp_packet *packet,
+ const struct ovs_action_push_tnl *data);
+struct dp_packet *
+netdev_erspan_pop_header(struct dp_packet *packet);
+
void
netdev_tnl_push_udp_header(const struct netdev *netdev,
struct dp_packet *packet,