interface: extend dns filters to cover vlan tagged traffic as well
authorFelix Fietkau <nbd@nbd.name>
Mon, 7 Mar 2022 13:43:07 +0000 (14:43 +0100)
committerFelix Fietkau <nbd@nbd.name>
Mon, 7 Mar 2022 13:43:07 +0000 (14:43 +0100)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
interface.c

index 7d9cecd76d11e205c60749a0063e07071ffc37cb..cbe7dc03ee6ef601bf86ddf712fcd89e3ab15188 100644 (file)
@@ -281,7 +281,22 @@ cmd_add_ingress(struct qosify_iface *iface, bool eth)
        qosify_run_cmd(buf, false);
 
        ofs = prepare_tc_cmd(buf, sizeof(buf), "filter", "add", iface->ifname, " parent ffff:");
-       APPEND(buf, ofs, " protocol ipv6 prio 6 u32 match ip6 sport 53 0xffff "
+       APPEND(buf, ofs, " protocol ip prio 5 u32 match ip sport 53 0xffff "
+                        "flowid 1:1 action mirred egress redirect dev ifb-dns");
+       qosify_run_cmd(buf, false);
+
+       ofs = prepare_tc_cmd(buf, sizeof(buf), "filter", "add", iface->ifname, " parent ffff:");
+       APPEND(buf, ofs, " protocol 802.1Q prio 6 u32 offset plus 4 match ip sport 53 0xffff "
+                        "flowid 1:1 action mirred egress redirect dev ifb-dns");
+       qosify_run_cmd(buf, false);
+
+       ofs = prepare_tc_cmd(buf, sizeof(buf), "filter", "add", iface->ifname, " parent ffff:");
+       APPEND(buf, ofs, " protocol ipv6 prio 7 u32 match ip6 sport 53 0xffff "
+                        "flowid 1:1 action mirred egress redirect dev ifb-dns");
+       qosify_run_cmd(buf, false);
+
+       ofs = prepare_tc_cmd(buf, sizeof(buf), "filter", "add", iface->ifname, " parent ffff:");
+       APPEND(buf, ofs, " protocol ipv6 prio 8 u32 offset plus 4 match ip6 sport 53 0xffff "
                         "flowid 1:1 action mirred egress redirect dev ifb-dns");
        qosify_run_cmd(buf, false);