summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Yang2026-01-19 17:51:02 +0000
committerHauke Mehrtens2026-01-25 22:55:05 +0000
commit1a810b5fa4d19fdf91f613b06d08354ea2e394fb (patch)
treed0ca66ee127b2e1797dc557bdc784eeb3b6098e3
parent3d167c6b812223e0d7a9931348dcb349bd6c523a (diff)
downloadopenwrt-1a810b5fa4d19fdf91f613b06d08354ea2e394fb.tar.gz
iproute2: add dcb utility
KERNEL_DCB was introduced in 40f1db9cb11d, however the dcb utility is not enabled for iproute2. Although DCB is not generally available among Ethernet cards, not having the dcb utility renders it completely unchangeable. On aarch64, it takes ~85.3KiB. Signed-off-by: David Yang <mmyangfl@gmail.com> Link: https://github.com/openwrt/openwrt/pull/21606 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit f0f5525b75c662fafee055d227c60f5ce824d0c4)
-rw-r--r--package/network/utils/iproute2/Makefile36
-rw-r--r--package/network/utils/iproute2/patches/130-no_netem_tipc_man_vdpa.patch (renamed from package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch)2
2 files changed, 27 insertions, 11 deletions
diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile
index bdb4c1685d..1c58d98642 100644
--- a/package/network/utils/iproute2/Makefile
+++ b/package/network/utils/iproute2/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=iproute2
PKG_VERSION:=6.18.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2
@@ -40,7 +40,7 @@ $(call Package/iproute2/Default)
DEFAULT_VARIANT:=1
PROVIDES:=ip
ALTERNATIVES:=200:/sbin/ip:/usr/libexec/ip-tiny
- DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl
+ DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma||PACKAGE_dcb):libmnl
endef
define Package/ip-full
@@ -49,7 +49,7 @@ $(call Package/iproute2/Default)
VARIANT:=ipfull
PROVIDES:=ip
ALTERNATIVES:=300:/sbin/ip:/usr/libexec/ip-full
- DEPENDS:=+libnl-tiny +libbpf +(PACKAGE_devlink||PACKAGE_rdma):libmnl
+ DEPENDS:=+libnl-tiny +libbpf +(PACKAGE_devlink||PACKAGE_rdma||PACKAGE_dcb):libmnl
endef
define Package/tc-tiny
@@ -59,7 +59,7 @@ $(call Package/iproute2/Default)
DEFAULT_VARIANT:=1
PROVIDES:=tc
ALTERNATIVES:=200:/sbin/tc:/usr/libexec/tc-tiny
- DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl
+ DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma||PACKAGE_dcb):libmnl
endef
define Package/tc-bpf
@@ -68,7 +68,7 @@ $(call Package/iproute2/Default)
VARIANT:=tcbpf
PROVIDES:=tc
ALTERNATIVES:=300:/sbin/tc:/usr/libexec/tc-bpf
- DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf
+ DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma||PACKAGE_dcb):libmnl +libbpf
endef
define Package/tc-full
@@ -77,31 +77,31 @@ $(call Package/iproute2/Default)
VARIANT:=tcfull
PROVIDES:=tc
ALTERNATIVES:=400:/sbin/tc:/usr/libexec/tc-full
- DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf +libxtables
+ DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma||PACKAGE_dcb):libmnl +libbpf +libxtables
endef
define Package/genl
$(call Package/iproute2/Default)
TITLE:=General netlink utility frontend
- DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl
+ DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma||PACKAGE_dcb):libmnl
endef
define Package/ip-bridge
$(call Package/iproute2/Default)
TITLE:=Bridge configuration utility from iproute2
- DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl
+ DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma||PACKAGE_dcb):libmnl
endef
define Package/ss
$(call Package/iproute2/Default)
TITLE:=Socket statistics utility
- DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf +kmod-netlink-diag
+ DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma||PACKAGE_dcb):libmnl +libbpf +kmod-netlink-diag
endef
define Package/nstat
$(call Package/iproute2/Default)
TITLE:=Network statistics utility
- DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl
+ DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma||PACKAGE_dcb):libmnl
endef
define Package/devlink
@@ -116,6 +116,12 @@ $(call Package/iproute2/Default)
DEPENDS:=+libmnl
endef
+define Package/dcb
+$(call Package/iproute2/Default)
+ TITLE:=Network DCB (Data Center Bridging) utility
+ DEPENDS:=+libmnl
+endef
+
ifeq ($(BUILD_VARIANT),iptiny)
IP_CONFIG_TINY:=y
LIBBPF_FORCE:=off
@@ -161,6 +167,10 @@ ifdef CONFIG_PACKAGE_rdma
HAVE_MNL:=y
endif
+ifdef CONFIG_PACKAGE_dcb
+ HAVE_MNL:=y
+endif
+
TARGET_LDFLAGS += -Wl,--as-needed
TARGET_CPPFLAGS += -I$(STAGING_DIR)/usr/include/libnl-tiny
@@ -255,6 +265,11 @@ define Package/rdma/install
$(INSTALL_BIN) $(PKG_BUILD_DIR)/rdma/rdma $(1)/usr/sbin/
endef
+define Package/dcb/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/dcb/dcb $(1)/usr/sbin/
+endef
+
$(eval $(call BuildPackage,ip-tiny))
$(eval $(call BuildPackage,ip-full))
$(eval $(call BuildPackage,tc-tiny))
@@ -266,3 +281,4 @@ $(eval $(call BuildPackage,ss))
$(eval $(call BuildPackage,nstat))
$(eval $(call BuildPackage,devlink))
$(eval $(call BuildPackage,rdma))
+$(eval $(call BuildPackage,dcb))
diff --git a/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch b/package/network/utils/iproute2/patches/130-no_netem_tipc_man_vdpa.patch
index 25a985d8d8..16cc1380e2 100644
--- a/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch
+++ b/package/network/utils/iproute2/patches/130-no_netem_tipc_man_vdpa.patch
@@ -8,7 +8,7 @@
+SUBDIRS=lib ip tc bridge misc genl
ifeq ($(HAVE_MNL),y)
-SUBDIRS += tipc devlink rdma dcb vdpa netshaper
-+SUBDIRS += devlink rdma
++SUBDIRS += devlink rdma dcb
endif
LIBNETLINK=../lib/libutil.a ../lib/libnetlink.a