From nobody Sun Feb 8 20:05:49 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 4f8JjZ3Hppz6RhKg for ; Sun, 08 Feb 2026 20:05:54 +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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f8JjZ2k86z4CMZ for ; Sun, 08 Feb 2026 20:05:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770581154; 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=gAJ0q4lgpvJ4dmCH6YxWnflRv5wOy+PUh6L8RuVwRSk=; b=kCPR50gw8WbwJv1dsQkd2NIDxYLC8+xAW2y+Oz/iL7Dg8/Cm+s056zivoftIee0DSiq9Yq eQd+P85vcmFfCFeRgo2NOeO5GfleznF4eAHPtFeV81gvZ/JCcGG8gW737JD8XtXZAaIQZs kpZAAnATB6k7lVI4NjX/A2UEsTPm8oQYMXN5wawfmJ5fN2j7KSyX8YJjN51Tmm1DbQwirA DCkPcOpH2hCR+05mgcdShXwdJlHwWHSfaEoBNiLj5RuPTZzV+tqi8zI5Wwspc6HxmOwrPF Q2lxWQWluFVvYZiIkTizRHfdty9PbX14Yd7aHza0BZfArHRgVHfekeJjLbHlOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770581154; a=rsa-sha256; cv=none; b=vDViEFi3uD65pjqlbx2US5V/07v3TmiEeBcpjyfVB+ikF60jh9TKerqv24DiN4YYsgw9AN gB3530eaNC8XrSAogG0KzoscKWA3xoQSZtrdrTVHkne8q0ZyYn852cMUVO96ZxBIrbZFDQ D2mbBu46CwukAs6f+Ox83y8jboLzE0/6hab2kLcIUkAAUKTmf9p5MnqUMVPTPDGMVhfoiV VTegt+m5lS4ne9g+KS79SNKcPIdT3tq3QypfNOhfCiWir6sS0jnSQF5VBh2ep+nC5FtZ+7 ZFAPKvIUcd0GtOa7ghkJ84YDDJwhJq+6MtkaNt4yH8r9WWSyH9aKp6+XY+2sYA== 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=1770581154; 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=gAJ0q4lgpvJ4dmCH6YxWnflRv5wOy+PUh6L8RuVwRSk=; b=w1kDnVz8I8xSQ9b0uRhcxn96BKO4qvsJum52xyXdAtXdZ8Det3Z+bbwjuZvmiHvP9xrCVV ZhGglXZcmymp1V24LKn6fFtAFygiT/euac774fqGjtNeq5vv9HxzndueVuJmHf/aECRBDS tCM6cSeNLyhw2Dn+dEJYl8Jh3IU6496LPsAdf0WJ/KUxQf9rhhY0p/2EeFJcvdJoScjNsP qsbZivvcj6XM0fu1fYPQM9TU36RVW57ge/f/Btd1/HieOu+ppC84jm6WkShKQn0jYd5wre 9KP6p+D1j/MrWHXVZXNXqtdZs5oMtY0vFg/5xrLaeqcrzcDnZ2j9uDLoMGIzKQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f8JjZ2DgQz11lh for ; Sun, 08 Feb 2026 20:05:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3c8ce by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 08 Feb 2026 20:05:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Timo =?utf-8?Q?V=C3=B6lker?= From: Michael Tuexen Subject: git: d84870d90baf - main - 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/main X-Git-Reftype: branch X-Git-Commit: d84870d90bafe75eb87759df0ab41ff0214c866e Auto-Submitted: auto-generated Date: Sun, 08 Feb 2026 20:05:49 +0000 Message-Id: <6988ec9d.3c8ce.5586fa2c@gitrepo.freebsd.org> The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=d84870d90bafe75eb87759df0ab41ff0214c866e commit d84870d90bafe75eb87759df0ab41ff0214c866e Author: Timo Völker AuthorDate: 2026-02-08 20:02:58 +0000 Commit: Michael Tuexen CommitDate: 2026-02-08 20:02:58 +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 MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55055 --- 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