Skip to content

feat(dpi): add support for source objects in DPI rules and address group management - #2014

Draft
m-dilorenzi wants to merge 1 commit into
release-8.9.0from
dpi_rules_object_source
Draft

m-dilorenzi wants to merge 1 commit into
release-8.9.0from
dpi_rules_object_source

Conversation

@m-dilorenzi

Copy link
Copy Markdown
Collaborator

DPI rules can now use firewall objects as source, next to typed addresses: object changes are applied to the rules automatically and existing rules keep working unchanged.

  • new list source objects API returns the objects usable as source (host sets, DHCP reservations, DNS records, VPN users with a reserved IP), domain sets excluded
  • add rule and edit rule API's accept source_objects, a list of object ids; missing objects or users without a reserved IP are rejected
  • list rules API returns source_objects with name, type, subtype and an empty flag, true when the object currently resolves to no address
  • each referenced object is written to a netifyd address group (/etc/netifyd/address-groups.d/30-<type>_<id>.conf) and matched by the rule criteria, groups no longer referenced are removed
  • the DPI configuration is reloaded when an object used by a rule changes, including a change of the reserved IP of a VPN user
  • objects used by a DPI rule can't be deleted, and the error reports the rule name
  • known limitation: a group removed from every rule is saved back by netifyd when it restarts; it is not referenced by any rule so it matches nothing, and it is removed again on the next DPI reload

Closes: #1985

@m-dilorenzi
m-dilorenzi requested a review from Tbaile November 12, 2026 14:33
@m-dilorenzi m-dilorenzi self-assigned this Nov 12, 2026
@m-dilorenzi
m-dilorenzi force-pushed the dpi_rules_object_source branch from 2c1f0ae to 536e490 Compare November 12, 2026 14:50

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant