From 9c625ae96f2d204f7417d6c9b7092b9e4ac653a8 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 26 Sep 2022 14:42:54 +0200 Subject: [PATCH] map: fix deleting port based rules ensure that they are properly replaced with default values Signed-off-by: Felix Fietkau --- map.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/map.c b/map.c index f88848e..4b38155 100644 --- a/map.c +++ b/map.c @@ -196,11 +196,14 @@ void qosify_map_set_dscp_default(enum qosify_map_id id, uint8_t val) else return; - if (!memcmp(&qosify_dscp_default[udp], &val, sizeof(val))) - return; + if (val != 0xff) { + if (qosify_dscp_default[udp] == val) + return; - qosify_dscp_default[udp] = val; - __qosify_map_set_dscp_default(id, val); + qosify_dscp_default[udp] = val; + } + + __qosify_map_set_dscp_default(id, qosify_dscp_default[udp]); } int qosify_map_init(void) @@ -648,6 +651,9 @@ void qosify_map_reload(void) __qosify_map_load_file(f->filename); qosify_map_gc(); + + qosify_map_set_dscp_default(CL_MAP_TCP_PORTS, 0xff); + qosify_map_set_dscp_default(CL_MAP_UDP_PORTS, 0xff); } static void qosify_map_free_entry(struct qosify_map_entry *e) -- 2.30.2