[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