Yes, the behavior where entries in the Dynamic Dispatcher Table (fw ctl multik gconn -p) persist for several days even though they no longer appear in the connection table (fw ctl conntab) can indicate a problem, especially if the Hold_ref value is greater than 1 and doesn't change over time.
Meaning of the Hold_ref Field:
Hold_ref indicates that the connection is in a "hold" state managed by the fwhold mechanism. This is used when deeper inspection is needed (e.g., by IPS, Threat Prevention). A Hold_ref > 0 means the connection is not fully processed or released yet. If Hold_ref remains above 0 for an extended period and the entry stays in the table, it could indicate a problem with the fwhold logic or a stuck process.
Relationship Between the Connection Table and Dynamic Dispatcher Table:
- The Connection Table (conntab) contains active, live connections currently being handled by the firewall.
- The Dynamic Dispatcher Table (gconn) is used by CoreXL to associate connections with specific firewall workers.
- An entry in the gconn table is created when a connection is initiated and should be removed when:
- The connection is properly terminated, and the corresponding worker has released all references (e.g., via timeout, FIN, or RST).
These tables are related but not identical. It’s possible for a gconn entry to remain even after the related conntab entry is gone — but this should only be temporary.
What Does the Error Log Mean?
[ERROR]: up_manager_resume_chain: fwhold_send failed. chain will be dropped by the fwhold API;
This means:
- A connection in the hold state could not be resumed properly.
- The fwhold API discarded the processing chain because it failed to resume the connection.
- The connection is dropped but might remain as a zombie in the gconn table.
Yes. If such entries with Hold_ref > 1 remain in the table for days, it indicates (Missing cleanup, Possibly stuck fwhold contexts or Potential memory leaks or performance degradation as these entries accumulate)
Yes, if gconn entries with Hold_ref > 1 remain for days, it's a sign of a problem. These entries should be cleaned up automatically. If not, it likely points to a bug or a stuck inspection process.
➜ CCSM Elite, CCME, CCTE ➜ www.checkpoint.tips