git: bea3efc01cb7 - stable/13 - netstat: fix nhop prepend printing.

From: Alexander V. Chernikov <melifaro_at_FreeBSD.org>
Date: Mon, 28 Mar 2022 09:16:00 UTC
The branch stable/13 has been updated by melifaro:

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

commit bea3efc01cb716e8e77d61af085795eb2d0c013c
Author:     Alexander V. Chernikov <melifaro@FreeBSD.org>
AuthorDate: 2021-12-26 15:02:06 +0000
Commit:     Alexander V. Chernikov <melifaro@FreeBSD.org>
CommitDate: 2022-03-28 08:47:23 +0000

    netstat: fix nhop prepend printing.
    
    If present, print nexthop L2 prepend data in hex.
    
    MFC after:      1 week
    
    (cherry picked from commit 731bfa9f180388e4081b64afb94c357643600238)
---
 usr.bin/netstat/nhops.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/usr.bin/netstat/nhops.c b/usr.bin/netstat/nhops.c
index 51bed6e23c0f..8fc8db9e7b85 100644
--- a/usr.bin/netstat/nhops.c
+++ b/usr.bin/netstat/nhops.c
@@ -312,8 +312,10 @@ print_nhop_entry_sysctl(const char *name, struct rt_msghdr *rtm, struct nhop_ext
 
 	xo_emit("{t:refcount/%*lu} ", wid_refcnt, nh->nh_refcount);
 	if (Wflag && nh->prepend_len) {
-		char *prepend_hex = "AABBCCDDEE";
-		xo_emit(" {:nhop-prepend/%*s}", wid_prepend, prepend_hex);
+		int max_bytes = MIN(nh->prepend_len, sizeof(buffer) / 2 - 1);
+		for (int i = 0; i < max_bytes; i++)
+			snprintf(&buffer[i * 2], 3, "%02X", nh->nh_prepend[i]);
+		xo_emit(" {:nhop-prepend/%*s}", wid_prepend, buffer);
 	}
 
 	xo_emit("\n");