pf_key is a program to open a PF_KEY socket and print all messages that are received from it. With no options, it will register itself to receive key requests for AH, ESP, IPIP and IPCOMP security associations. If given more specific options, then it will listen only to those protocols that are listed.
If the messages are recognized, the messages will be decoded.
If the option --daemon is provided, then after doing the registrations, the program will fork into the background. The provided file will be opened and the process ID of the background process will be written to it. This option is present to present race conditions in regression testing.