[ovs-dev] [PATCH v7 1/3] datapath-windows: Support for custom VXLAN tunnel port

Nithin Raju nithin at vmware.com
Wed May 27 16:16:22 UTC 2015


> On May 27, 2015, at 9:08 AM, Sorin Vinturis <svinturis at cloudbasesolutions.com> wrote:
> 
> The kernel datapath supports only port 4789 for VXLAN tunnel creation.
> Added support in order to allow for the VXLAN tunnel port to be
> configurable to any port number set by the userspace.
> 
> The patch also checks to see if an existing WFP filter, for the
> necessary UDP tunnel port, is already created before adding a new one.
> This is a double check, because currently the userspace also verifies
> this, but it is necessary to avoid future issues.
> 
> Custom VXLAN tunnel port requires the addition of a new WFP filter
> with the new UDP tunnel port. The creation of a new WFP filter is
> triggered in OvsInitVxlanTunnel function and the removal of the WFP
> filter in OvsCleanupVxlanTunnel function.
> But the latter functions are running at IRQL = DISPATCH_LEVEL, due
> to the NDIS RW lock acquisition, and all WFP calls must be running at
> IRQL = PASSIVE_LEVEL. This is why I have created a system thread which
> records all filter addition/removal requests into a list for later
> processing by the system thread. The ThreadStart routine processes all
> received requests at IRQL = PASSIVE_LEVEL, which is the required IRQL
> for the necessary WFP calls for adding/removal of the WFP filters.
> 
> The WFP filter for the default VXLAN port 4789 is not added anymore at
> filter attach. All WFP filters for the tunnel ports are added when the
> tunnel ports are initialized and are removed at cleanup. WFP operation
> status is then reported to userspace.
> 
> It is necessary that OvsTunnelFilterUninitialize function is called
> after OvsClearAllSwitchVports in order to allow for the added WFP
> filters to be removed. OvsTunnelFilterUninitialize function closes the
> global engine handle used by most of the WFP calls, including filter
> removal.
> 
> Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
> Reported-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>

Thanks for your patience!

Acked-by: Nithin Raju <nithin at vmware.com>


More information about the dev mailing list