From nobody Sun Apr 26 08:25:10 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3KWW16TVz6bFdQ for ; Sun, 26 Apr 2026 08:25:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g3KWV4D5Hz4B6N for ; Sun, 26 Apr 2026 08:25:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777191910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZtJbpeDQ/oZ0hZ9E4S4k5AJDPli42hyTX2/bk1gJQno=; b=sdZGfznD814yxvpHtp49aeFIehaL/yYXv7R29RziQPFhvGBcuHTjZ8/fFsdSODMxYOcQ4I TFpUlsVT2aZIaqml1wlEVlME4o1097Nm3XMRI85a7hW3CvG4KIF8m14xbLmtzEbdhAeIgi hnetaPGyPLEzP5PBG9/xjSxhh24VKtICCl6dMco1mwF1k6dio+nNmgz4fQEFb/xNxZUej1 GAArFcaefZMLMYkmlU3x8gKVsdrju3WSRnbUT9hrR/RUeEk+/shynC2U3WTzonQdfpcdsg vq8etZ+AbqHRX5hJorb5LUq9zjK+VURtwQcH6gRfpngehRGjc/zQwyhstCtPrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777191910; a=rsa-sha256; cv=none; b=Fmja9pmDcCwu///pHd30OM53h7GAjrJDgrTrFyXZlKsV3TkCGdsbi5pcPLBBSSxAIJpMki XBpmfJlFSR4FleU+nWtPh3JaYhOPA58kXEItpJUXyndDBA3NFYgDu7UEUdix102UVj5b2c za2rCmbiRk8w8Dezl+WtHptAjRPbdQXmul6E2bqKrKo8jMjyc5lYzLr8yBU4FStzr78jg8 qRTfdaEK+aShA3bgkNLtAbxbjMBPe/1cdq5QOwdxZx7jty4MBd4qfOUx0zqApl9V8KBi2j y6fG28QjwOb+eoPZ1qd2pOMFXSOL7XlrAC5XMDMsgB7rvI1uqOkHZckKfJUU7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777191910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZtJbpeDQ/oZ0hZ9E4S4k5AJDPli42hyTX2/bk1gJQno=; b=RpOdIWlrYLlm4MUO9j6wkaAsNaPo0ppvNPbPPzAKiSOj4EUzw++nhcxAp7iKq6oYDjDBT1 XsoS5fOA/c8aAzdzuOMkCTzpKxrcBoOAIZcAax5cDwQQdBmrFg+Hkk91bnGcMHRPSCJNpA GS2gEebyAmKI9oONVbZVTPRaGzfPbZvrGG4PltgiYmxHwuquFgL/1nl/sJqAquaXESUv8E W7s/tKUolLQGqxHf2kF2MBbJB2uKL2XomwpMWGE0fLNGmtL/lOM3JAIr0BoCVv4nfN2mAF SIki80ER1xZ8uYNa/ge8uNtRecFkous7F2UL6uU43Y1WAQxXbSj+spNDu5QlZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3KWV3kHjz1BGv for ; Sun, 26 Apr 2026 08:25:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27d68 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 26 Apr 2026 08:25:10 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Timo =?utf-8?Q?V=C3=B6lker?= From: Michael Tuexen Subject: git: d3234683f88d - stable/14 - ifinfo: improve output of hwassist value List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d3234683f88d7f4a8c1b72d64184435362728ce3 Auto-Submitted: auto-generated Date: Sun, 26 Apr 2026 08:25:10 +0000 Message-Id: <69edcbe6.27d68.3468c951@gitrepo.freebsd.org> The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=d3234683f88d7f4a8c1b72d64184435362728ce3 commit d3234683f88d7f4a8c1b72d64184435362728ce3 Author: Timo Völker AuthorDate: 2026-02-08 20:02:58 +0000 Commit: Michael Tuexen CommitDate: 2026-04-26 06:23:47 +0000 ifinfo: improve output of hwassist value In addition to print the hexadecimal number hwassist, also print the symbolic names of the corresponding CSUM_* flags. Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D55055 Event: Wiesbaden Hackathon 2026 (cherry picked from commit d84870d90bafe75eb87759df0ab41ff0214c866e) --- tools/tools/ifinfo/ifinfo.c | 48 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/tools/tools/ifinfo/ifinfo.c b/tools/tools/ifinfo/ifinfo.c index 89d17f0c75fa..e8837de0b383 100644 --- a/tools/tools/ifinfo/ifinfo.c +++ b/tools/tools/ifinfo/ifinfo.c @@ -30,6 +30,7 @@ #include /* for PF_LINK */ #include #include +#include #include #include @@ -38,6 +39,8 @@ #include #include #include +#include +#include #include #include @@ -149,6 +152,47 @@ main(int argc, char **argv) return retval; } +/* code after this line copied or based on code from src/sys/kern/subr_prf.c */ +static inline bool +isbitpos(char c) +{ + return (c != '\0' && (c <= ' ' || (c & 0x80) != 0)); +} + +static inline bool +isprintnospace(char c) +{ + return (isprint(c) && c != ' '); +} + +static void +print_bits(uintmax_t num, const char *bitstring) +{ + bool first; + const char *c; + int shift; + + c = ++bitstring; + first = true; + while (isbitpos(*c)) { + if ((*c & 0x80) != 0) + shift = *c++ & 0x7f; + else + shift = *c++ - 1; + if (num & (1ULL << shift)) { + putchar(first ? (first = false, '<') : ','); + for (; isprintnospace(*c); ++c) + putchar(*c); + } else + for (; isprintnospace(*c); ++c) + continue; + } + if (!first) { + putchar('>'); + } +} +/* code before this line copied or based on code from src/sys/kern/subr_prf.c */ + static void printit(const struct ifmibdata *ifmd, const char *dname) { @@ -182,8 +226,10 @@ printit(const struct ifmibdata *ifmd, const char *dname) printf("\tinput queue drops: %lu\n", ifmd->ifmd_data.ifi_iqdrops); printf("\tpackets for unknown protocol: %lu\n", ifmd->ifmd_data.ifi_noproto); - printf("\tHW offload capabilities: 0x%lx\n", + printf("\tHW offload capabilities: 0x%lx", ifmd->ifmd_data.ifi_hwassist); + print_bits(ifmd->ifmd_data.ifi_hwassist, CSUM_BITS); + printf("\n"); printf("\tuptime at attach or stat reset: %lu\n", ifmd->ifmd_data.ifi_epoch); #ifdef notdef