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
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to