From nobody Sun Feb 8 20:05:49 2026 X-Original-To: dev-commits-src-main@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 4f8JjT4NxDz6RhFM for ; Sun, 08 Feb 2026 20:05:49 +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 4f8JjT3hpTz4Bs5 for ; Sun, 08 Feb 2026 20:05:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770581149; 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=g3Uq+9dkgQDFQg/qbhMvgaPSE30Pm2Vlx/3uTfu9uySkslosNwOQx5mmLPHJs9L0SNKTuv 3BW113Mv6uvX7qcB7i985BGew+R03NcI+UjWsf35VF+4h6r0vab4f4Qg0blzBGQxp8XtAd v1ww1sFHZTiQokpqfGMotzaycSLIgiv5XFwCvme/cKGIXiaLn5HDCemUF1twGcSAMZB0Es /0mhggOu18mNa0w5UYhjEhrQLEpzp3WaXVwH5V5o2/2La/p6EdHXcP3L3p2tRBDD1z4xPs 69pOrHWTH+RYta2DkoaQDITGQp8vtXGum6/IEvX56WQupZTKRFjjF5IbO0t+2g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770581149; a=rsa-sha256; cv=none; b=cFx6rXKK1QIqavd4At6VMVg5+fHnzWyiLdGAx5BwHN38VQpRxdjjg2kPGlX7SrxyRP2lof 6EFKI+cOQK1MBALKydZRScTrkZWN0ORGpnj1AZh9Gs4fl98APLuI9H5AM4x6Dtz0BhIYsl mVK0ocb14QcGBlRnIQggo60l8JTWG6IFhj8QEwgGP2aDIeazTGEytExvGxlTufK5cZritm T28NfW/Co2MXH9EA9pkYQ9BZzl7pZdRvMHYja2StSKzCulioCwTUHW/kqx5JGQXosD1SZs iwDl8Brb1aDyVH5rTAYogbUu/tXarNJqGuR6ET600eUOnPyskbWPwRjKR9e9Eg== 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=1770581149; 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=U5GqtUg5RtE6PmB1Njj8FEsR+TijTaQ5Kr0nhgugY7lNgldL26/ps47WVknLnHXiUDCGSo NOQJZCqFEP1iq9rCh3bsdreU4WyuxWU1uCYwOqNdwDYYSb+PSObr4vFnXg+2mpyaeHT2qT 4u1gaKW2m+9JMgDToDWlF33m5JGdI5QRb+Lk35Ft/2l2xywKlCQBDq1ThdxtbqpFNYoN/I ZWnKX65MMg855Uipd+DtXZTTOy6ib+05cDBFByyJQ58PkH34VCO+XdLgbXJc5EjjZJtWMV KjPCYwmpmb3t7T2Uu/Te4Arh84vYOE6gcUC6XzBmap7+Vaabp0YbPE/OE2yqgw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f8JjT2FsCz1219 for ; Sun, 08 Feb 2026 20:05:49 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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