#include <qtossapi.h> void debugDPI( int level );
The debugDPI() function sets the level of the Distributed Protocol Interface (DPI(R)) packet trace. The trace consists of a representation (printed to STDERR) of DPI packets as they are parsed (by the pDPIpacket() function) or made (by one of the mkDPIxxx() APIs). The trace is written to ILE C standard error output.
None.
0 | Turn off packet tracing |
1 | Display packet creation and parsing |
2 | Level 1, plus display the hexadecimal dump of incoming and outgoing DPI packets. |
The debugDPI() function is used to turn the DPI packet trace on or off.
See Code disclaimer information for information pertaining to code examples.
#include <qtossapi.h> debugDPI(2);
Following are some examples of the DPI packet trace. A simple way to view STDERR is to run your program in batch in a submitted job.
The following is an example of a trace, with the level parameter set to 1, of a register packet made by the subagent's call to mkDPIregister(). This is indicated in the trace by the letter c (for create) at the beginning of a trace line. Immediately following that is the parse of the response packet that the subagent got back from the SNMP agent. This is indicated in the trace by the letter p (for parse) at the beginning of a trace line.
cDPIpacket: Major=2, Version=2, Release=0, Id=1, Type=SNMP_DPI_REGISTER cDPIreg: subtree=1.3.6.1.2.3.4.5.6., priority=0, timeout=4 view_selection=No bulk_selection=No pDPIpacket: Major=2, Version=2, Release=0, Id=1, Type=SNMP_DPI_RESPONSE pDPIresp: ret_code=0 [0x0] (noError), ret_index=255 pDPIset: subtree=1.3.6.1.2.3.4.5.6, instance=** NONE ** object=1.3.6.1.2.3.4.5.6 value_type=NULL ['04'H], value_len=0 value=** NULL **
Next is an example of a "get" packet that is received by a subagent. Immediately following that is the response packet that the subagent built (indicated by the letter c) by calling mkDPIresponse().
pDPIpacket: Major=2, Version=2, Release=0, Id=2, Type=SNMP_DPI_GET Community=** NONE ** pDPIget: subtree=1.3.6.1.2.3.4.5.6., instance=1.0 object=1.3.6.1.2.3.4.5.6.1.0 cDPIpacket: Major=2, Version=2, Release=0, Id=2, Type=SNMP_DPI_RESPONSE cDPIresp: ret_code=0 [0x0] (noError), ret_index=0 cDPIset: subtree=1.3.6.1.2.3.4.5.6., instance=1.0 object=1.3.6.1.2.3.4.5.6.1.0 value_type=Integer32 ['81'H], value_len=4 value=1 [0x00000001]
Next is an example of the trace with the level parameter set to 2. This causes a hexadecimal dump of the DPI packet to be generated when pDPIpacket() is called, in addition to the trace level of 1. Next is the same packet as parsed by pDPIpacket(), and immediately following that is the response packet that the subagent built by calling mkDPIresponse().
Dump of 33 byte incoming DPI packet: 00 1f 02 02 00 00 03 02 00 00 f1 4b f3 4b f6 4b f1 4b f2 4b f3 4b f4 4b f5 4b f6 4b 00 f5 4b f0 00 pDPIpacket: Major=2, Version=2, Release=0, Id=3, Type=SNMP_DPI_GETNEXT Community=** NONE ** pDPInext: subtree=1.3.6.1.2.3.4.5.6., instance=5.0 object=1.3.6.1.2.3.4.5.6.5.0 cDPIpacket: Major=2, Version=2, Release=0, Id=3, Type=SNMP_DPI_RESPONSE cDPIresp: ret_code=0 [0x0] (noError), ret_index=0 cDPIset: subtree=1.3.6.1.2.3.4.5.6., instance=6.0 object=1.3.6.1.2.3.4.5.6.6.0 value_type=Counter32 ['86'H], value_len=4 value=6 [0x00000006]
Top | UNIX-Type APIs | APIs by category |