mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-09-05 01:25:15 +03:00
Fix delay latency minimum: ubridge rejects latency <= 0
Align validation rules with ubridge source: delay latency must be > 0 (packet_filter.c delay_setup line 182). Update FILTERS definition in link.py and test cases accordingly.
This commit is contained in:
parent
458eff6020
commit
0aa0467b02
@ -48,7 +48,7 @@ FILTERS = [
|
||||
"name": "Delay",
|
||||
"description": "Delay packets in milliseconds. You can add jitter in milliseconds (+/-) of the delay",
|
||||
"parameters": [
|
||||
{"name": "Latency", "minimum": 0, "maximum": 32767, "unit": "ms", "type": "int"},
|
||||
{"name": "Latency", "minimum": 1, "maximum": 32767, "unit": "ms", "type": "int"},
|
||||
{"name": "Jitter (-/+)", "minimum": 0, "maximum": 32767, "unit": "ms", "type": "int"},
|
||||
],
|
||||
},
|
||||
|
||||
@ -95,7 +95,7 @@ def validate_filter_parameters(filter_type: str, values: List[Any]) -> None:
|
||||
},
|
||||
"delay": {
|
||||
"params_count": 2, # latency, jitter
|
||||
"ranges": [(0, 32767), (0, 32767)],
|
||||
"ranges": [(1, 32767), (0, 32767)], # ubridge rejects latency <= 0
|
||||
"names": ["Latency", "Jitter"],
|
||||
"units": ["ms", "ms"]
|
||||
},
|
||||
|
||||
@ -54,19 +54,23 @@ class TestPacketFilterValidation:
|
||||
|
||||
def test_delay_valid(self):
|
||||
"""Test valid delay parameters."""
|
||||
# Valid range: 0-32767ms
|
||||
validate_filter_parameters("delay", [0, 0])
|
||||
# Valid range: 1-32767ms latency, 0-32767ms jitter
|
||||
validate_filter_parameters("delay", [1, 0])
|
||||
validate_filter_parameters("delay", [100, 50])
|
||||
validate_filter_parameters("delay", [32767, 32767])
|
||||
|
||||
def test_delay_invalid(self):
|
||||
"""Test invalid delay parameters."""
|
||||
# Zero latency (ubridge rejects latency <= 0)
|
||||
with pytest.raises(FilterValidationError, match="between 1 and 32767"):
|
||||
validate_filter_parameters("delay", [0, 0])
|
||||
|
||||
# Negative latency
|
||||
with pytest.raises(FilterValidationError, match="between 0 and 32767"):
|
||||
with pytest.raises(FilterValidationError, match="between 1 and 32767"):
|
||||
validate_filter_parameters("delay", [-1, 0])
|
||||
|
||||
# Over max
|
||||
with pytest.raises(FilterValidationError, match="between 0 and 32767"):
|
||||
with pytest.raises(FilterValidationError, match="between 1 and 32767"):
|
||||
validate_filter_parameters("delay", [32768, 0])
|
||||
|
||||
# Negative jitter
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user