OPNSense/src d7eefbesys/dev/igc if_igc.c

igc: stability improvements

Always disable PCIe ASPM for i226 type cards to improve stability and wire sysctl calls to iflib_request_reset instead of igc_if_init as this will stall the drivers RX path.
DeltaFile
+32-4sys/dev/igc/if_igc.c
+32-41 files

OPNSense/src ea5c302sys/dev/pci pcireg.h

pci: Add L1 PM definitions

Add register/bit definitions for the L1 PM substates capability
(PCIZ_L1PM) to pcireg.h.

Signed-off-by: Michael Adler <madler at tapil.com>
DeltaFile
+14-0sys/dev/pci/pcireg.h
+14-01 files

OPNSense/src 3105bb0sys/dev/pci pcireg.h

pci: Add L1 PM definitions

Add register/bit definitions for the L1 PM substates capability
(PCIZ_L1PM) to pcireg.h.

Signed-off-by: Michael Adler <madler at tapil.com>
DeltaFile
+14-0sys/dev/pci/pcireg.h
+14-01 files

OPNSense/src 3fdac90sys/dev/igc if_igc.c

igc: stability improvements

Always disable PCIe ASPM for i226 type cards to improve stability and wire sysctl calls to iflib_request_reset instead of igc_if_init as this will stall the drivers RX path.
DeltaFile
+31-4sys/dev/igc/if_igc.c
+31-41 files

OPNSense/core d784d75src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet6.xml dialogSubnet4.xml

Add fields to dialog
DeltaFile
+10-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet6.xml
+10-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+20-02 files

OPNSense/core 09e3ac4. plist, src/opnsense/mvc/app/models/OPNsense/Kea/Migrations M1_0_6.php

Most likely dont need this kind of migration approach
DeltaFile
+0-38src/opnsense/scripts/kea/kea_get_config.py
+0-25src/opnsense/mvc/app/models/OPNsense/Kea/Migrations/M1_0_6.php
+0-2plist
+0-653 files

OPNSense/core 64a5bbcsrc/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.php KeaDhcpv4.php, src/opnsense/mvc/app/models/OPNsense/Kea/Migrations M1_0_6.php

Services: Kea DHCPv4/6: Store subnet IDs inside the model so they cannot shift during config generation (WIP)
DeltaFile
+38-0src/opnsense/scripts/kea/kea_get_config.py
+25-0src/opnsense/mvc/app/models/OPNsense/Kea/Migrations/M1_0_6.php
+12-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+12-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+1-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+1-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+89-61 files not shown
+91-67 files

OPNSense/core 8821d45src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api NetflowController.php

diagnostics/netflow: stop service before reloading configuration (#10658)
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/NetflowController.php
+1-11 files

OPNSense/core ef82e60src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api NetflowController.php

diagnostics/netflow: stop service before reloading configuration
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/NetflowController.php
+1-11 files

OPNSense/core a70c67fsrc/opnsense/mvc/app/views/layout_partials base_bootgrid_table.volt, src/opnsense/www/css opnsense-bootgrid-layout.css

ui: tabulator: Add _showMaximized() modal that can show a grid close to full screen
DeltaFile
+58-0src/opnsense/www/js/opnsense_bootgrid.js
+24-0src/opnsense/www/css/opnsense-bootgrid-layout.css
+16-0src/opnsense/mvc/app/views/layout_partials/base_bootgrid_table.volt
+98-03 files

OPNSense/core 237aa2bsrc/opnsense/mvc/app/views/layout_partials base_bootgrid_table.volt, src/opnsense/www/css opnsense-bootgrid-layout.css

ui: tabulator: Add _showMaximized() modal that can show a grid close to full screen
DeltaFile
+46-0src/opnsense/www/js/opnsense_bootgrid.js
+24-0src/opnsense/www/css/opnsense-bootgrid-layout.css
+9-0src/opnsense/mvc/app/views/layout_partials/base_bootgrid_table.volt
+79-03 files

OPNSense/src 9114371sys/dev/igc igc_base.h igc_base.c

igc: Disable PCIe L1.2 on I225

I225 devices can incorrectly enter L1 substates while CLKREQ# is
asserted, both while idle and in D3.  Disable ASPM and PCI-PM L1.2 on
I225 to prevent the resulting packet loss.

Keep the I226 workaround ASPM-only because it addresses a separate
traffic exit latency observation.

PR:             265714
MFC after:      4 days
DeltaFile
+22-20sys/dev/igc/if_igc.c
+29-0sys/dev/igc/igc_base.c
+1-0sys/dev/igc/igc_base.h
+52-203 files

OPNSense/src 2c8ad90sys/dev/igc igc_base.c

igc: Apply ASPM L1.2 workaround to all I226 devices

Classify I226_LMVP and I226_BLANK_NVM as I226 silicon so they
receive the I226-specific ASPM L1.2 workaround.

PR:             279245
MFC after:      1 week
Pull-Request:   https://github.com/freebsd/freebsd-src/pull/2318
DeltaFile
+5-0sys/dev/igc/igc_base.c
+5-01 files

OPNSense/src eb2faa3sys/dev/igc igc_base.h igc_base.c

igc: Disable ASPM L1.2 on I226 to prevent RX stalls

I226 parts advertise support for the PCIe L1.2 link substate, but a
hardware erratum makes the exit latency from that low-power state
longer than the packet buffer can absorb under load. This stalls the
inbound packet stream. Disabling ASPM system-wide (BIOS or OS ASPM
policy) does not fix it. The L1.2 enable bit must be cleared directly
in the device's own PCIe L1 PM extended capability.

Add igc_is_device_id_i226() to identify affected parts and
igc_disable_broken_aspm_l1_2() to clear the ASPM L1.2 enable bit
on attach and after resume, since PCIe config space can be
reset across a suspend/resume cycle.

Adapted from the Linux igc driver:

  0325143b59c6 igc: disable L1.2 PCI-E link substate to avoid
               performance issue
  1468c1f97cf3 igc: fix disabling L1.2 PCI-E link substate on I226

    [8 lines not shown]
DeltaFile
+44-0sys/dev/igc/if_igc.c
+21-0sys/dev/igc/igc_base.c
+1-0sys/dev/igc/igc_base.h
+66-03 files

OPNSense/core 1cac21fsrc/opnsense/www/themes/opnsense-dark/assets/stylesheets main.scss, src/opnsense/www/themes/opnsense-dark/build/css main.css

ui: opnsense-dark theme - fix collapsed sidebar stray line and restore rail divider (#10560)

Closes: #8263
DeltaFile
+3-0src/opnsense/www/themes/opnsense-dark/build/css/main.css
+3-0src/opnsense/www/themes/opnsense-dark/assets/stylesheets/main.scss
+6-02 files

OPNSense/core 5e1bbffsrc/opnsense/mvc/app/views/layout_partials base_bootgrid_table.volt, src/opnsense/www/css opnsense-bootgrid-layout.css

ui: tabulator: Add _showMaximized() modal that can show a grid close to full screen
DeltaFile
+46-0src/opnsense/www/js/opnsense_bootgrid.js
+24-0src/opnsense/www/css/opnsense-bootgrid-layout.css
+9-0src/opnsense/mvc/app/views/layout_partials/base_bootgrid_table.volt
+79-03 files

OPNSense/core 8992c98src/opnsense/www/js opnsense_favorites.js

menu: add Favorites section - fix some const's in javascript
DeltaFile
+2-2src/opnsense/www/js/opnsense_favorites.js
+2-21 files

OPNSense/core 2554bd6src/opnsense/www/js opnsense_bootgrid.js

ui: tabulator: Do not freeze commands column on touchscreen devices, as their viewports are most likely very constrained (#10651)
DeltaFile
+2-1src/opnsense/www/js/opnsense_bootgrid.js
+2-11 files

OPNSense/src 5d70761sys/dev/wg wg_crypto.c

wg(4): Check for crypto operation errors

In particular, handle authentication errors due to bad MACs when
decrypting packets.

Since the current dispatch code assumes synchronous OCF sessions by
design, explicitly reject any created OCF session that is not
synchronous.  Software sessions are always synchronous in practice, so
this should be a nop.

Approved by:    so
Security:       FreeBSD-SA-26:52.if_wg
Security:       CVE-2026-58085
Reviewed by:    markj
Sponsored by:   Chelsio Communications
DeltaFile
+10-1sys/dev/wg/wg_crypto.c
+10-11 files

OPNSense/src 73299f6sys/opencrypto crypto.c

OCF: Add a fail point to inject EBADMSG decryption errors

Approved by:    so
Security:       FreeBSD-SA-26:52.if_wg
Security:       CVE-2026-58085
Reviewed by:    markj
Sponsored by:   Chelsio Communications
DeltaFile
+15-0sys/opencrypto/crypto.c
+15-01 files

OPNSense/core d86918csrc/opnsense/www/js opnsense_bootgrid.js

ui: tabulator: Do not freeze commands column on touchscreen devices, as their viewports are most likely very constrained
DeltaFile
+2-1src/opnsense/www/js/opnsense_bootgrid.js
+2-11 files

OPNSense/core 9f07184src/opnsense/www/js opnsense_favorites.js

menu: add Favorites section - fix const $before --> let $before
DeltaFile
+1-1src/opnsense/www/js/opnsense_favorites.js
+1-11 files

OPNSense/core adc74b5src/opnsense/mvc/app/controllers/OPNsense/Base ControllerBase.php, src/opnsense/mvc/app/controllers/OPNsense/Core/Api MenuController.php

menu: add Favorites section - minor cleanups for https://github.com/opnsense/core/pull/10033
DeltaFile
+0-115src/opnsense/mvc/app/models/OPNsense/Core/Favorites.php
+25-25src/opnsense/www/js/opnsense_favorites.js
+15-13src/opnsense/mvc/app/controllers/OPNsense/Core/Api/MenuController.php
+12-6src/opnsense/mvc/app/models/OPNsense/Core/Menu/Menu.php
+4-2src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php
+3-2src/www/head.inc
+59-1633 files not shown
+60-1669 files

OPNSense/core b56c673src/opnsense/mvc/app/views/layout_partials base_tabs_header.volt

MVC: UI: base_tabs_header fix tab activation (#10606)
DeltaFile
+2-2src/opnsense/mvc/app/views/layout_partials/base_tabs_header.volt
+2-21 files

OPNSense/core d0d5950src/etc/inc/plugins.inc.d core.inc, src/www system_general.php

system: switch timezone and hostname restarts #9352
DeltaFile
+20-0src/etc/inc/plugins.inc.d/core.inc
+2-2src/www/system_general.php
+22-22 files

OPNSense/core 6a7b61esrc/opnsense/service/conf/actions.d actions_ipsec.conf actions_interface.conf

configd: further restrict configd actions to root and wwwonly for more sensitive actions (stopping services, reading certain data, ..) that won't be scheduled anyway and should have no other consumers.

addition to https://github.com/opnsense/core/commit/a313cbd5bdcfc3c9d4a55704fcdb8bbcf7182069

In the long run we might consider swapping the defaults, but since the chance of regressions is rather larger and most callouts aren't that problematic anyway, opt for explicit elevated rights for now.
DeltaFile
+8-0src/opnsense/service/conf/actions.d/actions_unbound.conf
+7-0src/opnsense/service/conf/actions.d/actions_system.conf
+6-0src/opnsense/service/conf/actions.d/actions_filter.conf
+5-0src/opnsense/service/conf/actions.d/actions_zfs.conf
+4-0src/opnsense/service/conf/actions.d/actions_ipsec.conf
+4-0src/opnsense/service/conf/actions.d/actions_interface.conf
+34-014 files not shown
+54-020 files

OPNSense/core ba7e124src/etc/inc plugins.inc, src/etc/inc/plugins.inc.d core.inc

system: change approach due to MVC entanglement

Frist approach did not work.  Make it a bit more obvious.
DeltaFile
+7-2src/sbin/pluginctl
+7-2src/etc/inc/xmlrpc/service.inc
+2-5src/etc/inc/plugins.inc
+2-2src/etc/inc/plugins.inc.d/core.inc
+18-114 files

OPNSense/core db507ccsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php, src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes FilterRuleField.php SourceNatRuleField.php

Firewall: Rules and NAT: Group invalid rules to the end of the ruleset. These rules are skipped by PF processing because they do not have a valid interface. (#10550)


---------

Co-authored-by: Stephan de Wit <stephan.de.wit at deciso.com>
DeltaFile
+72-84src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+52-55src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+30-2src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/SourceNatRuleField.php
+21-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+13-0src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/FilterRuleField.php
+188-1435 files

OPNSense/core 516617esrc/www diag_backup.php

system: move backup restore to /var/lib/php/tmp #9352
DeltaFile
+1-1src/www/diag_backup.php
+1-11 files

OPNSense/core f707063src/opnsense/service/conf/actions.d actions_dns.conf, src/www system_general.php system_advanced_admin.php

system: add dns reconfigure #9352
DeltaFile
+6-0src/opnsense/service/conf/actions.d/actions_dns.conf
+1-1src/www/system_general.php
+1-1src/www/system_advanced_admin.php
+8-23 files