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
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.
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.
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:

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 |
---|---|
|
|

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 |
---|---|
|
|

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 " |
General syntax for the 'fw ctl debug' command (configuring the kernel debug modules and debug flags)
|
General syntax for the 'fw ctl ndebug' command (configuring the new kernel debug output)
|
General syntax for the 'fw ctl kdebug' command (configuring the legacy kernel debug output)
|

-
Built-in help for configuring the New Kernel Debug and the Legacy Kernel Debug:
fw ctl debug -h
-
Built-in help for output of the New Kernel Debug:
fw ctl ndebug -h
-
Built-in help for output of the Legacy Kernel Debug:
fw ctl kdebug -h

-
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/messages
file will not show these basic default debug messages.fw ctl debug -x

-
To allocate the kernel debug buffer in the 'Gateway' mode:
fw ctl debug -buf 8200
-
To allocate the kernel debug buffer in the 'VSX
Virtual System Extension. Check Point virtual networking solution, hosted on a computer or cluster with virtual abstractions of Check Point Security Gateways and other network devices. These Virtual Devices provide the same functionality as their physical counterparts.' mode:
fw ctl debug -buf 8200 -v {"<List of VSIDs>" | all} -k

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.
|
Note - Security Gateway / Cluster Member / each Security Group Member allocates the user space debug buffer with the specified size for each CoreXL Firewall instance. |
-
To allocate the user space debug buffer in the New Kernel Debug:
fw ctl ndebug -b 8200 <other required parameters>
-
To allocate the user space debug buffer in the Legacy Kernel Debug:
fw ctl kdebug -b 8200 <other required parameters>

-
General syntax:
fw ctl debug [-v {"<List of VSIDs>" | all} -k] [-U] [-z] -m <Name of Debug Module> {all | [+|-] <List of Debug Flags>}
-
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 only the specified debug flags in the specified kernel module in addition to already enabled debug flags:
fw ctl debug -m <Name of Debug Module> + <List of Debug Flags>
-
To enable only the specified debug flags in the specified kernel module and disables all other enabled debug flags:
fw ctl debug -m <Name of Debug Module> <List of Debug Flags>
-
To disable only the specified debug flags in the specified kernel module:
fw ctl debug -m <Name of Debug Module> - <List of Debug Flags>

-
New Kernel Debug:
fw ctl ndebug [-b <User Space Buffer Size>] [-p <List of Fields>] [-k] -T [-M] [-w] [-U] [-c <Number of CoreXL Firewall Instances in Debug Thread>] [-I "<List of CoreXL Firewall Instances>" | all}] -o /<Path>/<Name of Output File>
-
Legacy Kernel Debug:
fw ctl kdebug [-b <User Space Buffer Size>] [-p <List of Fields>] [-k] -T -f -o /<Path>/<Name of Output File> [-m <Number of Cyclic Files> [-s <Size of Each Cyclic File in KB>]]

-
New Kernel Debug:
fw ctl ndebug [-b <User Space Buffer Size>] [-p <List of Fields>] [-k] -T -v {"<List of VSIDs>" | all} -k [-M] [-w] [-U] [-c <Number of CoreXL Firewall Instances in Debug Thread>] [-I {"<List of CoreXL Firewall Instances>" | all}] -o /<Path>/<Name of Output File>
-
Legacy Kernel Debug:
fw ctl kdebug [-b <User Space Buffer Size>] [-p <List of Fields>] -v {"<List of VSIDs>" | all} -k -T -f -o /<Path>/<Name of Output File> [-m <Number of Cyclic Files> [-s <Size of Each Cyclic File in KB>]]
CLI Parameters

|
Note - Only supported parameters are listed. |
Parameter |
Description |
|||||||
---|---|---|---|---|---|---|---|---|
|
Shows the built-in help. |
|||||||
|
Controls how to disable the debug flags:
|
|||||||
|
Allocates the kernel debug buffer.
|
|||||||
|
In the VSNext mode:
In the Traditional VSX mode:
Syntax:
|
|||||||
|
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 - the debug output will include only connections to or from the specified IP address. For more information, see Kernel Debug Filters. 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. To see a list of all debug modules, run: |
|||||||
|
Specifies which debug flags to enable or disable in the specified kernel debug module. To see a list of all debug modules and their flags, run: See Kernel Debug Modules and Debug Flags.
|
|||||||
|
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) - an IPS The Security Gateway / Cluster Member / Security Group processes some connections in only in the Host appliance code. When you use this parameter " |
|||||||
|
Specifies to merge the debug information from the HyperFlow feature. This information is available only for the " |

|
Note - Only supported parameters are listed. |
Parameter |
Description |
|||
---|---|---|---|---|
|
In the VSNext mode:
In the Traditional VSX mode:
Syntax:
|
|||
|
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, these messages start with the applicable CPU ID and CoreXL Firewall instance ID. You can print additional fields in the beginning 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. See the R82 Performance Tuning Administration Guide > Chapter "HyperFlow". |
|||
|
Specifies the number of CoreXL Firewall Instances in each internal debug thread. The default is 4.
|
|||
|
Specifies the list of CoreXL Firewall Instances.
|
|||
|
Specifies the path and the name of the debug output file.
|

|
Note - Only supported parameters are listed. |
Parameter |
Description |
|||
---|---|---|---|---|
|
In the VSNext mode:
In the Traditional VSX mode:
Syntax:
|
|||
|
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, these messages start with the applicable CPU ID and CoreXL Firewall instance ID. You can print additional fields in the beginning 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:
|