summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/ovsext.vcxproj
Commit message (Collapse)AuthorAgeFilesLines
* datapath-windows: support meter action initial versionldejing2022-09-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implemented meter action, currently, meter only support drop method and only support one band. The overall implementation is, when a packet comes in, it will first lookup meter according to the meter id, then get the band->rates and delta time since last access the same meter from the meter struct. Add the multiply result(band->rates * delta_time) to bucket, finally bucket minus the packet size, if the result larger than zero, allow the packet go through, otherwise deny the packet go through. Test case: 1. Setting the size meter size 3M, then the bandwidth was limit around 3M; ovs-ofctl -O OpenFlow13 add-meter br-test meter=2,kbps,\ band=type=drop,rate=3000 ovs-ofctl add-flow br-test "table=0,priority=1,ip \ actions=meter:2,normal" -O OpenFlow13 2. Setting the meter size 8M, then the bandwidth was limit around 8M; ovs-ofctl -O OpenFlow13 add-meter br-test meter=2,\ kbps,band=type=drop,rate=8000 ovs-ofctl add-flow br-test "table=0,priority=1,ip\ actions=meter:2,normal" -O OpenFlow13 Signed-off-by: ldejing <ldejing@vmware.com> Signed-off-by: Alin-Gabriel Serdean <aserdean@ovn.org>
* datapath-windows: Add IPv6 conntrack ip fragment support on windowsldejing2022-09-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implementation on Windows: IPv6 conntrack ip fragment feature use a link list to store ip fragment. When ipv6 fragment module receives a fragment packet, it will store length of the fragment, until to the received length equal to the packet length before fragmented, it will reassemble fragment packet to a complete packet and send the complete packet to conntrack module. After conntrack processed the packet, fragment module will divide the complete packet into small fragment and send it to destination. Currently, ipv6 was implemented in a indenpent module, for the reason it can reduce the risk of introduce bug to ipv4 fragmenb module. Testing Topology: On the Windows VM runs on the ESXi host, two hyper-v ports attached to the ovs bridge; one hyper-v port worked as client and the other port worked as server. Testing Case: 1.UdpV6 a) UdpV6 fragment with multiple ipv6 extension fields. b) UdpV6 fragment in normal scenario. c) UdpV6 fragment in nat scenario. 2.IcmpV6 a) IcmpV6 fragment in normal scenario. b) IcmpV6 fragment in nat scenario. Signed-off-by: ldejing <ldejing@vmware.com> Signed-off-by: Alin-Gabriel Serdean <aserdean@ovn.org>
* datapath-windows: Add file digest algorithm for signtoolAlin-Gabriel Serdean2021-10-111-1/+12
| | | | | | | | | | This patch specifies the file digest algorithm for signtool on the package and ovsext VS projects. Fixes broken appveyor build. Signed-off-by: Alin-Gabriel Serdean <aserdean@ovn.org> Acked-by: Aaron Conole <aconole@redhat.com>
* datapath-windows: Specify external include pathsAlin Gabriel Serdean2021-06-171-0/+17
| | | | | | | | | | | | | | | | VStudio 16.10 adds usermode includes before including the driver kit ones. Bug tracked at: https://developercommunity.visualstudio.com/t/error-lnk2019-unresolved-external-symbol-stdio-com/1434674 Fixes appveyor build reported by forcing external includes. Reported-by: Ilya Maximets <i.maximets@ovn.org> Reported-by: Frank Wagner <frank.wagner@dbosoft.eu> Reported-at: https://github.com/openvswitch/ovs-issues/issues/209#issuecomment-861385852 Reported-at: https://github.com/openvswitch/ovs-issues/issues/211 Signed-off-by: Alin Gabriel Serdean <aserdean@ovn.org> Acked-by: Ilya Maximets <i.maximets@ovn.org>
* datapath-windows: Add Win10Analyze targetAlin Gabriel Serdean2019-05-091-1/+38
| | | | | | | | | | | | | | | | This patch adds a new target called `Win10Analyze` to the driver solution. It enables us to trigger static analysis over the Win10 target. Since the location of the ruleset of drivers is somewhat random starting from 1803: https://www.osr.com/blog/2018/05/21/wdk-1803-ca/ Commit the ruleset inside our repository. This is the same ruleset used for 8,8.1 and 10. Signed-off-by: Alin Gabriel Serdean <aserdean@ovn.org> Acked-by: Anand Kumar <kumaranand@vmware.com>
* datapath-windows: Allow compiling all targets using SDK 10.0Shashank Ram2018-02-061-20/+30
| | | | | | | | | | | | | Previously, Win8/8.1 targets would use SDK8.1. However, its recommended to use the newer SDK as newer VS versions typically drop support for older SDKs later on. This patch adds support to compile all targets (Win8/8.1/10) using the 10.0 SDK. Note that his patch does not drop support for older SDKs. Signed-off-by: Shashank Ram <rams@vmware.com> Acked-by: Alin Gabriel Serdean <aserdean@ovn.org> Signed-off-by: Alin Gabriel Serdean <aserdean@ovn.org>
* datapath-windows: Add include directory to ovsext projectAlin Gabriel Serdean2018-01-081-3/+3
| | | | | | | | | | | When trying to compile with WDK 10, the files under datapath-windows/ovsext/Netlink can't see the headers from datapath-windows/ovsext. This patch adds the project directory under the include files. Signed-off-by: Alin Gabriel Serdean <aserdean@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* datapath-windows: NAT integration with conntrackYin Lin2017-06-121-0/+2
| | | | | | | | | This patch integrates NAT module with existing conntrack module. NAT action is now supported. Signed-off-by: Yin Lin <linyi@vmware.com> Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
* datapath-windows: add two new build targets for code analysisAlin Serdean2017-05-251-0/+62
| | | | | | | | | | | | | | Add two new build targets: 'Win8Analyze' and 'Win8.1Analyze'. The new build targets have the static code analyzer (built in Visual Studio feature). This patch also introduces a new make target ('datapath_windows_analyze') this can be added to the CI jobs to get a list warnings/errors issued by the code analyzer. Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Acked-by: Anand Kumar <kumaranand@vmware.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
* datapath-windows: Set Version correctly for OVSExtShashank Ram2017-05-171-6/+6
| | | | | | | | | | | | | | | | - Previously, the 'Version' property passed to MSBuild was not being passed to the RcComplile section. To use the value of 'Version' property in the rc file, it needs to be passed. - Adds a macro to convert the Version to a string literal. Previously, the Version was simply being converted to a literal text 'Version' instead of the the version number passed using the 'Version' property to MSBuild. Signed-off-by: Shashank Ram <rams@vmware.com> Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
* datapath-windows: Added a new file to support Ipv4 fragments.Anand Kumar2017-05-081-0/+2
| | | | | | | | | | | | | | | | | | | | This patch adds functionalities to support IPv4 fragments, which will be used by Conntrack module. Added a new structure to hold the Ipv4 fragments and a hash table to hold Ipv4 datagram entries. Also added a clean up thread that runs every minute to delete the expired IPv4 datagram entries. The individual fragments are ignored by the conntrack. Once all the fragments are recieved, a new NBL is created out of the reassembled fragments and conntrack executes actions on the new NBL. Created new APIs OvsProcessIpv4Fragment() to process individual fragments, OvsIpv4Reassemble() to reassemble Ipv4 fragments. Signed-off-by: Anand Kumar <kumaranand@vmware.com> Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>
* datapath-windows: Add Windows 10 family to solutionAlin Gabriel Serdean2017-01-031-0/+68
| | | | | | | | | | | | This patch adds two more compiling targets: - one for Windows 10 release - one for Windows 10 Debug The new targets are flagged properly to use the new Windows 10 kernel mode driver and its toolchain. Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Acked-by: Sairam Venugopal <vsairam@vmware.com>
* datapath-windows: Force driver version to depend on a variableAlin Serdean2016-12-211-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following components use Windows driver information: - System (inf file); used during device installation - Resource file (rc file); used by applications when looking over the driver file(sys) Currently we have the following for the driver version number: - (inf file) generated value from the build timestamp - (rc file) predefined value This patch forces both files to depend on a variable: '$(Version)'. This is a predefined variable from Visual Studio. To achieve the above we change the current project settings used by the 'stampinf' utility and we define a new preprocessor value named 'VersionWithCommas' (which is obtained by replacing all '.' with ',' from $(Version) ). Certain values from the resource file are expected to use ',' instead of '.' . The resource file has been updated to use the new values when generating information about the driver (sys). The variable '$(Version' can be changed from the command line via the 'msbuild' utility. Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Acked-by: Sairam Venugopal <vsairam@vmware.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
* datapath-windows: Conntrack - Introduce support for tracking related connectionsSairam Venugopal2016-12-201-0/+2
| | | | | | | | | | | | | Introduce a new table to track related connections. This table will be used to track FTP data connections based on the control connection. There is a new Conntrack-ftp.c to parse incoming FTP messages to determine the related data ports. It creates a new entry in the related connections tracker table. If there is a matching FTP data connection, then the state for that connection is marked as RELATED. Signed-off-by: Sairam Venugopal <vsairam@vmware.com> Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
* datapath-windows: Enable support for tracking ICMP code and typeSairam Venugopal2016-11-111-0/+1
| | | | | | | | | Add support for tracking ICMP code and Type in the Hyper-V Conntrack module. This code is similar to the userspace connection tracker. Signed-off-by: Sairam Venugopal <vsairam@vmware.com> Acked-by: Anand Kumar <kumaranand@vmware.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
* Windows: Add conntrack netfilter netlink definitions to kernel and userspaceSairam Venugopal2016-07-011-0/+1
| | | | | | | | | | | | Include netfilter-conntrack header definitions. This will be used by Windows userspace for adding debugging support in Conntrack. Few of these files are intentionally left blank to avoid removing #includes in userspace. New file - OvsDpInterfaceCtExt.h has been defined similar to OvsDpInterfaceExt.h to be reused by userspace and kernel. Signed-off-by: Sairam Venugopal <vsairam@vmware.com> Acked-by: Nithin Raju <nithin@vmware.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
* datapath-windows: Add Geneve supportYin Lin2016-06-241-0/+2
| | | | | | Signed-off-by: Yin Lin <linyi@vmware.com> Acked-by: Nithin Raju <nithin@vmware.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
* datapath-windows: Add support for UDP and ICMP to Conntrack ModuleSairam Venugopal2016-06-241-0/+1
| | | | | | | | | Enable support for UDP and ICMP in the connection tracking module on Hyper-V. Define 1s as variable and reuse it. Signed-off-by: Sairam Venugopal <vsairam@vmware.com> Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
* datapath-windows: Add Connection Tracking SupportSairam Venugopal2016-04-141-0/+3
| | | | | | | | | | | | | | | | | | | | Enable support for Stateful Firewall in Hyper-V by adding a Connection Tracking module. The module has been ported over from the userspace implementation patch of a similar name. The current version of the module supports ct - zone, mark and label for TCP packets. Support for other packet formats will be added in subsequent patches. The conntrack-tcp module is adapted from FreeBSD's pf subsystem and hence the BSD license. It has been ported over to match OVS Hyper-V coding style. Signed-off-by: Sairam Venugopal <vsairam@vmware.com> Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com> Co-Authored-by: Daniele Di Proietto <diproiettod@vmware.com> Acked-by: Nithin Raju <nithin@vmware.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* datapath-windows: Added recirculation support.Sorin Vinturis2016-03-251-0/+3
| | | | | | | | | | | | | Recirculation support for the OVS extension. Tested using PING and iperf with Driver Verifier enabled. Signed-off-by: Sorin Vinturis <svinturis@cloudbasesolutions.com> Co-authored-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Reported-by: Sorin Vinturis <svinturis@cloudbasesolutions.com> Reported-at: https://github.com/openvswitch/ovs-issues/issues/104 Acked-by: Nithin Raju <nithin@vmware.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* datapath-windows: Enable multiprocessor compilation on solutionAlin Serdean2016-02-161-0/+4
| | | | | | | | | | Visual Studio defines by default the maximum number of concurrent jobs. This patch allows the parallel built of the solution. Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Acked-by: Sairam Venugopal <vsairam@vmware.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* datapath-windows: Refactor sofware offloads and mssAlin Serdean2016-02-101-2/+2
| | | | | | | | | | | | | | | | | | The purpose of this patch is to refactor the software offloads found in the VXLAN and GRE code and also to refactor how the maximmum segment size for a given NBL is obtained. This patch introduces two functions OvsApplySWChecksumOnNB and OVSGetTcpMSS. OVSGetTcpMSS - will return the mss found in a given NBL. OvsApplySWChecksumOnNB - will compute and set software offloads for a given NBL. Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Acked-by: Sorin Vinturis <svinturis at cloudbasesolutions.com> Acked-by: Nithin Raju <nithin@vmware.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* datapath-windows: Support for OVS_KEY_ATTR_MPLS attributeSorin Vinturis2016-02-021-0/+1
| | | | | | | | | | | | This patch adds OVS_KEY_ATTR_MPLS to the OVS flow mechanism. Tested using ping. Tested using iperf (TCP and UDP). Tested using DriverVerifier. Signed-off-by: Sorin Vinturis <svinturis@cloudbasesolutions.com> Acked-by: Nithin Raju <nithin@vmware.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
* datapath-windows: Add GRE TEB support for windows datapathAlin Serdean2015-12-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* datapath-windows: Add file to solution.Alin Serdean2015-10-021-0/+1
| | | | | | | | | This patch adds the file DpInternal.h to the ovsetx.sln. Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Acked-by: Nithin Raju <nithin@vmware.com> Acked-by: Sairam Venugopal <vsairam@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* datapath-windows: update extension informationAlin Gabriel Serdean2015-07-151-0/+1
| | | | | | | | | This patch sets additional information about the driver used by various applications. Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Acked-by: Eitan Eliahu <eliahue@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* datapath-windows: Stateless TCP Tunnelling protocol - Initial implementationEitan Eliahu2015-06-111-1/+3
| | | | | | | | | | | | | | | | | | | This change include an initial implementable of STT. The following should be added: [1] Checksum offload (SW and HW) [2] LSO (SW and HW) [3] IP layer WFP callout for IP segments Added support for multiple (per TCP port) STT ports Testing: link layer connection through ping works. File transfer. Signed-off-by: Eitan Eliahu <eliahue@vmware.com> Co-authored-by: Saurabh Shah <ssaurabh@vmware.com> Signed-off-by: Saurabh Shah <ssaurabh@vmware.com> Acked-by: Nithin Raju <nithin@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* datapath-windows: Update OVSEXT VS project to support 6.40Sorin Vinturis2014-11-251-1/+34
| | | | | | | | | | | | | | | | | | | | Added support for creating OVS extension driver NDIS 6.40 compliant. Currently the OVSEXT Visual Studio project has four build configurations, 'Win8 Release', 'Win8 Debug', 'Win8.1 Release' and 'Win8.1 Debug'. All of them are creating a binary that is NDIS 6.30 compliant. I have changed the Win8.1 build configurations in order to create a binary that is NDIS 6.40 compliant. In this way, the OVSEXT project is able to create a release/debug binary that is NDIS 6.30 compliant, using the 'Win8 Release' and 'Win8 Debug' build configurations, as well as a release/debug binary that is NDIS 6.40 compliant, using the 'Win8.1 Release' and 'Win8.1 Debug' build configurations. Signed-off-by: Sorin Vinturis <svinturis@cloudbasesolutions.com> Acked-by: Eitan Eliahu <eliahue@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* datapath-windows: nuke non-netlink based interfaceNithin Raju2014-11-201-4/+2
| | | | | | Signed-off-by: Nithin Raju <nithin@vmware.com> Acked-by: Sorin Vinturis <svinturis@cloudbasesolutions.com> Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
* datapath-windows: Add file NetlinkError.h.Samuel Ghinet2014-09-261-1/+2
| | | | | | | | | | | | | | | Contains error codes for netlink transactional errors. These errors are passed to the "error" field (INT) of the NL_MSG_ERR struct. The userspace requires them to be negative values: the nl_msg_nlmsgerr userspace function transforms them from negative to positive values. These error codes correspond to the userspace error codes defined in: "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\errno.h" Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com> Acked-by: Eitan Eliahu <eliahue@vmware.com> Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* datapath-windows: Add Netlink buffer management APIs.Ankur Sharma2014-09-041-0/+2
| | | | | | | | | | | | | | In this change we have introduced buffer mgmt apis which will be used while creating netlink messages. The basic functionality provided by apis is on similar lines to ofpbuf in userspace with an exception that it will not do run time buffer reallocation. Signed-off-by: Ankur Sharma <ankursharma@vmware.com> Tested-by: Ankur Sharma <ankursharma@vmware.com> Reported-at: https://github.com/openvswitch/ovs-issues/issues/37 Acked-by: Eitan Eliahu <eliahue@vmware.com> Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* datapath-windows: Move netlink files to a new directory.Ankur Sharma2014-09-041-4/+4
| | | | | | | | | | | | | | | | | | In this change we have created a new directory named Netlink inside datapath-windows/ovsext/. This directory will be used to keep all the netlink related files. The reason we have created new directory is that for 'put' related APIs we will be adding netlink buffer mgmt files as well. These files will take the count of netlink related files to 5. Hence we decided to club the netlink files in a single directory. Signed-off-by: Ankur Sharma <ankursharma@vmware.com> Tested-by: Ankur Sharma <ankursharma@vmware.com> Reported-at: https://github.com/openvswitch/ovs-issues/issues/37 Acked-by: Eitan Eliahu <eliahue@vmware.com> Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* datapath-windows: Rename files.Samuel Ghinet2014-08-291-42/+43
| | | | | | | | | | | | This patch includes the file renaming and accommodations needed for the file renaming to build the forwarding extension for Hyper-V. This patch is also a follow-up for the thread: http://openvswitch.org/pipermail/dev/2014-August/044005.html Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com> Co-authored-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* datapath-windows: Using windows kernel netlink parsing APIs.Ankur Sharma2014-08-221-0/+3
| | | | | | | | | | In this patch we incorporate the usage of netlink message and the parsing APIs that were added in previous commit. Signed-off-by: Ankur Sharma <ankursharma@vmware.com> Reported-at: https://github.com/openvswitch/ovs-issues/issues/18 Acked-by: Nithin Raju <nithin@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* datapath-windows: add infrastructure for supporting netlinkNithin Raju2014-08-191-1/+1
| | | | | | | | | | | | | | | | | | | | | In this change, we define netlink families and commands supported by the Windows datapath. Only the control family and one command is supported today to get the PID. We also implement the 3 ioctls: read, write and transact. This is bare minimum and can be used to implement the equivalent of a recv, send, and send-recv in userspace netlink. This interface is subject to change as iron out the details of the user-kernel interface for operations around packet receive, events, dump, etc. We also turn on OVS_USE_NL_INTERFACE to 1 in the ovsext project. Signed-off-by: Nithin Raju <nithin@vmware.com> Acked-by: Alin Serdean <aserdean@cloudbasesolutions.com> Acked-by: Ankur Sharma <ankursharma@vmware.com> Acked-by: Saurabh Shah <ssaurabh@vmware.com> Reported-at: https://github.com/openvswitch/ovs-issues/issues/18 Signed-off-by: Ben Pfaff <blp@nicira.com>
* datapath-windows: Add Datapath.[ch] and OVS_USE_NL_INTERFACE CPPNithin Raju2014-08-191-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | In this change we create peer to OvsIoctl.[ch] that would interface with userspace using the netlink interface. The new files are called Datapath.[ch]. We are not deleting OvsIoctl.[ch] yet. Datapath.[ch] provides bare minimum functionality to register a pseudo device for communication with userspace. We also define a CPP called OVS_USE_NL_INTERFACE in the ovsext project. This defines if the old interface (pre-netlink based) or the new interface (netlink- based) should be enabled in the kernel. By default, the value is 0 since the Datapath.[ch] are minimal. In the next change, we'll turn it to 1. Since Datapath.[ch] containes code copied from OvsIoctl.[ch], acking the original author as well. Signed-off-by: Nithin Raju <nithin@vmware.com> Co-authored-by: Guolin Yang <gyang@vmware.com> Acked-by: Alin Serdean <aserdean@cloudbasesolutions.com> Acked-by: Ankur Sharma <ankursharma@vmware.com> Acked-by: Saurabh Shah <ssaurabh@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* Add extentions to the standard datapath interfaceNithin Raju2014-08-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The datapath interface defined in odp-netlink.h needs some extensions that are platform dependent. Some examples are the name of the communication device on Windows and a set of commands that are specific to Windows. In this change we define a datapath-windows/include/OvsDpInterfaceExt.h to include any platform specific interface extensions. OvsDpInterfaceExt.h is in turn included in odp-netlink.h ONLY for _WIN32. This approach was chosen to avoid including OvsDpInterfaceExt.h directly although the latter approach is as good as the former. Also, we define three ioctls in OvsDpInterfaceExt.h: read: provides an output buffer (mimics a recv) write: provides an input buffer (mimics a send) transact: provides an input and optionally an output buffer. (mimics a send followed by recv) Signed-off-by: Nithin Raju <nithin@vmware.com> Co-Authored-by: Ben Pfaff <blp@nicira.com> Acked-by: Alin Serdean <aserdean@cloudbasesolutions.com> Acked-by: Ankur Sharma <ankursharma@vmware.com> Acked-by: Saurabh Shah <ssaurabh@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* datapath-windows: Kernel module for HyperV.Saurabh Shah2014-07-281-0/+164
The kernel switch extension has support for bridged back forwarding & tunneling over VXLAN. There is no Netlink integration as it is still being worked out. Co-Authored-By: Ankur Sharma <ankursharma@vmware.com> Signed-off-by: Ankur Sharma <ankursharma@vmware.com> Co-Authored-By: Eitan Eliahu <eliahue@vmware.com> Signed-off-by: Eitan Eliahu <eliahue@vmware.com> Co-Authored-By: Guolin Yang <gyang@vmware.com> Signed-off-by: Guolin Yang <gyang@vmware.com> Co-Authored-By: Linda Sun <lsun@vmware.com> Signed-off-by: Linda Sun <lsun@vmware.com> Co-Authored-By: Nithin Raju <nithin@vmware.com> Signed-off-by: Nithin Raju <nithin@vmware.com> Signed-off-by: Saurabh Shah <ssaurabh@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>