Hi Greg and Eli,
Should we add both ip6gre (L3) and ip6gretap (L2) support?
@Eli, which mode do you want to use?
I apply the patch below, and ip6gretap port can be created successfully
by doing using kernel 5.2 upstream ovs module:
# ovs-vsctl add-port br0 at_gre1 -- \
set int at_gre1 type=ip6gretap options:remote_ip=fc00:100::1
but not the type=ip6gre
diff --git a/lib/dpif-netlink-rtnl.c b/lib/dpif-netlink-rtnl.c
index 2e23a8c14fcf..d666f239aeed 100644
--- a/lib/dpif-netlink-rtnl.c
+++ b/lib/dpif-netlink-rtnl.c
@@ -104,7 +104,7 @@ vport_type_to_kind(enum ovs_vport_type type,
case OVS_VPORT_TYPE_IP6ERSPAN:
return "ip6erspan";
case OVS_VPORT_TYPE_IP6GRE:
- return "ip6gre";
+ return "ip6gretap";
case OVS_VPORT_TYPE_NETDEV:
case OVS_VPORT_TYPE_INTERNAL:
case OVS_VPORT_TYPE_LISP:
diff --git a/lib/dpif-netlink.c b/lib/dpif-netlink.c
index c554666acce0..28897153744b 100644
--- a/lib/dpif-netlink.c
+++ b/lib/dpif-netlink.c
@@ -698,7 +698,7 @@ get_vport_type(const struct dpif_netlink_vport *vport)
return "ip6erspan";
case OVS_VPORT_TYPE_IP6GRE:
- return "ip6gre";
+ return "ip6gretap";
case OVS_VPORT_TYPE_UNSPEC:
case __OVS_VPORT_TYPE_MAX:
@@ -729,7 +729,7 @@ netdev_to_ovs_vport_type(const char *type)
return OVS_VPORT_TYPE_ERSPAN;
} else if (!strcmp(type, "ip6erspan")) {
return OVS_VPORT_TYPE_IP6ERSPAN;
- } else if (!strcmp(type, "ip6gre")) {
+ } else if (!strcmp(type, "ip6gretap")) {
return OVS_VPORT_TYPE_IP6GRE;
} else if (!strcmp(type, "gre")) {
return OVS_VPORT_TYPE_GRE;
diff --git a/lib/netdev-vport.c b/lib/netdev-vport.c
index ab591667f447..da95f680d454 100644
--- a/lib/netdev-vport.c
+++ b/lib/netdev-vport.c
@@ -1216,10 +1216,10 @@ netdev_vport_tunnel_register(void)
},
{{NULL, NULL, 0, 0}}
},
- { "ip6gre_sys",
+ { "ip6gretap_sys",
{
TUNNEL_FUNCTIONS_COMMON,
- .type = "ip6gre",
+ .type = "ip6gretap",
.build_header = netdev_gre_build_header,
.push_header = netdev_gre_push_header,
.pop_header = netdev_gre_pop_header
diff --git a/lib/tnl-ports.c b/lib/tnl-ports.c
index 17353046cc6e..2157d7de11ae 100644
--- a/lib/tnl-ports.c
+++ b/lib/tnl-ports.c
@@ -172,7 +172,7 @@ tnl_type_to_nw_proto(const char type[])
return IPPROTO_TCP;
}
if (!strcmp(type, "gre") || !strcmp(type, "erspan") ||
- !strcmp(type, "ip6erspan") || !strcmp(type, "ip6gre")) {
+ !strcmp(type, "ip6erspan") || !strcmp(type, "ip6gretap")) {
return IPPROTO_GRE;
}
if (!strcmp(type, "vxlan")) {