summaryrefslogtreecommitdiff
path: root/lib/netdev-native-tnl.c
diff options
context:
space:
mode:
authorGreg Rose <gvrose8192@gmail.com>2018-05-04 10:14:44 -0700
committerBen Pfaff <blp@ovn.org>2018-05-21 20:33:30 -0700
commit3b10ceeed16306190464fc00e0887476be390208 (patch)
tree4d038baed7edd3a61ff64ca4b22dd59439cb3410 /lib/netdev-native-tnl.c
parentc7d95a7c735ad744d308db99ca8a62353528f19d (diff)
downloadopenvswitch-3b10ceeed16306190464fc00e0887476be390208.tar.gz
ip6gre: Add ip6gre vport type
Add handlers for OVS_VPORT_TYPE_IP6GRE Cc: Ben Pfaff <blp@ovn.org> Signed-off-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: William Tu <u9012063@gmail.com>
Diffstat (limited to 'lib/netdev-native-tnl.c')
-rw-r--r--lib/netdev-native-tnl.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/netdev-native-tnl.c b/lib/netdev-native-tnl.c
index 66eb18ef9..c70811eaf 100644
--- a/lib/netdev-native-tnl.c
+++ b/lib/netdev-native-tnl.c
@@ -513,7 +513,11 @@ netdev_gre_build_header(const struct netdev *netdev,
hlen = (uint8_t *) options - (uint8_t *) greh;
data->header_len += hlen;
- data->tnl_type = OVS_VPORT_TYPE_GRE;
+ if (!params->is_ipv6) {
+ data->tnl_type = OVS_VPORT_TYPE_GRE;
+ } else {
+ data->tnl_type = OVS_VPORT_TYPE_IP6GRE;
+ }
return 0;
}
@@ -552,7 +556,7 @@ netdev_erspan_pop_header(struct dp_packet *packet)
}
ersh = ERSPAN_HDR(greh);
- tnl->tun_id = be32_to_be64(be16_to_be32(htons(get_sid(ersh))));
+ tnl->tun_id = be16_to_be64(htons(get_sid(ersh)));
tnl->erspan_ver = ersh->ver;
if (ersh->ver == 1) {