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
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>
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
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.
© 2016 - 2024 Red Hat, Inc.