The branch releng/13.1 has been updated by melifaro:

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

commit 3e624dfad1c3dbbca711da6fb79caffb8dcc4d91
Author:     Alexander V. Chernikov <melif...@freebsd.org>
AuthorDate: 2021-12-26 15:02:06 +0000
Commit:     Alexander V. Chernikov <melif...@freebsd.org>
CommitDate: 2022-03-28 15:24:57 +0000

    netstat: fix nhop prepend printing.
    
    If present, print nexthop L2 prepend data in hex.
    
    Approved by:    re(gjb)
    MFC after:      1 week
    
    (cherry picked from commit 731bfa9f180388e4081b64afb94c357643600238)
    (cherry picked from commit bea3efc01cb716e8e77d61af085795eb2d0c013c)
---
 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");

Reply via email to