]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
netdevsim: print human readable IP address
authorHangbin Liu <liuhangbin@gmail.com>
Thu, 10 Oct 2024 04:00:25 +0000 (04:00 +0000)
committerJakub Kicinski <kuba@kernel.org>
Fri, 11 Oct 2024 22:44:27 +0000 (15:44 -0700)
Currently, IPSec addresses are printed in hexadecimal format, which is
not user-friendly. e.g.

  # cat /sys/kernel/debug/netdevsim/netdevsim0/ports/0/ipsec
  SA count=2 tx=20
  sa[0] rx ipaddr=0x00000000 00000000 00000000 0100a8c0
  sa[0]    spi=0x00000101 proto=0x32 salt=0x0adecc3a crypt=1
  sa[0]    key=0x3167608a ca4f1397 43565909 941fa627
  sa[1] tx ipaddr=0x00000000 00000000 00000000 00000000
  sa[1]    spi=0x00000100 proto=0x32 salt=0x0adecc3a crypt=1
  sa[1]    key=0x3167608a ca4f1397 43565909 941fa627

This patch updates the code to print the IPSec address in a human-readable
format for easier debug. e.g.

 # cat /sys/kernel/debug/netdevsim/netdevsim0/ports/0/ipsec
 SA count=4 tx=40
 sa[0] tx ipaddr=0.0.0.0
 sa[0]    spi=0x00000100 proto=0x32 salt=0x0adecc3a crypt=1
 sa[0]    key=0x3167608a ca4f1397 43565909 941fa627
 sa[1] rx ipaddr=192.168.0.1
 sa[1]    spi=0x00000101 proto=0x32 salt=0x0adecc3a crypt=1
 sa[1]    key=0x3167608a ca4f1397 43565909 941fa627
 sa[2] tx ipaddr=::
 sa[2]    spi=0x00000100 proto=0x32 salt=0x0adecc3a crypt=1
 sa[2]    key=0x3167608a ca4f1397 43565909 941fa627
 sa[3] rx ipaddr=2000::1
 sa[3]    spi=0x00000101 proto=0x32 salt=0x0adecc3a crypt=1
 sa[3]    key=0x3167608a ca4f1397 43565909 941fa627

Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Link: https://patch.msgid.link/20241010040027.21440-2-liuhangbin@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/netdevsim/ipsec.c

index f0d58092e7e961912f1bc43b555ba8b5a4469960..102b0955eb044951144935fcd2e11d63bf4f7197 100644 (file)
@@ -39,10 +39,14 @@ static ssize_t nsim_dbg_netdev_ops_read(struct file *filp,
                if (!sap->used)
                        continue;
 
-               p += scnprintf(p, bufsize - (p - buf),
-                              "sa[%i] %cx ipaddr=0x%08x %08x %08x %08x\n",
-                              i, (sap->rx ? 'r' : 't'), sap->ipaddr[0],
-                              sap->ipaddr[1], sap->ipaddr[2], sap->ipaddr[3]);
+               if (sap->xs->props.family == AF_INET6)
+                       p += scnprintf(p, bufsize - (p - buf),
+                                      "sa[%i] %cx ipaddr=%pI6c\n",
+                                      i, (sap->rx ? 'r' : 't'), &sap->ipaddr);
+               else
+                       p += scnprintf(p, bufsize - (p - buf),
+                                      "sa[%i] %cx ipaddr=%pI4\n",
+                                      i, (sap->rx ? 'r' : 't'), &sap->ipaddr[3]);
                p += scnprintf(p, bufsize - (p - buf),
                               "sa[%i]    spi=0x%08x proto=0x%x salt=0x%08x crypt=%d\n",
                               i, be32_to_cpu(sap->xs->id.spi),