net/ndp-proxy-go: Add ratelimit for pfctl operations (#5096)

This commit is contained in:
Monviech 2025-12-19 13:43:52 +01:00 committed by GitHub
parent d987a7e53e
commit 809f2ae9d8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 20 additions and 3 deletions

View file

@ -1,5 +1,5 @@
PLUGIN_NAME= ndp-proxy-go
PLUGIN_VERSION= 1.2
PLUGIN_VERSION= 1.3
PLUGIN_COMMENT= IPv6 Neighbor Discovery Protocol (NDP) Proxy
PLUGIN_MAINTAINER= cedrik@pischem.com
PLUGIN_DEPENDS= ndp-proxy-go

View file

@ -6,6 +6,10 @@ DOC: https://docs.opnsense.org/manual/ndp-proxy-go.html
Plugin Changelog
================
1.3
* Add ratelimit for pfctl operations
1.2
* Add firewall alias support

View file

@ -50,7 +50,7 @@
</field>
<field>
<id>ndpproxy.general.cache_max</id>
<label>Maximum learned neighbors</label>
<label>Max learned neighbors</label>
<type>text</type>
<hint>4096</hint>
<help>Maximum learned neighbors, increase for large networks.</help>
@ -66,7 +66,14 @@
<label>Max route operations</label>
<type>text</type>
<hint>50</hint>
<help>Max route operations per second, increase for large networks.</help>
<help>Maximum route operations per second. Limits how fast routes are applied; excess operations are queued, not dropped.</help>
</field>
<field>
<id>ndpproxy.general.pf_qps</id>
<label>Max alias operations</label>
<type>text</type>
<hint>50</hint>
<help>Maximum firewall alias operations per second. Limits how fast aliases are populated; excess operations are queued, not dropped.</help>
</field>
<field>
<id>ndpproxy.general.pcap_timeout</id>

View file

@ -33,6 +33,9 @@
<route_qps type="IntegerField">
<MinimumValue>1</MinimumValue>
</route_qps>
<pf_qps type="IntegerField">
<MinimumValue>1</MinimumValue>
</pf_qps>
<pcap_timeout type="IntegerField">
<MinimumValue>1</MinimumValue>
</pcap_timeout>

View file

@ -30,6 +30,9 @@ ndp_proxy_go_cache_file="/var/db/ndpproxy/cache.json"
{% if general.route_qps %}
{% do flags.append('--route-qps ' ~ general.route_qps) %}
{% endif %}
{% if general.pf_qps %}
{% do flags.append('--pf-qps ' ~ general.pf_qps) %}
{% endif %}
{% if general.pcap_timeout %}
{% do flags.append('--pcap-timeout ' ~ general.pcap_timeout ~ 'ms') %}
{% endif %}