[PATCH net-next 1/2] netdevsim: print human readable IP address

Hangbin Liu posted 2 patches 1 month, 2 weeks ago
[PATCH net-next 1/2] netdevsim: print human readable IP address
Posted by Hangbin Liu 1 month, 2 weeks ago
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

Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
---
 drivers/net/netdevsim/ipsec.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/net/netdevsim/ipsec.c b/drivers/net/netdevsim/ipsec.c
index f0d58092e7e9..102b0955eb04 100644
--- a/drivers/net/netdevsim/ipsec.c
+++ b/drivers/net/netdevsim/ipsec.c
@@ -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),
-- 
2.46.0
Re: [PATCH net-next 1/2] netdevsim: print human readable IP address
Posted by Simon Horman 1 month, 2 weeks ago
On Tue, Oct 08, 2024 at 12:21:33PM +0000, Hangbin Liu wrote:
> 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
> 
> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>

Reviewed-by: Simon Horman <horms@kernel.org>
Re: [PATCH net-next 1/2] netdevsim: print human readable IP address
Posted by Stanislav Fomichev 1 month, 2 weeks ago
On 10/09, Simon Horman wrote:
> On Tue, Oct 08, 2024 at 12:21:33PM +0000, Hangbin Liu wrote:
> > 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
> > 
> > Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
> 
> Reviewed-by: Simon Horman <horms@kernel.org>
> 

Can you also update tools/testing/selftests/net/rtnetlink.sh
accordingly? There is a part that diffs this file and it now fails due
to new format.

---
pw-bot: cr
Re: [PATCH net-next 1/2] netdevsim: print human readable IP address
Posted by Hangbin Liu 1 month, 2 weeks ago
On Wed, Oct 09, 2024 at 08:22:12AM -0700, Stanislav Fomichev wrote:
> Can you also update tools/testing/selftests/net/rtnetlink.sh
> accordingly? There is a part that diffs this file and it now fails due
> to new format.

Thanks for the reminding, I will update it.