Message ID | 1449792911-14798-1-git-send-email-diproiettod@vmware.com |
---|---|
State | Accepted |
Headers | show |
> On Dec 10, 2015, at 4:15 PM, Daniele Di Proietto <diproiettod@vmware.com> wrote: > > + * *Hyper-V*: Also known as the windows datapath. "Windows" should probably be capitalized. Acked-by: Justin Pettit <jpettit@ovn.org> Thanks for putting this together! --Justin
On 10 December 2015 at 16:15, Daniele Di Proietto <diproiettod@vmware.com> wrote: > This is an easy way to keep track of the features supported by the > different datapaths. > > Nithin helped filling the list for the Hyper-V port. > > CC: Nithin Raju <nithin@vmware.com> > Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com> > Acked-by: Ben Pfaff <blp@ovn.org> > Acked-by: Nithin Raju <nithin@vmware.com> > --- > v1 -> v2: > > * Mention FreeBSD and NetBSD in the userspace datapath description. > * Split QoS in shaping and policing. > * Remove previous FAQ (superseeded by this). > --- > FAQ.md | 88 +++++++++++++++++++++++++++++++++++++++++++++++++----------------- > 1 file changed, 66 insertions(+), 22 deletions(-) > > diff --git a/FAQ.md b/FAQ.md > index 8397e0f..9a87002 100644 > --- a/FAQ.md > +++ b/FAQ.md > @@ -165,28 +165,72 @@ A: The following table lists the Linux kernel versions against which the > It should build against almost any kernel, certainly against 2.6.32 > and later. > > -### Q: Are all features available with all versions of the kernel module? > - > -A: Features are gradually introduced into the upstream kernel so unless > - you are running the latest Linux release there may be some missing > - features. ovs-vswitchd probes for kernel features during startup and > - lists them in the ovs-vswitchd log file. If you need features that > - are unsupported, you can upgrade the Linux version or use the kernel > - module paired with the userspace distribution. > - > - For a given Open vSwitch release, the vast majority of features are > - supported when using the kernel module paired with the userspace > - distribution, no matter which kernel you build it against. However, > - from time to time, new features may be introduced which rely on > - functionality not available in older kernels. The features below are > - included in the kernel module distributed with OVS, but have more > - stringent requirements for minimum kernel versions than the support > - listed earlier. > - > -| Feature | Open vSwitch | Linux kernel > -|:---------:|:------------:|:------------: > -| STT | 2.4+ | 3.5+ > -| Conntrack | 2.5+ | 3.10+ > +### Q: Are all features available with all datapaths? > + > +A: Open vSwitch supports different datapaths on different platforms. Each > + datapath has a different feature set: the following tables try to summarize > + the status. > + > + Supported datapaths: > + > + * *Linux upstream*: The datapath implemented by the kernel module shipped > + with Linux upstream. Since features have been gradually > + introduced into the kernel, the table mentions the first > + Linux release whose OVS module supports the feature. > + > + * *Linux OVS tree*: The datapath implemented by the Linux kernel module > + distributed with the OVS source tree. Some features of > + this module rely on functionality not available in older > + kernels: in this case the minumum Linux version (against > + which the module can be compiled) is listed. Thanks! Minor nit, perhaps it should say "(against which the feature can be compiled)". LGTM.
On 10/12/2015 17:35, "Joe Stringer" <joe@ovn.org> wrote: >On 10 December 2015 at 16:15, Daniele Di Proietto ><diproiettod@vmware.com> wrote: >> This is an easy way to keep track of the features supported by the >> different datapaths. >> >> Nithin helped filling the list for the Hyper-V port. >> >> CC: Nithin Raju <nithin@vmware.com> >> Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com> >> Acked-by: Ben Pfaff <blp@ovn.org> >> Acked-by: Nithin Raju <nithin@vmware.com> >> --- >> v1 -> v2: >> >> * Mention FreeBSD and NetBSD in the userspace datapath description. >> * Split QoS in shaping and policing. >> * Remove previous FAQ (superseeded by this). >> --- >> FAQ.md | 88 >>+++++++++++++++++++++++++++++++++++++++++++++++++----------------- >> 1 file changed, 66 insertions(+), 22 deletions(-) >> >> diff --git a/FAQ.md b/FAQ.md >> index 8397e0f..9a87002 100644 >> --- a/FAQ.md >> +++ b/FAQ.md >> @@ -165,28 +165,72 @@ A: The following table lists the Linux kernel >>versions against which the >> It should build against almost any kernel, certainly against 2.6.32 >> and later. >> >> -### Q: Are all features available with all versions of the kernel >>module? >> - >> -A: Features are gradually introduced into the upstream kernel so unless >> - you are running the latest Linux release there may be some missing >> - features. ovs-vswitchd probes for kernel features during startup and >> - lists them in the ovs-vswitchd log file. If you need features that >> - are unsupported, you can upgrade the Linux version or use the kernel >> - module paired with the userspace distribution. >> - >> - For a given Open vSwitch release, the vast majority of features are >> - supported when using the kernel module paired with the userspace >> - distribution, no matter which kernel you build it against. However, >> - from time to time, new features may be introduced which rely on >> - functionality not available in older kernels. The features below are >> - included in the kernel module distributed with OVS, but have more >> - stringent requirements for minimum kernel versions than the support >> - listed earlier. >> - >> -| Feature | Open vSwitch | Linux kernel >> -|:---------:|:------------:|:------------: >> -| STT | 2.4+ | 3.5+ >> -| Conntrack | 2.5+ | 3.10+ >> +### Q: Are all features available with all datapaths? >> + >> +A: Open vSwitch supports different datapaths on different platforms. >>Each >> + datapath has a different feature set: the following tables try to >>summarize >> + the status. >> + >> + Supported datapaths: >> + >> + * *Linux upstream*: The datapath implemented by the kernel module >>shipped >> + with Linux upstream. Since features have been >>gradually >> + introduced into the kernel, the table mentions >>the first >> + Linux release whose OVS module supports the >>feature. >> + >> + * *Linux OVS tree*: The datapath implemented by the Linux kernel >>module >> + distributed with the OVS source tree. Some >>features of >> + this module rely on functionality not available >>in older >> + kernels: in this case the minumum Linux version >>(against >> + which the module can be compiled) is listed. > >Thanks! Minor nit, perhaps it should say "(against which the feature >can be compiled)". > >LGTM. I applied your suggestion, thanks!
On 10/12/2015 16:42, "Justin Pettit" <jpettit@ovn.org> wrote: > >> On Dec 10, 2015, at 4:15 PM, Daniele Di Proietto >><diproiettod@vmware.com> wrote: >> >> + * *Hyper-V*: Also known as the windows datapath. > >"Windows" should probably be capitalized. You're right > >Acked-by: Justin Pettit <jpettit@ovn.org> Thanks! Pushed to master and branch-2.5
> > This is an easy way to keep track of the features supported by the different > datapaths. > LGTM
diff --git a/FAQ.md b/FAQ.md index 8397e0f..9a87002 100644 --- a/FAQ.md +++ b/FAQ.md @@ -165,28 +165,72 @@ A: The following table lists the Linux kernel versions against which the It should build against almost any kernel, certainly against 2.6.32 and later. -### Q: Are all features available with all versions of the kernel module? - -A: Features are gradually introduced into the upstream kernel so unless - you are running the latest Linux release there may be some missing - features. ovs-vswitchd probes for kernel features during startup and - lists them in the ovs-vswitchd log file. If you need features that - are unsupported, you can upgrade the Linux version or use the kernel - module paired with the userspace distribution. - - For a given Open vSwitch release, the vast majority of features are - supported when using the kernel module paired with the userspace - distribution, no matter which kernel you build it against. However, - from time to time, new features may be introduced which rely on - functionality not available in older kernels. The features below are - included in the kernel module distributed with OVS, but have more - stringent requirements for minimum kernel versions than the support - listed earlier. - -| Feature | Open vSwitch | Linux kernel -|:---------:|:------------:|:------------: -| STT | 2.4+ | 3.5+ -| Conntrack | 2.5+ | 3.10+ +### Q: Are all features available with all datapaths? + +A: Open vSwitch supports different datapaths on different platforms. Each + datapath has a different feature set: the following tables try to summarize + the status. + + Supported datapaths: + + * *Linux upstream*: The datapath implemented by the kernel module shipped + with Linux upstream. Since features have been gradually + introduced into the kernel, the table mentions the first + Linux release whose OVS module supports the feature. + + * *Linux OVS tree*: The datapath implemented by the Linux kernel module + distributed with the OVS source tree. Some features of + this module rely on functionality not available in older + kernels: in this case the minumum Linux version (against + which the module can be compiled) is listed. + + * *Userspace*: Also known as DPDK, dpif-netdev or dummy datapath. It is the + only datapath that works on NetBSD and FreeBSD. + + * *Hyper-V*: Also known as the windows datapath. + + The following table lists the datapath supported features from + an Open vSwitch user's perspective. + +Feature | Linux upstream | Linux OVS tree | Userspace | Hyper-V | +----------------------|:--------------:|:--------------:|:---------:|:-------:| +Connection tracking | 4.3 | 3.10 | NO | NO | +Tunnel - LISP | NO | YES | NO | NO | +Tunnel - STT | NO | 3.5 | NO | YES | +Tunnel - GRE | 3.11 | YES | YES | NO | +Tunnel - VXLAN | 3.12 | YES | YES | YES | +Tunnel - Geneve | 3.18 | YES | YES | NO | +QoS - Policing | YES | YES | NO | NO | +QoS - Shaping | YES | YES | NO | NO | +sFlow | YES | YES | YES | NO | +Set action | YES | YES | YES | PARTIAL | +NIC Bonding | YES | YES | YES | NO | +Multiple VTEPs | YES | YES | YES | NO | + + **Notes:** + * Only a limited set of flow fields is modifiable via the set action by the + Hyper-V datapath. + * The Hyper-V datapath only supports one physical NIC per datapath. This is + why bonding is not supported. + * The Hyper-V datapath can have at most one IP address configured as a + tunnel endpoint. + + The following table lists features that do not *directly* impact an + Open vSwitch user, e.g. because their absence can be hidden by the ofproto + layer (usually this comes with a performance penalty). + +Feature | Linux upstream | Linux OVS tree | Userspace | Hyper-V | +----------------------|:--------------:|:--------------:|:---------:|:-------:| +SCTP flows | 3.12 | YES | YES | YES | +MPLS | 3.19 | YES | YES | NO | +UFID | 4.0 | YES | YES | NO | +Megaflows | 3.12 | YES | YES | NO | +Masked set action | 4.0 | YES | YES | NO | +Recirculation | 3.19 | YES | YES | NO | +TCP flags matching | 3.13 | YES | YES | NO | +Validate flow actions | YES | YES | N/A | NO | +Multiple datapaths | YES | YES | YES | NO | +Tunnel TSO - STT | N/A | YES | NO | YES | ### Q: I get an error like this when I configure Open vSwitch: