diff --git a/custom_components/mikrotik_router/mikrotik_controller.py b/custom_components/mikrotik_router/mikrotik_controller.py index 0045180..646d27e 100644 --- a/custom_components/mikrotik_router/mikrotik_controller.py +++ b/custom_components/mikrotik_router/mikrotik_controller.py @@ -772,7 +772,9 @@ class MikrotikControllerData: {"name": "new-packet-mark"}, {"name": "src-address-list"}, {"name": "protocol", "default": "any"}, + {"name": "src-address", "default": "any"}, {"name": "src-port", "default": "any"}, + {"name": "dst-address", "default": "any"}, {"name": "dst-port", "default": "any"}, { "name": "enabled", @@ -785,7 +787,17 @@ class MikrotikControllerData: [ {"name": "name"}, {"action": "combine"}, + {"key": "chain"}, + {"text": ","}, + {"key": "action"}, + {"text": ","}, {"key": "protocol"}, + {"text": ","}, + {"key": "src-address"}, + {"text": ":"}, + {"key": "src-port"}, + {"text": "-"}, + {"key": "dst-address"}, {"text": ":"}, {"key": "dst-port"}, ] @@ -794,7 +806,7 @@ class MikrotikControllerData: {"name": "dynamic", "value": True}, {"name": "action", "value": "jump"}, {"name": "protocol", "value": ""}, - {"name": "dst-port", "value": ""}, + # {"name": "dst-port", "value": ""}, ], ) diff --git a/custom_components/mikrotik_router/switch.py b/custom_components/mikrotik_router/switch.py index e29e265..8b8107c 100644 --- a/custom_components/mikrotik_router/switch.py +++ b/custom_components/mikrotik_router/switch.py @@ -445,7 +445,7 @@ class MikrotikControllerMangleSwitch(MikrotikControllerSwitch): for uid in self._ctrl.data["mangle"]: if ( self._ctrl.data["mangle"][uid]["name"] - == f"{self._data['protocol']}:{self._data['dst-port']}" + == f"{self._data['chain']},{self._data['action']},{self._data['protocol']},{self._data['src-address']}:{self._data['src-port']}:{self._data['dst-address']}:{self._data['dst-port']}" ): value = self._ctrl.data["mangle"][uid][".id"] @@ -462,7 +462,7 @@ class MikrotikControllerMangleSwitch(MikrotikControllerSwitch): for uid in self._ctrl.data["mangle"]: if ( self._ctrl.data["mangle"][uid]["name"] - == f"{self._data['protocol']}:{self._data['dst-port']}" + == f"{self._data['chain']},{self._data['action']},{self._data['protocol']},{self._data['src-address']}:{self._data['src-port']}:{self._data['dst-address']}:{self._data['dst-port']}" ): value = self._ctrl.data["mangle"][uid][".id"]