* [PATCH 6.12.y 0/2] Fix rtnetlink.sh kselftest failures in stable
@ 2025-02-08 18:55 Harshit Mogalapalli
2025-02-08 18:55 ` [PATCH 6.12.y 1/2] netdevsim: print human readable IP address Harshit Mogalapalli
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Harshit Mogalapalli @ 2025-02-08 18:55 UTC (permalink / raw)
To: stable
Cc: davem, edumazet, horms, jiri, liuhangbin, kuba, netdev,
stfomichev, shannon.nelson, darren.kenny, Harshit Mogalapalli
This is reproducible on on stable kernels after the backport of commit:
2cf567f421db ("netdevsim: copy addresses for both in and out paths") to
stable kernels.
Using a single cover letter for all stable kernels but will send
separate patches for each stable kernel
Which kselftests are particularly failing:
2c2
< sa[0] tx ipaddr=0x00000000 00000000 00000000 047ba8c0
---
> sa[0] tx ipaddr=0x00000000 00000000 00000000 00000000
FAIL: ipsec_offload incorrect driver data
FAIL: ipsec_offload
813 # does driver have correct offload info
814 diff $sysfsf - << EOF
815 SA count=2 tx=3
816 sa[0] tx ipaddr=0x00000000 00000000 00000000 00000000
817 sa[0] spi=0x00000009 proto=0x32 salt=0x61626364 crypt=1
818 sa[0] key=0x34333231 38373635 32313039 36353433
819 sa[1] rx ipaddr=0x00000000 00000000 00000000 037ba8c0
820 sa[1] spi=0x00000009 proto=0x32 salt=0x61626364 crypt=1
821 sa[1] key=0x34333231 38373635 32313039 36353433
822 EOF
823 if [ $? -ne 0 ] ; then
824 echo "FAIL: ipsec_offload incorrect driver data"
825 check_err 1
826 fi
827
This part of check throws errors and the rtnetlink.sh fails on ipsec_offload.
Reason is that the after the below patch:
commit 2cf567f421dbfe7e53b7e5ddee9400da10efb75d
Author: Hangbin Liu <liuhangbin@gmail.com>
Date: Thu Oct 10 04:00:26 2024 +0000
netdevsim: copy addresses for both in and out paths
[ Upstream commit 2cf567f421dbfe7e53b7e5ddee9400da10efb75d ]
The current code only copies the address for the in path, leaving the out
path address set to 0. This patch corrects the issue by copying the addresses
for both the in and out paths. Before this patch:
# cat /sys/kernel/debug/netdevsim/netdevsim0/ports/0/ipsec
SA count=2 tx=20
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
After this patch:
= cat /sys/kernel/debug/netdevsim/netdevsim0/ports/0/ipsec
SA count=2 tx=20
sa[0] tx ipaddr=192.168.0.2
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
Fixes: 7699353da875 ("netdevsim: add ipsec offload testing")
tx ip address is not 0.0.0.0 anymore, it is was 0.0.0.0 before above patch.
So this commit: 3ec920bb978c ("selftests: rtnetlink: update netdevsim
ipsec output format") which is not backported to stable kernels tries to
address rtneltlink.sh fixing.
fixes the change in handling tx ip address as well, so far so good!
but when I apply this script fix it doesn't pass yet:
2c2
< sa[0] tx ipaddr=0x00000000 00000000 00000000 047ba8c0
---
> sa[0] tx ipaddr=192.168.123.4
5c5
< sa[1] rx ipaddr=0x00000000 00000000 00000000 037ba8c0
---
> sa[1] rx ipaddr=192.168.123.3
FAIL: ipsec_offload incorrect driver data
So it clearly suggest that addresses are not properly handled, IPSec addresses
are printed in hexadecimal format, but the script expects it in more readable
format, that hinted me whats missing, and that commit is:
commit c71bc6da6198a6d88df86094f1052bb581951d65
Author: Hangbin Liu <liuhangbin@gmail.com>
Date: Thu Oct 10 04:00:25 2024 +0000
netdevsim: print human readable IP address
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
Solution:
========
Backport both the commits commit: c71bc6da6198 ("netdevsim: print human
readable IP address") and script fixup commit: 3ec920bb978c ("selftests:
rtnetlink: update netdevsim ipsec output format") to all stable kernels
which have commit: 2cf567f421db ("netdevsim: copy addresses for both in
and out paths") in them.
Another clue to say this is right way to do this is that these above
three patches did go as patchset into net/ [1].
I am sending patches for all stable trees differently, however I am
using same cover letter.
Tested all stable kernels after patching. This failure is no more
reproducible.
Thanks,
Harshit
[1] https://lore.kernel.org/all/172868703973.3018281.2970275743967117794.git-patchwork-notify@kernel.org/
Hangbin Liu (2):
netdevsim: print human readable IP address
selftests: rtnetlink: update netdevsim ipsec output format
drivers/net/netdevsim/ipsec.c | 12 ++++++++----
tools/testing/selftests/net/rtnetlink.sh | 4 ++--
2 files changed, 10 insertions(+), 6 deletions(-)
--
2.46.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 6.12.y 1/2] netdevsim: print human readable IP address
2025-02-08 18:55 [PATCH 6.12.y 0/2] Fix rtnetlink.sh kselftest failures in stable Harshit Mogalapalli
@ 2025-02-08 18:55 ` Harshit Mogalapalli
2025-02-08 18:55 ` [PATCH 6.12.y 2/2] selftests: rtnetlink: update netdevsim ipsec output format Harshit Mogalapalli
2025-02-13 14:44 ` [PATCH 6.12.y 0/2] Fix rtnetlink.sh kselftest failures in stable Harshit Mogalapalli
2 siblings, 0 replies; 5+ messages in thread
From: Harshit Mogalapalli @ 2025-02-08 18:55 UTC (permalink / raw)
To: stable
Cc: davem, edumazet, horms, jiri, liuhangbin, kuba, netdev,
stfomichev, shannon.nelson, darren.kenny, Harshit Mogalapalli
From: Hangbin Liu <liuhangbin@gmail.com>
[ Upstream commit c71bc6da6198a6d88df86094f1052bb581951d65 ]
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>
(cherry picked from commit c71bc6da6198a6d88df86094f1052bb581951d65)
[Harshit: backport to stable kernels]
Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.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 3612b0633bd1..88187dd4eb2d 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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 6.12.y 2/2] selftests: rtnetlink: update netdevsim ipsec output format
2025-02-08 18:55 [PATCH 6.12.y 0/2] Fix rtnetlink.sh kselftest failures in stable Harshit Mogalapalli
2025-02-08 18:55 ` [PATCH 6.12.y 1/2] netdevsim: print human readable IP address Harshit Mogalapalli
@ 2025-02-08 18:55 ` Harshit Mogalapalli
2025-02-13 14:44 ` [PATCH 6.12.y 0/2] Fix rtnetlink.sh kselftest failures in stable Harshit Mogalapalli
2 siblings, 0 replies; 5+ messages in thread
From: Harshit Mogalapalli @ 2025-02-08 18:55 UTC (permalink / raw)
To: stable
Cc: davem, edumazet, horms, jiri, liuhangbin, kuba, netdev,
stfomichev, shannon.nelson, darren.kenny, Stanislav Fomichev,
Harshit Mogalapalli
From: Hangbin Liu <liuhangbin@gmail.com>
[ Upstream commit 3ec920bb978ccdc68a7dfb304d303d598d038cb1 ]
After the netdevsim update to use human-readable IP address formats for
IPsec, we can now use the source and destination IPs directly in testing.
Here is the result:
# ./rtnetlink.sh -t kci_test_ipsec_offload
PASS: ipsec_offload
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Acked-by: Stanislav Fomichev <sdf@fomichev.me>
Link: https://patch.msgid.link/20241010040027.21440-4-liuhangbin@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit 3ec920bb978ccdc68a7dfb304d303d598d038cb1)
[Harshit: backport to stable kernels]
Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
---
tools/testing/selftests/net/rtnetlink.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/net/rtnetlink.sh b/tools/testing/selftests/net/rtnetlink.sh
index bdf6f10d0558..87dce3efe31e 100755
--- a/tools/testing/selftests/net/rtnetlink.sh
+++ b/tools/testing/selftests/net/rtnetlink.sh
@@ -809,10 +809,10 @@ kci_test_ipsec_offload()
# does driver have correct offload info
run_cmd diff $sysfsf - << EOF
SA count=2 tx=3
-sa[0] tx ipaddr=0x00000000 00000000 00000000 00000000
+sa[0] tx ipaddr=$dstip
sa[0] spi=0x00000009 proto=0x32 salt=0x61626364 crypt=1
sa[0] key=0x34333231 38373635 32313039 36353433
-sa[1] rx ipaddr=0x00000000 00000000 00000000 037ba8c0
+sa[1] rx ipaddr=$srcip
sa[1] spi=0x00000009 proto=0x32 salt=0x61626364 crypt=1
sa[1] key=0x34333231 38373635 32313039 36353433
EOF
--
2.46.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 6.12.y 0/2] Fix rtnetlink.sh kselftest failures in stable
2025-02-08 18:55 [PATCH 6.12.y 0/2] Fix rtnetlink.sh kselftest failures in stable Harshit Mogalapalli
2025-02-08 18:55 ` [PATCH 6.12.y 1/2] netdevsim: print human readable IP address Harshit Mogalapalli
2025-02-08 18:55 ` [PATCH 6.12.y 2/2] selftests: rtnetlink: update netdevsim ipsec output format Harshit Mogalapalli
@ 2025-02-13 14:44 ` Harshit Mogalapalli
2025-02-13 14:51 ` Greg Kroah-Hartman
2 siblings, 1 reply; 5+ messages in thread
From: Harshit Mogalapalli @ 2025-02-13 14:44 UTC (permalink / raw)
To: stable, Greg Kroah-Hartman, Sasha Levin
Cc: davem, edumazet, horms, jiri, liuhangbin, kuba, netdev,
stfomichev, shannon.nelson, darren.kenny
Hi Greg,
On 09/02/25 00:25, Harshit Mogalapalli wrote:
> This is reproducible on on stable kernels after the backport of commit:
> 2cf567f421db ("netdevsim: copy addresses for both in and out paths") to
> stable kernels.
>
> Using a single cover letter for all stable kernels but will send
...
> Solution:
> ========
>
> Backport both the commits commit: c71bc6da6198 ("netdevsim: print human
> readable IP address") and script fixup commit: 3ec920bb978c ("selftests:
> rtnetlink: update netdevsim ipsec output format") to all stable kernels
> which have commit: 2cf567f421db ("netdevsim: copy addresses for both in
> and out paths") in them.
>
> Another clue to say this is right way to do this is that these above
> three patches did go as patchset into net/ [1].
>
> I am sending patches for all stable trees differently, however I am
> using same cover letter.
>
> Tested all stable kernels after patching. This failure is no more
> reproducible.
>
Ping on this series:
6.12.y:
https://lore.kernel.org/all/20250208185521.2998155-1-harshit.m.mogalapalli@oracle.com/
6.6.y:
https://lore.kernel.org/all/20250208185711.2998210-1-harshit.m.mogalapalli@oracle.com/
6.1.y:
https://lore.kernel.org/all/20250208185756.2998240-1-harshit.m.mogalapalli@oracle.com/
5.15.y:
https://lore.kernel.org/all/20250208185909.2998264-1-harshit.m.mogalapalli@oracle.com/
5.10.y:
https://lore.kernel.org/all/20250208190215.2998554-1-harshit.m.mogalapalli@oracle.com/
I noticed new stable rc tags being released, so pinging. Sorry if I
pinged before you got to these.
Thanks,
Harshit
> Thanks,
> Harshit
>
> [1] https://lore.kernel.org/all/172868703973.3018281.2970275743967117794.git-patchwork-notify@kernel.org/
>
>
> Hangbin Liu (2):
> netdevsim: print human readable IP address
> selftests: rtnetlink: update netdevsim ipsec output format
>
> drivers/net/netdevsim/ipsec.c | 12 ++++++++----
> tools/testing/selftests/net/rtnetlink.sh | 4 ++--
> 2 files changed, 10 insertions(+), 6 deletions(-)
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 6.12.y 0/2] Fix rtnetlink.sh kselftest failures in stable
2025-02-13 14:44 ` [PATCH 6.12.y 0/2] Fix rtnetlink.sh kselftest failures in stable Harshit Mogalapalli
@ 2025-02-13 14:51 ` Greg Kroah-Hartman
0 siblings, 0 replies; 5+ messages in thread
From: Greg Kroah-Hartman @ 2025-02-13 14:51 UTC (permalink / raw)
To: Harshit Mogalapalli
Cc: stable, Sasha Levin, davem, edumazet, horms, jiri, liuhangbin,
kuba, netdev, stfomichev, shannon.nelson, darren.kenny
On Thu, Feb 13, 2025 at 08:14:25PM +0530, Harshit Mogalapalli wrote:
> Hi Greg,
>
> On 09/02/25 00:25, Harshit Mogalapalli wrote:
> > This is reproducible on on stable kernels after the backport of commit:
> > 2cf567f421db ("netdevsim: copy addresses for both in and out paths") to
> > stable kernels.
> >
> > Using a single cover letter for all stable kernels but will send
> ...
> > Solution:
> > ========
> >
> > Backport both the commits commit: c71bc6da6198 ("netdevsim: print human
> > readable IP address") and script fixup commit: 3ec920bb978c ("selftests:
> > rtnetlink: update netdevsim ipsec output format") to all stable kernels
> > which have commit: 2cf567f421db ("netdevsim: copy addresses for both in
> > and out paths") in them.
> >
> > Another clue to say this is right way to do this is that these above
> > three patches did go as patchset into net/ [1].
> >
> > I am sending patches for all stable trees differently, however I am
> > using same cover letter.
> >
> > Tested all stable kernels after patching. This failure is no more
> > reproducible.
> >
>
> Ping on this series:
>
> 6.12.y: https://lore.kernel.org/all/20250208185521.2998155-1-harshit.m.mogalapalli@oracle.com/
>
> 6.6.y: https://lore.kernel.org/all/20250208185711.2998210-1-harshit.m.mogalapalli@oracle.com/
>
> 6.1.y: https://lore.kernel.org/all/20250208185756.2998240-1-harshit.m.mogalapalli@oracle.com/
>
> 5.15.y: https://lore.kernel.org/all/20250208185909.2998264-1-harshit.m.mogalapalli@oracle.com/
>
> 5.10.y: https://lore.kernel.org/all/20250208190215.2998554-1-harshit.m.mogalapalli@oracle.com/
>
> I noticed new stable rc tags being released, so pinging. Sorry if I pinged
> before you got to these.
No, thanks for the ping, these fell through the cracks, I'll queue them
up for the next round after these.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-02-13 15:39 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-08 18:55 [PATCH 6.12.y 0/2] Fix rtnetlink.sh kselftest failures in stable Harshit Mogalapalli
2025-02-08 18:55 ` [PATCH 6.12.y 1/2] netdevsim: print human readable IP address Harshit Mogalapalli
2025-02-08 18:55 ` [PATCH 6.12.y 2/2] selftests: rtnetlink: update netdevsim ipsec output format Harshit Mogalapalli
2025-02-13 14:44 ` [PATCH 6.12.y 0/2] Fix rtnetlink.sh kselftest failures in stable Harshit Mogalapalli
2025-02-13 14:51 ` Greg Kroah-Hartman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox