datapath-windows: Add GRE TEB support for windows datapath
authorAlin Serdean <aserdean@cloudbasesolutions.com>
Fri, 11 Dec 2015 19:18:25 +0000 (19:18 +0000)
committerJustin Pettit <jpettit@ovn.org>
Fri, 11 Dec 2015 21:44:20 +0000 (13:44 -0800)
commit85571a3daa67603ce4096c12ba0522acded4deb0
tree12d1b1f9b75f846350fc1f36398216257f4d6426
parent3819692e6df7607eb94af8fd29a2976a1fc728ad
datapath-windows: Add GRE TEB support for windows datapath

This patch introduces the support for GRE TEB (trasparent ethernet bridging)
for the windows datapath.

The GRE support is based on http://tools.ietf.org/html/rfc2890, without
taking into account the GRE sequence, and it supports only the GRE protocol
type 6558 (trasparent ethernet bridging) like its linux counterpart.

Util.h: define the GRE pool tag
Vport.c/h: sort the includes alphabetically
           add the function OvsFindTunnelVportByPortType which searches the
           tunnelVportsArray for a given port type
Actions.c : sort the includes alphabetically
            call the GRE encapsulation / decapsulation functions when needed
Gre.c/h : add GRE type defines
          add initialization/cleanup functions
          add encapsulation / decapsulation functions with software offloads
          (hardware offloads will be added in a separate patch)
          support

Tested using: PSPING
              (https://technet.microsoft.com/en-us/sysinternals/psping.aspx)
              (ICMP, TCP, UDP) with various packet lengths
              IPERF3
              (https://iperf.fr/iperf-download.php)
              (TCP, UDP) with various options

Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin@vmware.com>
Acked-by: Sorin Vinturis <svinturis@cloudbasesolutions.com>
Signed-off-by: Justin Pettit <jpettit@ovn.org>
FAQ.md
datapath-windows/automake.mk
datapath-windows/ovsext/Actions.c
datapath-windows/ovsext/Gre.c [new file with mode: 0644]
datapath-windows/ovsext/Gre.h [new file with mode: 0644]
datapath-windows/ovsext/Util.h
datapath-windows/ovsext/Vport.c
datapath-windows/ovsext/Vport.h
datapath-windows/ovsext/ovsext.vcxproj