[ovs-dev] [patch_ports (rebased) 3/4] ofproto-dpif: Implement patch ports in userspace.

Ben Pfaff blp at nicira.com
Wed Jan 23 23:40:09 UTC 2013


On Wed, Jan 23, 2013 at 05:10:54PM -0500, Ed Maste wrote:
> On 23 January 2013 15:51, Ethan Jackson <ethan at nicira.com> wrote:
> > diff --git a/FAQ b/FAQ
> > index ab1c1cc..a466ca4 100644
> > --- a/FAQ
> > +++ b/FAQ
> > @@ -172,17 +172,24 @@ A: The kernel module in upstream Linux 3.3 and later does not include
> >           vSwitch distribution instead of the upstream Linux kernel
> >           module.
> >
> > -       - Patch virtual ports, that is, interfaces with type "patch".
> > -         You can use Linux "veth" devices as a substitute.
> > -
> > -         We don't have any plans to add patch ports upstream.
> > -
> >  Q: What features are not available when using the userspace datapath?
> >
> > -A: Tunnel and patch virtual ports are not supported, as described in the
> > -   previous answer.  It is also not possible to use queue-related
> > -   actions.  On Linux kernels before 2.6.39, maximum-sized VLAN packets
> > -   may not be transmitted.
> > +A: The kernel module in upstream Linux 3.3 and later does not include
> > +   tunnel virtual ports, that is, interfaces with type "gre",
> > +   "ipsec_gre", "gre64", "ipsec_gre64", "vxlan", or "capwap".  It is
> > +   possible to create tunnels in Linux and attach them to Open vSwitch
> > +   as system devices.  However, they cannot be dynamically created
> > +   through the OVSDB protocol or set the tunnel ids as a flow action.
> ...
> 
> This new answer seems to be exclusively about Linux kernel modules,
> which seems surprising for a question about the userspace datapath.
> On FreeBSD (which uses only the userspace datapath) the new answer has
> no meaning.

I think something got mixed up.  Here's the change that I expected to
see here:

----------------------------------------------------------------------
diff --git a/FAQ b/FAQ
index ab1c1cc..bd4d37e 100644
--- a/FAQ
+++ b/FAQ
@@ -158,28 +158,25 @@ Q: What features are not available in the Open vSwitch kernel datapath
    that ships as part of the upstream Linux kernel?
 
 A: The kernel module in upstream Linux 3.3 and later does not include
-   the following features:
-
-       - Tunnel virtual ports, that is, interfaces with type "gre",
-         "ipsec_gre", "capwap".  It is possible to create tunnels in
-         Linux and attach them to Open vSwitch as system devices.
-         However, they cannot be dynamically created through the OVSDB
-         protocol or set the tunnel ids as a flow action.
-
-         Work is in progress in adding these features to the upstream
-         Linux version of the Open vSwitch kernel module.  For now, if
-         you need these features, use the kernel module from the Open
-         vSwitch distribution instead of the upstream Linux kernel
-         module.
-
-       - Patch virtual ports, that is, interfaces with type "patch".
-         You can use Linux "veth" devices as a substitute.
-
-         We don't have any plans to add patch ports upstream.
+   tunnel virtual ports, that is, interfaces with type "gre",
+   "ipsec_gre", "gre64", "ipsec_gre64", "vxlan", or "capwap".  It is
+   possible to create tunnels in Linux and attach them to Open vSwitch
+   as system devices.  However, they cannot be dynamically created
+   through the OVSDB protocol or set the tunnel ids as a flow action.
+
+   Work is in progress in adding tunnel virtual ports to the upstream
+   Linux version of the Open vSwitch kernel module.  For now, if you
+   need these features, use the kernel module from the Open vSwitch
+   distribution instead of the upstream Linux kernel module.
+
+   The upstream kernel module does not include patch ports, but this
+   only matters for Open vSwitch 1.9 and earlier, because Open vSwitch
+   1.10 and later implement patch ports without using this kernel
+   feature.
 
 Q: What features are not available when using the userspace datapath?
 
-A: Tunnel and patch virtual ports are not supported, as described in the
+A: Tunnel virtual ports are not supported, as described in the
    previous answer.  It is also not possible to use queue-related
    actions.  On Linux kernels before 2.6.39, maximum-sized VLAN packets
    may not be transmitted.
----------------------------------------------------------------------

which yields a FAQ excerpt that looks like: 

----------------------------------------------------------------------
Q: What features are not available in the Open vSwitch kernel datapath
   that ships as part of the upstream Linux kernel?

A: The kernel module in upstream Linux 3.3 and later does not include
   tunnel virtual ports, that is, interfaces with type "gre",
   "ipsec_gre", "gre64", "ipsec_gre64", "vxlan", or "capwap".  It is
   possible to create tunnels in Linux and attach them to Open vSwitch
   as system devices.  However, they cannot be dynamically created
   through the OVSDB protocol or set the tunnel ids as a flow action.

   Work is in progress in adding tunnel virtual ports to the upstream
   Linux version of the Open vSwitch kernel module.  For now, if you
   need these features, use the kernel module from the Open vSwitch
   distribution instead of the upstream Linux kernel module.

   The upstream kernel module does not include patch ports, but this
   only matters for Open vSwitch 1.9 and earlier, because Open vSwitch
   1.10 and later implement patch ports without using this kernel
   feature.

Q: What features are not available when using the userspace datapath?

A: Tunnel virtual ports are not supported, as described in the
   previous answer.  It is also not possible to use queue-related
   actions.  On Linux kernels before 2.6.39, maximum-sized VLAN packets
   may not be transmitted.
----------------------------------------------------------------------

I can believe that we still need clarification here (and elsewhere?)
in the FAQ to make sure that everything applies properly to FreeBSD.
I'd welcome improvements.



More information about the dev mailing list