[ovs-discuss] GRE over IPv6 configuration

Gregory Rose gvrose8192 at gmail.com
Tue Jun 18 20:21:02 UTC 2019


On 6/18/2019 10:11 AM, William Tu wrote:
> On Tue, Jun 18, 2019 at 9:15 AM William Tu <u9012063 at gmail.com> wrote:
>> 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")) {

This patch, as is, reports "ovs-vsctl: no row "type=ip6gretap" in table 
Interface"

Is there something I missed?

I had something that worked once but now it's always failing with that 
message.  Trying to figure out what it means.

- Greg


More information about the discuss mailing list