diff --git a/.github/filters.yml b/.github/filters.yml
index eaf928a662b44639776d97ae742a90bb6f41e848..6e7badaaf9b73fc5c856790c982c96afeea3e755 100644
--- a/.github/filters.yml
+++ b/.github/filters.yml
@@ -147,6 +147,15 @@
     "targets/generic",
     "targets/targets.mk"
   ],
+  "realtek-rtl838x": [
+    "targets/realtek-rtl838x",
+    "modules",
+    "Makefile",
+    "patches/**",
+    "scripts/**",
+    "targets/generic",
+    "targets/targets.mk"
+  ],
   "rockchip-armv8": [
     "targets/rockchip-armv8",
     "modules",
diff --git a/docs/user/supported_devices.rst b/docs/user/supported_devices.rst
index 67f66b5b9bba7f07e606d263a32b984c2acd979d..bf40bd0de9ecf83965a717cdbb6ea473cec5473a 100644
--- a/docs/user/supported_devices.rst
+++ b/docs/user/supported_devices.rst
@@ -434,6 +434,13 @@ ramips-mt76x8
   - Xiaomi Mi Router 4A (100M International Edition)
   - Xiaomi Mi Router 4C
 
+realtek-rtl838x
+---------------
+
+* D-Link
+
+  - DGS-1210-10P (F1)
+
 rockchip-armv8
 --------------
 
diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/020-interfaces b/package/gluon-core/luasrc/lib/gluon/upgrade/020-interfaces
index cf21e9078065c63b2d6903e71471d106526f01b2..997c115974b1a88fa1997cbb95e9dd05f0f3d0e0 100755
--- a/package/gluon-core/luasrc/lib/gluon/upgrade/020-interfaces
+++ b/package/gluon-core/luasrc/lib/gluon/upgrade/020-interfaces
@@ -67,6 +67,10 @@ elseif platform.match('ramips', 'mt7621', {
 	'netgear,wac104',
 }) then
 	lan_ifname, wan_ifname = 'lan2 lan3 lan4', 'lan1'
+elseif platform.match('realtek', 'rtl838x', {
+	'd-link,dgs-1210-10p',
+}) then
+	lan_ifname, wan_ifname = 'lan2 lan3 lan4 lan5 lan6 lan7 lan8 lan9 lan10', 'lan1'
 end
 
 if wan_ifname and lan_ifname then
diff --git a/targets/realtek-rtl838x b/targets/realtek-rtl838x
new file mode 100644
index 0000000000000000000000000000000000000000..f78c9ed2c2fc290a9d37339bad286a74aacf5ad4
--- /dev/null
+++ b/targets/realtek-rtl838x
@@ -0,0 +1,5 @@
+-- D-Link
+
+device('d-link_dgs-1210-10p', 'd-link_dgs-1210-10p', {
+	factory = '-squashfs-factory_image1',
+})
diff --git a/targets/targets.mk b/targets/targets.mk
index b405adaef72531179f17027407e292158aabbe2a..346377ea3fd9c1949ef6e5f5d1801a2a1c6b1c26 100644
--- a/targets/targets.mk
+++ b/targets/targets.mk
@@ -14,6 +14,7 @@ $(eval $(call GluonTarget,mpc85xx,p1020))
 $(eval $(call GluonTarget,ramips,mt7620))
 $(eval $(call GluonTarget,ramips,mt7621))
 $(eval $(call GluonTarget,ramips,mt76x8))
+$(eval $(call GluonTarget,realtek,rtl838x))
 $(eval $(call GluonTarget,rockchip,armv8))
 $(eval $(call GluonTarget,sunxi,cortexa7))
 $(eval $(call GluonTarget,x86,generic))