After activating the plug-in in the server, compile the client code reqextop.c.
Add an entry under cn=features in the configuration to let users access the extended operation.
$ cat myextop.ldif dn: oid=1.2.3.4,cn=features,cn=config objectClass: top objectClass: directoryServerFeature oid: 1.2.3.4 cn: Fake extended operation aci: (targetattr != "aci")(version 3.0;acl "Fake extended operation"; allow ( read, search, compare, proxy ) userdn = "ldap:///all";) $ ldapmodify -h localhost -p 389 -a -D cn=directory\ manager -w - -f myextop.ldif Enter bind password: adding new entry uid=qcubbins,ou=People,dc=example,dc=com $ dsadm restart /local/ds Waiting for server to stop... Server stopped Server started: pid=5658 $  | 
Run the client to send the extended operation request and display the result.
$ ./reqextop -w password
Using the following connection info:
        host:    localhost
        port:    389
        bind DN: cn=Directory Manager
        pwd:     password
Setting up value to pass to server...
Getting the handle to the LDAP connection...
Resetting version 2 to 3.0...
Binding to the directory...
Initiating the extended operation...
Operation successful.
        Returned OID: 5.6.7.8
        Returned value: Value from client: My Value
 | 
On the Directory Server side, turn on logging.
Messages similar to the following in the errors log show that the plug-in handled the client request:
[22/May/2112:08:54:15 +0200] - INFORMATION - test_extendedop in test-extendedop plug-in - conn=0 op=1 msgId=2 - Request with OID: 1.2.3.4 Value from client: My Value [22/May/2112:08:54:15 +0200] - INFORMATION - test_extendedop in test-extendedop plug-in - conn=0 op=1 msgId=2 - OID sent to client: 5.6.7.8 Value sent to client: Value from client: My Value  | 
You have thus demonstrated that the example extended operation plug-in handles requests for the extended operation with OID 1.2.3.4.