Software Development Kit (SDK) and API Discussions

Async FPolicy Server Is Blocking


According to the documentation in "FPolicy for Data ONTAP 7.3 User's Guide" (from the file mm_oc_731_fpolicy.pdf), it states the following:


The asynchronous notification feature enables the storage system to send FPolicy notifications to the
FPolicy server asynchronously. This means that the storage system sends a response to client requests
without waiting for the FPolicy server to respond to the file screening request.


To me, what this means is that when a NetApp Filer storage device makes a call to our FPolicy Server application using the RPC method call "FP_ScreenRequest2" (we register as 'version=2'), the file operation from the end user, for example, when a user saves a file, shoule NOT be blocked and have to wait for our FPolicy Server application to return a value from the "FP_ScreenRequest2" RPC method call.


However, in my testing, this does not appear to be the case.  I can start up my FPolicy Server application, attach a debugger to it, put a breakpoint in the "FP_ScreenRequest2" method.  Then, I open an existing file in Notepad, modify it, then click to save it.  This causes a "FP_ScreenRequest2" to be triggered and my breakpoint it hit.  But now, Notepad is frozen.  And it will not unfreeze until my "FP_ScreenRequest2" method returns.  This is not an asynchronous behavior in my opinion.


Can anybody else confirm or deny this?


Additional information:

I am testing against a NetApp Filer simulator, not a real physical NetApp storage device.

Our FPolicy is:


> fpolicy
CIFS file policy is enabled.

File policy BW_43fb057a0990485f9c6bc7e24a4d344f (file screening) is enabled.
File screen servers P/S Connect time (dd:hh:mm) Reqs Fails
------------------------------------------------------------------------------ \\NETAPP-TEST Pri 00:00:07 2 0
ServerID: 146 IDL Version: 2 SMB Request Pipe Name: \ntapfprq_BW_43fb057a0990485f9c6bc7e24a4d344f
Options enabled: async, version2

Operations monitored:
File create,File rename,File delete,File write,Setattr
Directory rename,Directory delete,Directory create
Above operations are monitored for CIFS only
List of extensions to screen:
List of extensions not to screen:
Extensions-not-to-screen list is empty.
Number of requests screened : 7
Number of screen failures : 0
Number of requests blocked locally : 0

When our FPolicy Server application registers with the NetApp Filer storage device, it get some Filer information and then uses the the "FP_Registration_V2" RPC method:


The version of the NetApp Filer 'NETAPPSIM' was found to be: Short version: '8.1.1X34'. Long version: 'NetApp Release 8.1.1X34 7-Mode: Thu May 31 21:30:59 PDT 2012'

Registering with FPolicy V2 with the following information:

filerId: 2
filerOps: 0x1005ff6
policyName: BW_43fb057a0990485f9c6bc7e24a4d344f
registrationInfo: \\NETAPP-TEST\CONTOSO\async=true,version2=true
pipe: ntapfprq_BW_43fb057a0990485f9c6bc7e24a4d344f

So you can see we're registering with 'async', but we're not getting what I would consider asynchronous behavior.


Any help would be appreciated.  If you need more information, I can try to provide it.


Thank you.


NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.

NetApp Insights to Action
I2A Banner