Kernel Debug Syntax
Description
During a kernel debug session, Security Gateway Dedicated Check Point server that runs Check Point software to inspect traffic and enforce Security Policies for connected network resources. / Cluster Member
 Dedicated Check Point server that runs Check Point software to inspect traffic and enforce Security Policies for connected network resources. / Cluster Member Security Gateway that is part of a cluster. / Scalable Platform Security Group Member
 Security Gateway that is part of a cluster. / Scalable Platform Security Group Member Member of a Security Group in ElasticXL Cluster, Maestro, and Scalable Chassis. Acronym: SGM. prints special debug messages that help Check Point Support and R&D understand how it processes the applicable connections.
 Member of a Security Group in ElasticXL Cluster, Maestro, and Scalable Chassis. Acronym: SGM. prints special debug messages that help Check Point Support and R&D understand how it processes the applicable connections.
Action Plan to Collect a Kernel Debug
| 
                                                             | Note - See the Kernel Debug Procedure, or the Kernel Debug Procedure with Connection Life Cycle. | 
Kernel Debug Behavior on Security Gateways with 72 and more CPU Cores
When you enable the kernel debug, all CoreXL Performance-enhancing technology for Security Gateways on multi-core processing platforms. Multiple Check Point Firewall instances are running in parallel on multiple CPU cores. Firewall instances on a Security Gateway start to print their applicable debug messages.
 Performance-enhancing technology for Security Gateways on multi-core processing platforms. Multiple Check Point Firewall instances are running in parallel on multiple CPU cores. Firewall instances on a Security Gateway start to print their applicable debug messages.
To present the complete chronological overview, the Security Gateway performs real-time merge of these debug messages in RAM.
The more CPU cores the Security Gateway has, the more CPU and RAM resources this real-time merge consumes.
Therefore, starting in R82, by default, the kernel debug behaves differently on Security Gateways with 72 and more CPU cores:
 When you run the kernel debug without redirecting the output to a file
When you run the kernel debug without redirecting the output to a file
                                            This is the comparison of the kernel debug behavior of the "fw ctl kdebug -T" command when you do not redirect the debug output to a file:
| New Kernel Debug Behavior on Security Gateways with 72 and more CPU cores | Legacy Kernel Debug Behavior on Security Gateways with fewer than 72 CPU cores | 
|---|---|
| 
 | 
 | 
 When you run the kernel debug and redirect the output to a file
When you run the kernel debug and redirect the output to a file
                                            This is the comparison of the kernel debug behavior of the "fw ctl kdebug -T" command when you redirect the debug output to a file (/<Path>/<Name of File>.<Extension of File>):
| New Kernel Debug Behavior on Security Gateways with 72 and more CPU cores | Legacy Kernel Debug Behavior on Security Gateways with fewer than 72 CPU cores | 
|---|---|
| 
 | 
 | 
 To use the new kernel debug behavior on Security Gateways with fewer than 72 CPU cores
To use the new kernel debug behavior on Security Gateways with fewer than 72 CPU cores
                                            You can use the new kernel debug behavior on Security Gateways with fewer than 72 CPU cores.
Instead of the "fw ctl kdebug -T" command, use the "fw ctl ndebug -T" command.
CLI Syntax
When there are differences in the syntax, this section provides the CLI syntax for the new kernel debug (see Kernel Debug Behavior on Security Gateways with 72 and more CPU Cores) and the legacy kernel debug.
| 
                                                             | Notes: 
 | 
| 
                                                             | Important - To run these commands in the Expert mode on a Scalable Platform Security Group, you must use the " | 
 CLI syntax to see the built-in help for the kernel debug
CLI syntax to see the built-in help for the kernel debug
                                            | Kernel Debug Mode | Kernel Debug Syntax | |
|---|---|---|
| New Kernel Debug and Legacy Kernel Debug | 
 | |
| New Kernel Debug | 
 | |
| Legacy Kernel Debug | 
 | 
 CLI syntax to restore the default kernel debug settings
CLI syntax to restore the default kernel debug settings
                                            - 
                                                        To reset all debug flags and enable only the default debug flags in all kernel modules: fw ctl debug 0
- 
                                                        To disable all debug flags including the default flags in all kernel modules:   Best Practice - Do not run this command, because it disables even the basic default debug messages. As a result, the /var/log/messagesfile will not show these basic default debug messages.fw ctl debug -x
 CLI syntax to allocate the kernel debug buffer
CLI syntax to allocate the kernel debug buffer
                                            For an approximate total memory utilization, refer to sk160955.
| 
 | 
| 
                                                                     | Notes: 
 | 
 CLI syntax to allocate the user space debug buffer
CLI syntax to allocate the user space debug buffer
                                            The size of the user space debug buffer should be at least the size of the maximum kernel debug buffer of 8200.
Use the "-b <User Space Buffer Size>" parameter as part of the syntax.
| Kernel Debug Mode | Kernel Debug Syntax | |
|---|---|---|
| New Kernel Debug | 
 | |
| Legacy Kernel Debug | 
 | 
| 
                                                                     | Note - Security Gateway / Cluster Member / each Security Group Member allocates the user space debug buffer with the specified size for each CoreXL Firewall instance. | 
 CLI syntax to configure the debug modules and debug flags
CLI syntax to configure the debug modules and debug flags
                                            - 
                                                        General syntax: fw ctl debug [-d <Strings to Search>] [-F "<Source IP>,<Source Port>,<Dest IP>,<Dest Port>,<Protocol Number>"] [-H "<IP Address>"] [-v {"<List of VSIDs>" | all} -k] [-k] -m <Name of Debug Module> {all | + <List of Debug Flags> | - <List of Debug Flags>} [-U]fw ctl debug [-s "<String to Stop Debug>"] [-F "<Source IP>,<Source Port>,<Dest IP>,<Dest Port>,<Protocol Number>"] [-H "<IP Address>"] [-v {"<List of VSIDs>" | all} -k] [-k] -m <Name of Debug Module> {all | + <List of Debug Flags> | - <List of Debug Flags>}[-U]
- 
                                                        To see a list of all debug modules and their flags:   Note - The list of kernel modules depends on the Software Blades you enabled on the Security Gateway / ClusterXL / Security Group. fw ctl debug -m
- 
                                                        To see a list of debug flags that are already enabled: fw ctl debug
- 
                                                        To enable all debug flags in the specified kernel module: fw ctl debug -m <Name of Debug Module> all
- 
                                                        To enable the specified debug flags in the specified kernel module: fw ctl debug -m <Name of Debug Module> + <List of Debug Flags>
- 
                                                        To disable the specified debug flags in the specified kernel module: fw ctl debug -m <Name of Debug Module> - <List of Debug Flags>
 CLI syntax to collect the kernel debug output in the 'Gateway' mode
CLI syntax to collect the kernel debug output in the 'Gateway' mode
                                            | Kernel Debug Mode | Kernel Debug Syntax | |
|---|---|---|
| New Kernel Debug | 
 | |
| Legacy Kernel Debug | 
 | 
 CLI syntax to collect the kernel debug output in the 'VSNext' / 'Legacy VSX' mode - from specific Virtual Systems
CLI syntax to collect the kernel debug output in the 'VSNext' / 'Legacy VSX' mode - from specific Virtual Systems
                                            | Kernel Debug Mode | Kernel Debug Syntax | |
|---|---|---|
| New Kernel Debug | 
 | |
| Legacy Kernel Debug | 
 | 
CLI Parameters
 CLI Parameters for the 'fw ctl debug' command (for the new kernel debug and the legacy kernel debug)
CLI Parameters for the 'fw ctl debug' command (for the new kernel debug and the legacy kernel debug)
                                            | 
                                                                     | Note - Only supported parameters are listed. | 
| Parameter | Description | |||||||
|---|---|---|---|---|---|---|---|---|
| 
 | Controls how to disable the debug flags: 
 | |||||||
| 
 | When you specify this parameter, the Security Gateway / Cluster Member / Security Group: 
 
 | |||||||
| 
 | When you specify this parameter, the Security Gateway / Cluster Member / Security Group: 
 
 | |||||||
| 
 | Specifies the capture filter (for both accelerated and non-accelerated traffic): 
 | |||||||
| 
 | 
 | |||||||
| 
 | Creates an IP address filter. For more information, see Kernel Debug Filters. This parameter supports up to 3 capture filters (up to 3 instances of the " Example - Capture traffic only to and from the Host 1.1.1.1: 
 | |||||||
| 
 | Specifies the name of the kernel debug module, for which you print or configure the debug flags. | |||||||
| 
 | Specifies which debug flags to enable or disable in the specified kernel debug module: 
 | |||||||
| 
 | 
 In the VSNext mode: 
 
 
 | |||||||
| 
 | Syntax: 
 | |||||||
| 
 
 
 
 | Specifies the INSPECT filter for the debug: 
 
 | |||||||
| 
 | The Security Gateway / Cluster Member / Security Group processes some connections in both SecureXL code and in the Host appliance code (for example, Passive Streaming Library (PSL The Security Gateway / Cluster Member / Security Group processes some connections in only in the Host appliance code. When you use this parameter, kernel debug output contains the debug messages only from the Host appliance code. | |||||||
| 
 | The Security Gateway / Cluster Member / Security Group processes some connections in both kernel space code and in the user space code (for example, Web Intelligence). The Security Gateway / Cluster Member / Security Group processes some connections only in the kernel space code. When you use this parameter, kernel debug output contains the debug messages only from the kernel space. 
 | |||||||
| 
 | By default, when the Security Gateway / Cluster Member / Security Group prints the debug messages, the messages start with the applicable CPU ID and CoreXL Firewall instance ID. You can print additional fields in the beginning of each debug message. 
 | |||||||
| 
 | Specifies to merge the debug information from the HyperFlow feature. This information is available only for the " | 
 CLI Parameters for the 'fw ctl ndebug' command (for the new kernel debug)
CLI Parameters for the 'fw ctl ndebug' command (for the new kernel debug)
                                            | 
                                                                     | Note - Only supported parameters are listed. | 
| Parameter | Description | |||
|---|---|---|---|---|
| 
 | Specifies the size of the user space debug buffer. This buffer size should be at least the size of the maximum kernel debug buffer of 8200. | |||
| 
 | By default, when the Security Gateway / Cluster Member / Security Group prints the debug messages, the messages start with the applicable CPU ID and CoreXL Firewall instance ID. You can print additional fields in the beginning of each debug message. 
 | |||
| 
 | The Security Gateway / Cluster Member / Security Group processes some connections in both kernel space code and in the user space code (for example, Web Intelligence). The Security Gateway / Cluster Member / Security Group processes some connections only in the kernel space code. When you use this parameter, kernel debug output contains the debug messages only from the kernel space. 
 | |||
| 
 | Prints the time stamp in microseconds in front of each debug message. 
 | |||
| 
 | Disables the merge of all temporary debug files at the end of the kernel debug. This is helpful if you want to analyze an individual dedicated temporary debug file. 
 | |||
| 
 | Specifies not to delete the temporary debug files. | |||
| 
 | Specifies to merge the debug information from the HyperFlow feature. | |||
| 
 | Specifies the number of CoreXL Firewall Instances in each internal debug thread. The default is 4. 
 | |||
| 
 | Specifies the list of CoreXL Firewall Instances. 
 | |||
| 
 | In the VSNext mode: 
 In the Legacy VSX mode: 
 
 | |||
| 
 | Syntax: 
 
 | |||
| 
 | Specifies the path and the name of the debug output file. 
 | 
 CLI Parameters for the 'fw ctl kdebug' command (for the legacy kernel debug)
CLI Parameters for the 'fw ctl kdebug' command (for the legacy kernel debug)
                                            | 
                                                                     | Note - Only supported parameters are listed. | 
| Parameter | Description | ||
|---|---|---|---|
| 
 | Specifies the size of the user space debug buffer. This buffer size should be at least the size of the maximum kernel debug buffer of 8200. | ||
| 
 | By default, when the Security Gateway / Cluster Member / Security Group prints the debug messages, the messages start with the applicable CPU ID and CoreXL Firewall instance ID. You can print additional fields in the beginning of each debug message. 
 | ||
| 
 | The Security Gateway / Cluster Member / Security Group processes some connections in both kernel space code and in the user space code (for example, Web Intelligence). The Security Gateway / Cluster Member / Security Group processes some connections only in the kernel space code. When you use this parameter, kernel debug output contains the debug messages only from the kernel space. 
 | ||
| 
 | In the VSNext mode: 
 In the Legacy VSX mode: 
 
 | ||
| 
 | Syntax: 
 | ||
| 
 | Prints the time stamp in microseconds in front of each debug message. 
 | ||
| 
 | Collects the debug data until you stop the kernel debug in one of these ways: 
 | ||
| 
 | Specifies the path and the name of the debug output file. 
 | ||
| 
 | 
 Saves the collected debug data into cyclic debug output files. When the size of the current  If the  The valid values are: 
 | 
 
                                            