[ovs-discuss] GRE over IPv6 configuration

Gregory Rose gvrose8192 at gmail.com
Wed Jun 5 16:30:18 UTC 2019


On 6/4/2019 11:38 AM, Ben Pfaff wrote:
> On Tue, Jun 04, 2019 at 06:08:00PM +0000, Eli Britstein wrote:
>> On 6/4/2019 8:24 PM, Ben Pfaff wrote:
>>> On Tue, Jun 04, 2019 at 03:13:02PM +0000, Eli Britstein wrote:
>>>> Hello,
>>>>
>>>> I would like to configure a GRE tunnel over IPv6, on a Linux system.
>>>> However, I encounter the following:
>>>>
>>>> My command:
>>>> ovs-vsctl add-port br1 gre6 -- set interface gre6 type=ip6gre
>>>> options:remote_ip= 2001:db8:0:f102::11 options:key=55
>>>>
>>>> Output:
>>>> ovs-vsctl: Error detected while setting up 'gre6': could not add network
>>>> device gre6 to ofproto (Address family not supported by protocol).  See
>>>> ovs-vswitchd log for details.
>>>> ovs-vsctl: The default log directory is "/var/log/openvswitch".
>>>>
>>>> In the log:
>>>> bridge|WARN|could not add network device gre6 to ofproto (Address family
>>>> not supported by protocol)
>>>>
>>>> I notice that if I want to define a ip6gretap with “ip link”, there is a
>>>> need to use “-6” option, to set the correct family.
>>>>
>>>> Is there a way to note the correct family (though I think should be
>>>> implicit by “ip6gre”)? Or maybe some other configuration?
>>> OVS doesn't have an "ip6gre" interface type.  Just use "gre".
>> I see it does in lib/netdev-vport.c, line 1222. Isn't that ip6gre?
> Um, that's weird.  We don't document it.  I thought for sure that we
> tried to make our "regular" tunnels just accept both IPv4 and IPv6
> addresses.

Hmm, no documentation.  Uh, that's not good.  I'll check that.

> Greg, I see that you're the author of ip6gre (and ip6erspan).  Can you
> comment on the intentions?  If ip6gre is indeed the right way to
> configure a GRE-over-IPv6 tunnel, then we should document it.  I guess
> the same goes for ip6erspan since I don't see any documentation for that
> either.

There is an ip6gre tunnel type.  Here is a script I use for it:

if [ "$#" -ne 3 ]; then
     echo "Usage: add-ip6gre <name> <remote_ip> <key>"
     exit 1
fi
ovs-vsctl add-port br0 $1 -- set interface $1 type=ip6gre \
     options:remote_ip=$2 options:key=$3

> Also, can you take a look at Eli's report below and perhaps give him
> some tips?

Yes, I note that he is using the "local_ip" option - that can cause 
issues some times depending on how
routing is set up.

>
>> Anyway, indeed trying with just "gre" the configuration passes OK.
>> However, I don't see any traffic on the other machine.
>>
>>           Port "gre6"
>>               Interface "gre6"
>>                   type: gre
>>                   options: {key="55", local_ip="2001:db8:0:f102::f0",
>> remote_ip="2001:db8:0:f102::f1"}
>>
>> $ ping 2001:db8:0:f102::f1
>> PING 2001:db8:0:f102::f1(2001:db8:0:f102::f1) 56 data bytes
>> 64 bytes from 2001:db8:0:f102::f1: icmp_seq=1 ttl=64 time=0.440 ms
>> 64 bytes from 2001:db8:0:f102::f1: icmp_seq=2 ttl=64 time=0.072 ms
>>
>> I even configured an explicit OF rule to redirect to the gre6 port. I
>> see it is hit, but still no traffic.
>>
>> Do I have to configure explicit routes or something of that kind?

Eli,

yes, you need to make sure routing is configured correctly for use of 
the local_ip option.  Unless you have
some specific need for it I wouldn't use it.  See my script above for 
creating an ip6gre tunnel.  If you still have
problems then we can investigate further.

Thanks,

- Greg


More information about the discuss mailing list