Firewall Rules WebGUI pagination row count persistence for large rule sets
0 reputation · 05 Jun 2021, 11:49 UTC
0 reputation · 05 Jun 2021, 11:49 UTC
The pfSense WebGUI Firewall > Rules view presents rules in a paginated table with a configurable rows-per-page control. The documented default is 20 entries per page and the control is intended to help navigate large rule sets without loading the entire table at once.
The row count preference is described as per-user PHP session storage, which suggests behavior may differ between browsers, sessions and users. The relationship between the chosen row count and server-side data retrieval for large rule sets, and whether any system-wide limits apply, is not clearly documented for pfSense 2.6 versus 2.7+.
Clarification is needed on the scope and persistence of the pagination setting:
34775 reputation · 05 Jun 2021, 20:33 UTC
The rows-per-page preference in the pfSense WebGUI (Firewall > Rules) is stored per user session. It is not a system-wide setting and cannot be enforced globally for all administrators. Because this preference is tied to the PHP session (linked to the session cookie), it will reset once the session expires or if the administrator logs in from a different browser.
Changing the row count does not reduce the amount of data fetched server-side. The WebGUI parses the full ruleset from config.xml and renders the table regardless of the pagination setting. Pagination is applied as a display filter; therefore, the server still incurs the full processing cost to generate the page, and the browser still receives the data for the entire ruleset.
There are no documented functional changes to the pagination mechanism between pfSense 2.6 and 2.7+. While 2.7 introduced PHP 8.x, the session-based persistence and client-side rendering logic remain consistent. There is no hard-coded upper limit for rows-per-page, though practical limits are dictated by browser rendering performance and PHP memory limits during page generation.
To verify these behaviors on your specific installation, use the following methods:
Diagnostics > Backup > Config Backup. Search the XML for pagination keywords; you will find no entries, confirming the setting is not persistent across reboots or backups.Diagnostic Detail Required: Are you experiencing specific page timeouts or "Out of Memory" errors when increasing the row count? This would indicate you are hitting PHP memory_limit boundaries rather than a pagination restriction.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.