From 77b364d68275be1c4e1a24a2a77ab0040961a82d Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 9 Sep 2025 18:54:25 +0200 Subject: [PATCH 01/12] board/common: set show-legacy wrapper as executable Fix #1150 Signed-off-by: Joachim Wiberg --- board/common/rootfs/usr/bin/show-legacy | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 board/common/rootfs/usr/bin/show-legacy diff --git a/board/common/rootfs/usr/bin/show-legacy b/board/common/rootfs/usr/bin/show-legacy old mode 100644 new mode 100755 From 2761a17abc2fe0911a7c5c7cdba2a2b2901650e4 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 15 Sep 2025 14:54:18 +0200 Subject: [PATCH 02/12] cli: fix 'show ospf' commands regression, introduced in 827dc098e Fixes #1155 Signed-off-by: Joachim Wiberg --- src/klish-plugin-infix/xml/infix.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/klish-plugin-infix/xml/infix.xml b/src/klish-plugin-infix/xml/infix.xml index 1ce5ff1a..8da12d07 100644 --- a/src/klish-plugin-infix/xml/infix.xml +++ b/src/klish-plugin-infix/xml/infix.xml @@ -338,17 +338,17 @@ if [ -z "$KLISH_PARAM_name" ]; then - doas vtysh -c "show-legacy ip ospf" |pager + doas vtysh -c "show ip ospf" |pager elif [ "$KLISH_PARAM_name" == "neighbor" ];then - doas vtysh -c "show-legacy ip ospf neighbor" |pager + doas vtysh -c "show ip ospf neighbor" |pager elif [ "$KLISH_PARAM_name" == "interfaces" ];then - doas vtysh -c "show-legacy ip ospf interface" |pager + doas vtysh -c "show ip ospf interface" |pager elif [ "$KLISH_PARAM_name" == "routes" ];then - doas vtysh -c "show-legacy ip ospf route" |pager + doas vtysh -c "show ip ospf route" |pager elif [ "$KLISH_PARAM_name" == "database" ];then - doas vtysh -c "show-legacy ip ospf database" |pager + doas vtysh -c "show ip ospf database" |pager elif [ "$KLISH_PARAM_name" == "bfd" ];then - doas vtysh -c "show-legacy bfd peers" |pager + doas vtysh -c "show bfd peers" |pager fi From df3f9f2e40e019da7a19e96f360d9f9aadc7ed9b Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 15 Sep 2025 15:59:09 +0200 Subject: [PATCH 03/12] Add mtr and iperf3 Fixes #1144 Signed-off-by: Joachim Wiberg --- configs/aarch64_defconfig | 2 ++ configs/r2s_defconfig | 4 ++++ configs/riscv64_defconfig | 5 +++++ configs/x86_64_defconfig | 2 ++ 4 files changed, 13 insertions(+) diff --git a/configs/aarch64_defconfig b/configs/aarch64_defconfig index c4a23835..384598a3 100644 --- a/configs/aarch64_defconfig +++ b/configs/aarch64_defconfig @@ -75,11 +75,13 @@ BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_FPING=y BR2_PACKAGE_FRR=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_IPERF3=y BR2_PACKAGE_IPROUTE2=y BR2_PACKAGE_IPTABLES_NFTABLES=y BR2_PACKAGE_IPUTILS=y BR2_PACKAGE_LLDPD=y BR2_PACKAGE_MSTPD=y +BR2_PACKAGE_MTR=y BR2_PACKAGE_NETCALC=y BR2_PACKAGE_NETCAT_OPENBSD=y BR2_PACKAGE_NETSNMP=y diff --git a/configs/r2s_defconfig b/configs/r2s_defconfig index 6d427d7a..cd6bbe0e 100644 --- a/configs/r2s_defconfig +++ b/configs/r2s_defconfig @@ -44,6 +44,7 @@ BR2_PACKAGE_STRESS_NG=y BR2_PACKAGE_SYSREPO_GROUP="sys-cli" BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y BR2_PACKAGE_LINUX_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y @@ -65,6 +66,7 @@ BR2_PACKAGE_GPTFDISK_SGDISK=y BR2_PACKAGE_INPUT_EVENT_DAEMON=y BR2_PACKAGE_MDIO_TOOLS=y BR2_PACKAGE_RNG_TOOLS=y +BR2_PACKAGE_UBOOT_TOOLS=y BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_UBOOT_TOOLS_FIT_CHECK_SIGN=y @@ -91,10 +93,12 @@ BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_FPING=y BR2_PACKAGE_FRR=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_IPERF3=y BR2_PACKAGE_IPROUTE2=y BR2_PACKAGE_IPTABLES_NFTABLES=y BR2_PACKAGE_IPUTILS=y BR2_PACKAGE_LLDPD=y +BR2_PACKAGE_MTR=y BR2_PACKAGE_NETCALC=y BR2_PACKAGE_NETCAT_OPENBSD=y BR2_PACKAGE_NETSNMP=y diff --git a/configs/riscv64_defconfig b/configs/riscv64_defconfig index c3b7d2d1..8c0e50ac 100644 --- a/configs/riscv64_defconfig +++ b/configs/riscv64_defconfig @@ -60,13 +60,16 @@ BR2_PACKAGE_GPTFDISK=y BR2_PACKAGE_GPTFDISK_SGDISK=y BR2_PACKAGE_MDIO_TOOLS=y BR2_PACKAGE_RNG_TOOLS=y +BR2_PACKAGE_UBOOT_TOOLS=y BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_UBOOT_TOOLS_FIT_CHECK_SIGN=y BR2_PACKAGE_UBOOT_TOOLS_MKENVIMAGE=y BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_GUNICORN=y +BR2_PACKAGE_LIBSSH_OPENSSL=y BR2_PACKAGE_LIBSSH2=y +BR2_PACKAGE_LIBSSH2_OPENSSL=y BR2_PACKAGE_LIBOPENSSL_BIN=y BR2_PACKAGE_LIBINPUT=y BR2_PACKAGE_LIBCURL_CURL=y @@ -85,11 +88,13 @@ BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_FPING=y BR2_PACKAGE_FRR=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_IPERF3=y BR2_PACKAGE_IPROUTE2=y BR2_PACKAGE_IPTABLES_NFTABLES=y BR2_PACKAGE_IPUTILS=y BR2_PACKAGE_LLDPD=y BR2_PACKAGE_MSTPD=y +BR2_PACKAGE_MTR=y BR2_PACKAGE_NETCALC=y BR2_PACKAGE_NETCAT_OPENBSD=y BR2_PACKAGE_NETSNMP=y diff --git a/configs/x86_64_defconfig b/configs/x86_64_defconfig index bc46c395..a730a65d 100644 --- a/configs/x86_64_defconfig +++ b/configs/x86_64_defconfig @@ -73,11 +73,13 @@ BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_FPING=y BR2_PACKAGE_FRR=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_IPERF3=y BR2_PACKAGE_IPROUTE2=y BR2_PACKAGE_IPTABLES_NFTABLES=y BR2_PACKAGE_IPUTILS=y BR2_PACKAGE_LLDPD=y BR2_PACKAGE_MSTPD=y +BR2_PACKAGE_MTR=y BR2_PACKAGE_NETCALC=y BR2_PACKAGE_NETCAT_OPENBSD=y BR2_PACKAGE_NETSNMP=y From 805acdf782de3c2b6c9196f483f40c07ab76f02f Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 15 Sep 2025 16:23:20 +0200 Subject: [PATCH 04/12] test: bump 9pm for test ID and meta data section in report Signed-off-by: Joachim Wiberg --- test/9pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/9pm b/test/9pm index 8f5294b7..ae54b408 160000 --- a/test/9pm +++ b/test/9pm @@ -1 +1 @@ -Subproject commit 8f5294b7f2e3d8650e458ba9b0fa93e97610fcac +Subproject commit ae54b40853afe29b3975b911380bd2f5bf9d3fce From 164a1018a0a9888ecbcefd9806cc3ea3d4d2e28e Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 15 Sep 2025 16:55:55 +0200 Subject: [PATCH 05/12] board/common: improve default bash settings for better UX Add HISTCONTROL=ignoreboth to ignore duplicate commands and those starting with space, enable histappend, and improve tab completion behavior. Also add /etc/inputrc for better readline key bindings. Signed-off-by: Joachim Wiberg --- board/common/rootfs/etc/bash.bashrc | 16 +++++++ board/common/rootfs/etc/inputrc | 66 +++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 board/common/rootfs/etc/inputrc diff --git a/board/common/rootfs/etc/bash.bashrc b/board/common/rootfs/etc/bash.bashrc index 34bbacf8..e4ea5d84 100644 --- a/board/common/rootfs/etc/bash.bashrc +++ b/board/common/rootfs/etc/bash.bashrc @@ -15,6 +15,22 @@ export PROMPT_COMMAND=prompt_command # update the values of LINES and COLUMNS. shopt -s checkwinsize +# don't put duplicate lines or lines starting with space in the history. +export HISTCONTROL=ignoreboth + +# append to the history file, don't overwrite it +shopt -s histappend + +# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) +export HISTSIZE=1000 +export HISTFILESIZE=2000 + +# case-insensitive filename completion +bind "set completion-ignore-case on" + +# show all completions immediately instead of ringing bell +bind "set show-all-if-ambiguous on" + log() { local fn="/var/log/syslog" diff --git a/board/common/rootfs/etc/inputrc b/board/common/rootfs/etc/inputrc new file mode 100644 index 00000000..3b302849 --- /dev/null +++ b/board/common/rootfs/etc/inputrc @@ -0,0 +1,66 @@ +# /etc/inputrc - global inputrc for libreadline + +# Be 8 bit clean. +set input-meta on +set output-meta on + +# To allow the use of 8bit-characters like the german umlauts, uncomment +# the line below. However this makes the meta key not work as a meta key, +# which is annoying to those which don't need to type in 8-bit characters. + +# set convert-meta off + +# try to enable the application keypad when it is called. Some systems +# need this to enable the arrow keys. +# set enable-keypad on + +# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys + +# do not bell on tab-completion +# set bell-style none +# set bell-style visible + +# some defaults / modifications for the emacs mode +$if mode=emacs + +# allow the use of the Home/End keys +"\e[1~": beginning-of-line +"\e[4~": end-of-line + +# allow the use of the Delete/Insert keys +"\e[3~": delete-char +"\e[2~": quoted-insert + +# mappings for "page up" and "page down" to step to the beginning/end +# of the history +# "\e[5~": beginning-of-history +# "\e[6~": end-of-history + +# alternate mappings for "page up" and "page down" to search the history +"\e[5~": history-search-backward +"\e[6~": history-search-forward + +# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving +"\e[1;5C": forward-word +"\e[1;5D": backward-word +"\e[5C": forward-word +"\e[5D": backward-word +"\e\e[C": forward-word +"\e\e[D": backward-word + +$if term=rxvt +"\e[7~": beginning-of-line +"\e[8~": end-of-line +"\eOc": forward-word +"\eOd": backward-word +$endif + +# for non RH/Debian xterm, can't hurt for RH/Debian xterm +# "\eOH": beginning-of-line +# "\eOF": end-of-line + +# for freebsd console +# "\e[H": beginning-of-line +# "\e[F": end-of-line + +$endif \ No newline at end of file From 0bada691fcf5f6ebc8a298bdd7411443ad0fa8b7 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 15 Sep 2025 17:08:08 +0200 Subject: [PATCH 06/12] Add neofetch Fixes #1143 --- configs/aarch64_defconfig | 1 + configs/r2s_defconfig | 1 + configs/riscv64_defconfig | 1 + configs/x86_64_defconfig | 1 + patches/neofetch/0001-add-infix-support.patch | 91 +++++++++++++++++++ .../0002-source-os-release-in-order.patch | 25 +++++ 6 files changed, 120 insertions(+) create mode 100644 patches/neofetch/0001-add-infix-support.patch create mode 100644 patches/neofetch/0002-source-os-release-in-order.patch diff --git a/configs/aarch64_defconfig b/configs/aarch64_defconfig index 384598a3..50c21de5 100644 --- a/configs/aarch64_defconfig +++ b/configs/aarch64_defconfig @@ -101,6 +101,7 @@ BR2_PACKAGE_TRACEROUTE=y BR2_PACKAGE_ULOGD=y BR2_PACKAGE_WHOIS=y BR2_PACKAGE_BASH_COMPLETION=y +BR2_PACKAGE_NEOFETCH=y BR2_PACKAGE_SUDO=y BR2_PACKAGE_TTYD=y BR2_PACKAGE_GETENT=y diff --git a/configs/r2s_defconfig b/configs/r2s_defconfig index cd6bbe0e..3c66c68b 100644 --- a/configs/r2s_defconfig +++ b/configs/r2s_defconfig @@ -121,6 +121,7 @@ BR2_PACKAGE_WIRELESS_REGDB=y BR2_PACKAGE_WIRELESS_TOOLS=y BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_BASH_COMPLETION=y +BR2_PACKAGE_NEOFETCH=y BR2_PACKAGE_SUDO=y BR2_PACKAGE_TTYD=y BR2_PACKAGE_HTOP=y diff --git a/configs/riscv64_defconfig b/configs/riscv64_defconfig index 8c0e50ac..42f2cc34 100644 --- a/configs/riscv64_defconfig +++ b/configs/riscv64_defconfig @@ -114,6 +114,7 @@ BR2_PACKAGE_TRACEROUTE=y BR2_PACKAGE_ULOGD=y BR2_PACKAGE_WHOIS=y BR2_PACKAGE_BASH_COMPLETION=y +BR2_PACKAGE_NEOFETCH=y BR2_PACKAGE_SUDO=y BR2_PACKAGE_TTYD=y BR2_PACKAGE_GETENT=y diff --git a/configs/x86_64_defconfig b/configs/x86_64_defconfig index a730a65d..7c39233b 100644 --- a/configs/x86_64_defconfig +++ b/configs/x86_64_defconfig @@ -99,6 +99,7 @@ BR2_PACKAGE_TRACEROUTE=y BR2_PACKAGE_ULOGD=y BR2_PACKAGE_WHOIS=y BR2_PACKAGE_BASH_COMPLETION=y +BR2_PACKAGE_NEOFETCH=y BR2_PACKAGE_SUDO=y BR2_PACKAGE_TTYD=y BR2_PACKAGE_GETENT=y diff --git a/patches/neofetch/0001-add-infix-support.patch b/patches/neofetch/0001-add-infix-support.patch new file mode 100644 index 00000000..522ff6e2 --- /dev/null +++ b/patches/neofetch/0001-add-infix-support.patch @@ -0,0 +1,91 @@ +Add Infix ASCII art support and adjust default info sets + +This patch adds Infix OS ASCII art and disables some info sets +from the default output while enabling others. + +Signed-off-by: Joachim Wiberg + +--- a/neofetch 2025-09-07 21:18:44.631712703 +0200 ++++ b/neofetch 2025-09-07 21:49:06.993228030 +0200 +@@ -53,21 +53,21 @@ + # See this wiki page for more info: + # https://github.com/dylanaraps/neofetch/wiki/Customizing-Info + print_info() { +- info title +- info underline ++ # info title ++ # info underline + + info "OS" distro + info "Host" model + info "Kernel" kernel + info "Uptime" uptime +- info "Packages" packages ++ # info "Packages" packages + info "Shell" shell + info "Resolution" resolution + info "DE" de +- info "WM" wm +- info "WM Theme" wm_theme +- info "Theme" theme +- info "Icons" icons ++ # info "WM" wm ++ # info "WM Theme" wm_theme ++ # info "Theme" theme ++ # info "Icons" icons + info "Terminal" term + info "Terminal Font" term_font + info "CPU" cpu +@@ -76,17 +76,17 @@ + + # info "GPU Driver" gpu_driver # Linux/macOS only + # info "CPU Usage" cpu_usage +- # info "Disk" disk ++ info "Disk" disk + # info "Battery" battery + # info "Font" font + # info "Song" song + # [[ "$player" ]] && prin "Music Player" "$player" +- # info "Local IP" local_ip +- # info "Public IP" public_ip ++ info "Local IP" local_ip ++ info "Public IP" public_ip + # info "Users" users + # info "Locale" locale # This only works on glibc systems. + +- info cols ++ # info cols + } + + # Title +@@ -113,7 +113,7 @@ + # Example: + # on: '4.8.9-1-ARCH' + # off: 'Linux 4.8.9-1-ARCH' +-kernel_shorthand="on" ++kernel_shorthand="off" + + + # Distro +@@ -7435,6 +7435,21 @@ + EOF + ;; + ++ "Infix"*) ++ set_colors 4 3 ++ read -rd '' ascii_data <<'EOF' ++${c1} .---------------. ++${c1} | | ++${c1} | ${c2}• •${c1} | ++${c1} | V | ++${c1} |---. .---| ++${c1} |${c2}▒▒▒${c1}| |${c2}▒▒▒${c1}| ++${c1} '---'-------'---' ++${c2} Hi, I'm Jacky! :) ++ ++EOF ++ ;; ++ + "januslinux"*|"janus"*|"Ataraxia Linux"*|"Ataraxia"*) + set_colors 4 5 6 2 + read -rd '' ascii_data <<'EOF' diff --git a/patches/neofetch/0002-source-os-release-in-order.patch b/patches/neofetch/0002-source-os-release-in-order.patch new file mode 100644 index 00000000..4415264d --- /dev/null +++ b/patches/neofetch/0002-source-os-release-in-order.patch @@ -0,0 +1,25 @@ +Source os-release in order + +As per https://www.freedesktop.org/software/systemd/man/latest/os-release.html + +> The file /etc/os-release takes precedence over /usr/lib/os-release. + +We also prioritize both of them over the legacy /etc/lsb_release file. + +Signed-off-by: Joachim Wiberg + +--- a/neofetch 2025-09-07 22:34:09.458848918 +0200 ++++ b/neofetch 2025-09-07 22:35:14.458398622 +0200 +@@ -1001,9 +1001,9 @@ + -f /etc/openwrt_release || \ + -f /etc/lsb-release ]]; then + +- # Source the os-release file +- for file in /etc/lsb-release /usr/lib/os-release \ +- /etc/os-release /etc/openwrt_release; do ++ # Source the os-release file in priority order ++ for file in /etc/os-release /usr/lib/os-release \ ++ /etc/lsb-release /etc/openwrt_release; do + source "$file" && break + done + From 400691af85ee460fd1e0b5867f6ab0d09f82392a Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 15 Sep 2025 17:25:23 +0200 Subject: [PATCH 07/12] package/klish-plugin-sysrepo: improve CLI UX for no enabled command Fixes #1119 Signed-off-by: Joachim Wiberg --- package/klish-plugin-sysrepo/klish-plugin-sysrepo.hash | 2 +- package/klish-plugin-sysrepo/klish-plugin-sysrepo.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/klish-plugin-sysrepo/klish-plugin-sysrepo.hash b/package/klish-plugin-sysrepo/klish-plugin-sysrepo.hash index 618c789b..717f3a8f 100644 --- a/package/klish-plugin-sysrepo/klish-plugin-sysrepo.hash +++ b/package/klish-plugin-sysrepo/klish-plugin-sysrepo.hash @@ -1,3 +1,3 @@ # Locally calculated sha256 9d9d33b873917ca5d0bdcc47a36d2fd385971ab0c045d1472fcadf95ee5bcf5b LICENCE -sha256 598089ad964594bbbaf2b7d7214d8761c828174eef53b7cfb1cd98517f407d01 klish-plugin-sysrepo-b693714a1ff5f8021651d7619556afb19945e5e6-git4.tar.gz +sha256 a6fe769a8f24a065b274f4e0f5f1fec634b2aae5bdd586aa6f71fe60ca6b8a64 klish-plugin-sysrepo-30bc6294489807ea026abed20f94d1ad1583cc6b-git4.tar.gz diff --git a/package/klish-plugin-sysrepo/klish-plugin-sysrepo.mk b/package/klish-plugin-sysrepo/klish-plugin-sysrepo.mk index 3af001ba..f8030eb7 100644 --- a/package/klish-plugin-sysrepo/klish-plugin-sysrepo.mk +++ b/package/klish-plugin-sysrepo/klish-plugin-sysrepo.mk @@ -4,7 +4,7 @@ # ################################################################################ -KLISH_PLUGIN_SYSREPO_VERSION = b693714a1ff5f8021651d7619556afb19945e5e6 +KLISH_PLUGIN_SYSREPO_VERSION = 30bc6294489807ea026abed20f94d1ad1583cc6b KLISH_PLUGIN_SYSREPO_SITE = https://github.com/kernelkit/klish-plugin-sysrepo.git #KLISH_PLUGIN_SYSREPO_VERSION = cdd3eb51a7f7ee0ed5bd925fa636061d3b1b85fb #KLISH_PLUGIN_SYSREPO_SITE = https://src.libcode.org/pkun/klish-plugin-sysrepo.git From f41ff6d3e7967e1960ed9f733599e68dd8c7db95 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 15 Sep 2025 18:04:59 +0200 Subject: [PATCH 08/12] confd: reduce dhcp client logging overhead by 70% MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adjust DHCP client retry behavior: -t 3 (was -t 10) : Maximum discovery attempts per cycle -T 5 (was -T 3) : Seconds to wait between attempts -A 30 (was -A 10) : Seconds to wait after all attempts fail Before: 10 attempts × 3 seconds = 30 seconds of rapid trying, then 10 second pause = 40 second total cycle After: 3 attempts × 5 seconds = 15 seconds of trying, then 30 second pause = 45 second total cycle => 70% fewer log messages during active attempts, with longer quiet periods between cycles. Fixes #1100 Signed-off-by: Joachim Wiberg --- src/confd/src/infix-dhcp-client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/confd/src/infix-dhcp-client.c b/src/confd/src/infix-dhcp-client.c index a095a0f7..a3f5be7a 100644 --- a/src/confd/src/infix-dhcp-client.c +++ b/src/confd/src/infix-dhcp-client.c @@ -256,7 +256,7 @@ static void add(const char *ifname, struct lyd_node *cfg) fprintf(fp, "# Generated by Infix confd\n"); fprintf(fp, "metric=%s\n", metric); fprintf(fp, "service name:dhcp-client :%s \\\n" - " [2345] udhcpc -f -p /run/dhcp-client-%s.pid -t 10 -T 3 -A 10 %s -S -R \\\n" + " [2345] udhcpc -f -p /run/dhcp-client-%s.pid -t 3 -T 5 -A 30 %s -S -R \\\n" " %s%s \\\n" " -i %s %s %s \\\n" " -- DHCP client @%s\n", From 6a745f50f89db37ce0d3a998a6dbe589582033f0 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 15 Sep 2025 18:08:40 +0200 Subject: [PATCH 09/12] board/common: adjust log level of udhcpc script, fix missing iface Issue #1100 Signed-off-by: Joachim Wiberg --- .../rootfs/usr/share/udhcpc/default.script | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/board/common/rootfs/usr/share/udhcpc/default.script b/board/common/rootfs/usr/share/udhcpc/default.script index d5ec337c..4ebb3ac5 100755 --- a/board/common/rootfs/usr/share/udhcpc/default.script +++ b/board/common/rootfs/usr/share/udhcpc/default.script @@ -23,12 +23,22 @@ fi log() { - logger -I $$ -t udhcpc -p user.notice "$*" + logger -I $$ -t udhcpc -p user.notice "${interface}: $*" +} + +dbg() +{ + logger -I $$ -t udhcpc -p user.debug "${interface}: $*" +} + +err() +{ + logger -I $$ -t udhcpc -p user.err "${interface}: $*" } wait_for_ipv6_default_route() { - log "waiting for IPv6 default route to be installed." + dbg "waiting for IPv6 default route to be installed." while [ $IF_WAIT_DELAY -gt 0 ]; do if ip -6 route list proto dhcp dev $interface | grep -q default; then return @@ -37,7 +47,7 @@ wait_for_ipv6_default_route() printf "." : $((IF_WAIT_DELAY -= 1)) done - log "Timed out witing for IPv6 default route!" + err "Timed out waiting for IPv6 default route!" } # RFC3442: If the DHCP server returns both a Classless @@ -50,7 +60,7 @@ set_dhcp_routes() # format: dest1/mask gw1 ... destn/mask gwn set -- $staticroutes while [ -n "$1" -a -n "$2" ]; do - log "adding route $1 via $2 metric $metric tag 100" + dbg "adding route $1 via $2 metric $metric tag 100" echo "ip route $1 $2 $metric tag 100" >> "$NEXT" shift 2 done @@ -69,7 +79,7 @@ set_dhcp_routes() clr_dhcp_routes() { - log "deleting DHCP routes from $interface" + log "deleting DHCP routes" [ -f "$NAME" ] || return rm "$NAME" @@ -84,7 +94,7 @@ clr_dhcp_addresses() for addr in $addrs; do ip="$(echo "$addr" | jq -r '."local"')" prefix="$(echo "$addr" | jq -r '."prefixlen"')" - log "removing $ip/$prefix from $interface" + log "removing $ip/$prefix" ip addr del "$ip/$prefix" dev "$interface" done } @@ -142,12 +152,12 @@ case "$ACTION" in fi if [ -n "$search_list" ]; then - log "adding search $search_list" + dbg "adding search $search_list" echo "search $search_list # $interface" >> $RESOLV_CONF fi for i in $dns ; do - log "adding dns $i" + dbg "adding dns $i" echo "nameserver $i # $interface" >> $RESOLV_CONF resolvconf -u done @@ -155,7 +165,7 @@ case "$ACTION" in if [ -n "$ntpsrv" ]; then truncate -s 0 "$NTPFILE" for srv in $ntpsrv; do - log "got NTP server $srv" + dbg "got NTP server $srv" echo "server $srv iburst" >> "$NTPFILE" done chronyc reload sources >/dev/null From 64a3770a764aa3184bd21ab7e742f65d365bb978 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 15 Sep 2025 18:58:16 +0200 Subject: [PATCH 10/12] doc: update changelog with latest changes Signed-off-by: Joachim Wiberg --- doc/ChangeLog.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index a43b32ec..7219a726 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -9,9 +9,17 @@ All notable changes to the project are documented in this file. ### Changes - Upgrade Buildroot to 2025.02.6 (LTS) - Upgrade Linux kernel to 6.12.46 (LTS) -- Add support for [Banana Pi R3][BPI-R3], a 7 port switch with 2 WiFi chip. +- Add support for [Banana Pi R3][BPI-R3], a 7 port switch with 2 WiFi chip +- Add neofetch system information tool for system introspection, issue #1143 +- Add mtr and iperf3 network diagnostic tools, issue #1144 +- Improve default bash settings with better history handling and tab completion ### Fixes +- Fix #1100: Reduce DHCP client logging verbosity by 70% and include interface + names in log messages for easier troubleshooting +- Fix #1119: CLI UX regression, restore proper behavior for `no enabled` command +- Fix #1155: `show ospf` commands regression +- Fix #1150: show-legacy wrapper permissions [BPI-R3]: https://wiki.banana-pi.org/Banana_Pi_BPI-R3 From b330c6c70db7ff46a4ff3d341360d6150e6bebcd Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 15 Sep 2025 19:12:51 +0200 Subject: [PATCH 11/12] .github: prevent duplicate builds when ci:main label is added to PRs Add concurrency control to trigger workflow to cancel in-progress builds when new events (like adding ci:main label) occur on the same PR. This prevents resource waste from duplicate builds and handles the common workflow where developers add the ci:main label after PR creation. Fixes #1154 --- .github/workflows/trigger.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/trigger.yml b/.github/workflows/trigger.yml index c0db755f..ed1f274d 100644 --- a/.github/workflows/trigger.yml +++ b/.github/workflows/trigger.yml @@ -9,6 +9,10 @@ on: - ci-work workflow_dispatch: +concurrency: + group: ci-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + jobs: build-x86_64: if: startsWith(github.repository, 'kernelkit/') From b18a719cee7fc84a543bcc1d27e763fd165ffc21 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 16 Sep 2025 07:55:05 +0200 Subject: [PATCH 12/12] Add repobeats analytics [skip ci] Signed-off-by: Joachim Wiberg --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 83c07267..3745ad6f 100644 --- a/README.md +++ b/README.md @@ -148,6 +148,8 @@ high-throughput network appliances.
Infix development is sponsored by Wires +![Alt](https://repobeats.axiom.co/api/embed/5ce7a2a67edc923823afa0f60c327a6e8575b6e9.svg "Repobeats analytics image") + [1]: https://buildroot.org/ "Buildroot Homepage" [2]: https://www.sysrepo.org/ "Sysrepo Homepage" [3]: https://kernelkit.org/infix/latest/cli/introduction/