Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jun 2025 09:14:34 GMT
From:      "Bjoern A. Zeeb" <bz@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 9c3afe71b10a - stable/14 - ifconfig: 802.11: decode RSNXE IE
Message-ID:  <202506110914.55B9EYgG062580@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/14 has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=9c3afe71b10a000ac2c3d45c439f000bbc25f147

commit 9c3afe71b10a000ac2c3d45c439f000bbc25f147
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2025-04-22 20:08:20 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2025-06-10 23:41:14 +0000

    ifconfig: 802.11: decode RSNXE IE
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      3 days
    Differential Revision: https://reviews.freebsd.org/D50675
    
    (cherry picked from commit 1313f1c2a35f7dbaba1b2948d2f0c4a1f4113f67)
---
 sbin/ifconfig/ifieee80211.c | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c
index 9c753f865bc0..57200cf4f8c1 100644
--- a/sbin/ifconfig/ifieee80211.c
+++ b/sbin/ifconfig/ifieee80211.c
@@ -3202,6 +3202,33 @@ printrsnie(if_ctx *ctx, const char *tag, const u_int8_t *ie, size_t ielen)
 	}
 }
 
+static void
+printrsnxe(if_ctx *ctx, const char *tag, const u_int8_t *ie, size_t ielen)
+{
+	size_t n;
+
+	printf("%s", tag);
+	if (!ctx->args->verbose)
+		return;
+
+	ie += 2, ielen -= 2;
+
+	n = (*ie & 0x0f);
+	printf("<%zu", n + 1);
+
+	/* We do not yet know about more than n=1 (0). */
+	if (n != 0)
+		goto end;
+
+	if (*ie & 0x10)
+		printf(" PTWTOPS");
+	if (*ie & 0x20)
+		printf(" SAE h-t-e");
+
+end:
+	printf(">");
+}
+
 #define BE_READ_2(p)					\
 	((u_int16_t)					\
 	 ((((const u_int8_t *)(p))[1]      ) |		\
@@ -3610,6 +3637,7 @@ iename(int elemid)
 	case IEEE80211_ELEMID_TPC:	return " TPC";
 	case IEEE80211_ELEMID_CCKM:	return " CCKM";
 	case IEEE80211_ELEMID_EXTCAP:	return " EXTCAP";
+	case IEEE80211_ELEMID_RSN_EXT:	return " RSNXE";
 	}
 	snprintf(iename_buf, sizeof(iename_buf), " UNKNOWN_ELEMID_%d",
 	    elemid);
@@ -3693,6 +3721,9 @@ printies(if_ctx *ctx, const u_int8_t *vp, int ielen, unsigned int maxcols)
 		case IEEE80211_ELEMID_APCHANREP:
 			printapchanrep(ctx, " APCHANREP", vp, 2+vp[1]);
 			break;
+		case IEEE80211_ELEMID_RSN_EXT:
+			printrsnxe(ctx, " RSNXE", vp, 2+vp[1]);
+			break;
 		default:
 			if (verbose)
 				printie(ctx, iename(vp[0]), vp, 2+vp[1], maxcols);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202506110914.55B9EYgG062580>