diff --git a/Dockerfile b/Dockerfile
index e8ba293a03dd46bd1e684f7f6388e2f651790c75..2cafdca6d0485a881550df49a277e171485817db 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -56,7 +56,7 @@ RUN ${OPENWRT_HOME}/scripts/feeds update -a
 RUN ${OPENWRT_HOME}/scripts/feeds install -a
 
 # Configure OpenWrt toolchain
-COPY openwrt/${ROUTER}/config/config-minimal ${OPENWRT_HOME}/.config
+COPY openwrt/${ROUTER}/config-minimal ${OPENWRT_HOME}/.config
 RUN make defconfig
 RUN make download
 RUN make -j $(($(nproc)+1))
@@ -69,4 +69,4 @@ ENV PATH=${TOOLCHAIN_PATH}/bin:$PATH
 
 # At runtime, run cross-compilation for OpenWrt
 WORKDIR ${HOME}/iot-firewall
-CMD ${HOME}/iot-firewall/build.sh -t ${HOME}/iot-firewall/openwrt/${ROUTER}.cmake
+CMD ${HOME}/iot-firewall/build.sh -t ${HOME}/iot-firewall/openwrt/${ROUTER}/${ROUTER}.cmake
diff --git a/docker-compose.yaml b/docker-compose.yaml
index dec93bfce8e08587a21de51c0378bd81177b4992..6abc6ea7c8cb1c063d7b3af692d09accdb261607 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -8,5 +8,5 @@ services:
       #- ROUTER=linksys-wrt1200ac
     volumes:
       - .:/home/user/iot-firewall
-    command: ["/home/user/iot-firewall/build.sh", "-t", "/home/user/iot-firewall/openwrt/tl-wdr4900.cmake"]
-    #command: ["/home/user/iot-firewall/build.sh", "-t", "/home/user/iot-firewall/openwrt/linksys-wrt1200ac.cmake"]
+    command: ["/home/user/iot-firewall/build.sh", "-t", "/home/user/iot-firewall/openwrt/tl-wdr4900/tl-wdr4900.cmake"]
+    #command: ["/home/user/iot-firewall/build.sh", "-t", "/home/user/iot-firewall/openwrt/linksys-wrt1200ac/linksys-wrt1200ac.cmake"]
diff --git a/openwrt/linksys-wrt1200ac/config-minimal b/openwrt/linksys-wrt1200ac/config-minimal
new file mode 100644
index 0000000000000000000000000000000000000000..312ffe19942b30ace95f1365ff2de3ea00bd6ba6
--- /dev/null
+++ b/openwrt/linksys-wrt1200ac/config-minimal
@@ -0,0 +1,47 @@
+CONFIG_TARGET_mvebu=y
+CONFIG_TARGET_mvebu_cortexa9=y
+CONFIG_TARGET_mvebu_cortexa9_DEVICE_linksys_wrt1200ac=y
+CONFIG_PACKAGE_arptables-nft=y
+CONFIG_PACKAGE_ebtables-nft=y
+CONFIG_PACKAGE_ip6tables-nft=y
+CONFIG_PACKAGE_iptables-mod-iface=y
+CONFIG_PACKAGE_iptables-mod-nflog=y
+CONFIG_PACKAGE_iptables-mod-nfqueue=y
+CONFIG_PACKAGE_iptables-nft=y
+CONFIG_PACKAGE_kmod-arptables=y
+CONFIG_PACKAGE_kmod-br-netfilter=y
+CONFIG_PACKAGE_kmod-ebtables=y
+CONFIG_PACKAGE_kmod-ebtables-ipv4=y
+CONFIG_PACKAGE_kmod-ebtables-ipv6=y
+CONFIG_PACKAGE_kmod-ip6tables=y
+CONFIG_PACKAGE_kmod-ipt-conntrack=y
+CONFIG_PACKAGE_kmod-ipt-core=y
+CONFIG_PACKAGE_kmod-ipt-iface=y
+CONFIG_PACKAGE_kmod-ipt-nflog=y
+CONFIG_PACKAGE_kmod-ipt-nfqueue=y
+CONFIG_PACKAGE_kmod-nf-ipt=y
+CONFIG_PACKAGE_kmod-nf-ipt6=y
+CONFIG_PACKAGE_kmod-nfnetlink-log=y
+CONFIG_PACKAGE_kmod-nfnetlink-queue=y
+CONFIG_PACKAGE_kmod-nft-arp=y
+CONFIG_PACKAGE_kmod-nft-bridge=y
+CONFIG_PACKAGE_kmod-nft-compat=y
+CONFIG_PACKAGE_kmod-nft-connlimit=y
+CONFIG_PACKAGE_kmod-nft-dup-inet=y
+CONFIG_PACKAGE_kmod-nft-netdev=y
+CONFIG_PACKAGE_kmod-nft-queue=y
+CONFIG_PACKAGE_libiptext=y
+CONFIG_PACKAGE_libiptext-nft=y
+CONFIG_PACKAGE_libiptext6=y
+CONFIG_PACKAGE_libnetfilter-log=y
+CONFIG_PACKAGE_libnetfilter-queue=y
+CONFIG_PACKAGE_libnfnetlink=y
+CONFIG_PACKAGE_libxtables=y
+CONFIG_PACKAGE_xtables-nft=y
+CONFIG_NF_DUP_NETDEV=y
+CONFIG_NFT_DUP_NETDEV=y
+CONFIG_NF_DUP_IPV4=y
+CONFIG_NFT_DUP_IPV4=y
+CONFIG_NF_DUP_IPV6=y
+CONFIG_NFT_DUP_IPV6=y
+
diff --git a/openwrt/linksys-wrt1200ac.cmake b/openwrt/linksys-wrt1200ac/linksys-wrt1200ac.cmake
similarity index 100%
rename from openwrt/linksys-wrt1200ac.cmake
rename to openwrt/linksys-wrt1200ac/linksys-wrt1200ac.cmake
diff --git a/openwrt/tl-wdr4900/config-minimal b/openwrt/tl-wdr4900/config-minimal
new file mode 100644
index 0000000000000000000000000000000000000000..37af99d15c054cd44fe2ab673bec51db201c5340
--- /dev/null
+++ b/openwrt/tl-wdr4900/config-minimal
@@ -0,0 +1,46 @@
+CONFIG_TARGET_mpc85xx=y
+CONFIG_TARGET_mpc85xx_p1010=y
+CONFIG_TARGET_mpc85xx_p1010_DEVICE_tplink_tl-wdr4900-v1=y
+CONFIG_PACKAGE_arptables-nft=y
+CONFIG_PACKAGE_ebtables-nft=y
+CONFIG_PACKAGE_ip6tables-nft=y
+CONFIG_PACKAGE_iptables-mod-iface=y
+CONFIG_PACKAGE_iptables-mod-nflog=y
+CONFIG_PACKAGE_iptables-mod-nfqueue=y
+CONFIG_PACKAGE_iptables-nft=y
+CONFIG_PACKAGE_kmod-arptables=y
+CONFIG_PACKAGE_kmod-br-netfilter=y
+CONFIG_PACKAGE_kmod-ebtables=y
+CONFIG_PACKAGE_kmod-ebtables-ipv4=y
+CONFIG_PACKAGE_kmod-ebtables-ipv6=y
+CONFIG_PACKAGE_kmod-ip6tables=y
+CONFIG_PACKAGE_kmod-ipt-conntrack=y
+CONFIG_PACKAGE_kmod-ipt-core=y
+CONFIG_PACKAGE_kmod-ipt-iface=y
+CONFIG_PACKAGE_kmod-ipt-nflog=y
+CONFIG_PACKAGE_kmod-ipt-nfqueue=y
+CONFIG_PACKAGE_kmod-nf-ipt=y
+CONFIG_PACKAGE_kmod-nf-ipt6=y
+CONFIG_PACKAGE_kmod-nfnetlink-log=y
+CONFIG_PACKAGE_kmod-nfnetlink-queue=y
+CONFIG_PACKAGE_kmod-nft-arp=y
+CONFIG_PACKAGE_kmod-nft-bridge=y
+CONFIG_PACKAGE_kmod-nft-compat=y
+CONFIG_PACKAGE_kmod-nft-connlimit=y
+CONFIG_PACKAGE_kmod-nft-dup-inet=y
+CONFIG_PACKAGE_kmod-nft-netdev=y
+CONFIG_PACKAGE_kmod-nft-queue=y
+CONFIG_PACKAGE_libiptext=y
+CONFIG_PACKAGE_libiptext-nft=y
+CONFIG_PACKAGE_libiptext6=y
+CONFIG_PACKAGE_libnetfilter-log=y
+CONFIG_PACKAGE_libnetfilter-queue=y
+CONFIG_PACKAGE_libnfnetlink=y
+CONFIG_PACKAGE_libxtables=y
+CONFIG_PACKAGE_xtables-nft=y
+CONFIG_NF_DUP_NETDEV=y
+CONFIG_NFT_DUP_NETDEV=y
+CONFIG_NF_DUP_IPV4=y
+CONFIG_NFT_DUP_IPV4=y
+CONFIG_NF_DUP_IPV6=y
+CONFIG_NFT_DUP_IPV6=y
diff --git a/openwrt/tl-wdr4900.cmake b/openwrt/tl-wdr4900/tl-wdr4900.cmake
similarity index 100%
rename from openwrt/tl-wdr4900.cmake
rename to openwrt/tl-wdr4900/tl-wdr4900.cmake