netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Question] Any config needed for packetdrill testing?
@ 2025-04-14 12:52 Hangbin Liu
  2025-04-14 17:13 ` Jakub Kicinski
  0 siblings, 1 reply; 4+ messages in thread
From: Hangbin Liu @ 2025-04-14 12:52 UTC (permalink / raw)
  To: Willem de Bruijn; +Cc: netdev

Hi Willem,

I tried to run packetdrill in selftest, but doesn't work. e.g.

# rpm -q packetdrill
packetdrill-2.0~20220927gitc556afb-10.fc41.x86_64
# make mrproper
# vng --build \
            --config tools/testing/selftests/net/packetdrill/config \
            --config kernel/configs/debug.config
# vng -v --run . --user root --cpus 4 -- \
            make -C tools/testing/selftests TARGETS=net/packetdrill run_tests
make: Entering directory '/home/net/tools/testing/selftests'
make[1]: Nothing to be done for 'all'.
TAP version 13                                                                                                                  1..66
# timeout set to 45
# selftests: net/packetdrill: tcp_blocking_blocking-accept.pkt
# TAP version 13
# 1..2
#
not ok 1 selftests: net/packetdrill: tcp_blocking_blocking-accept.pkt # TIMEOUT 45 seconds
# timeout set to 45
# selftests: net/packetdrill: tcp_blocking_blocking-connect.pkt
# TAP version 13
# 1..2
# tcp_blocking_blocking-connect.pkt:13: error handling packet: live packet field ipv4_total_length: expected: 40 (0x28) vs actua
l: 60 (0x3c)
# script packet:  0.234272 . 1:1(0) ack 1
# actual packet:  1.136447 S 0:0(0) win 65535 <mss 1460,sackOK,TS val 3684156121 ecr 0,nop,wscale 8>
# not ok 1 ipv4
# ok 2 ipv6
# # Totals: pass:1 fail:1 xfail:0 xpass:0 skip:0 error:0
not ok 2 selftests: net/packetdrill: tcp_blocking_blocking-connect.pkt # exit=1

All the test failed. Even I use ksft_runner.sh it also failed.

# ./ksft_runner.sh tcp_inq_client.pkt
TAP version 13
1..2
tcp_inq_client.pkt:17: error handling packet: live packet field ipv4_total_length: expected: 52 (0x34) vs actual: 60 (0x3c)
script packet:  0.013980 . 1:1(0) ack 1 <nop,nop,TS val 200 ecr 700>
actual packet:  1.056058 S 0:0(0) win 65535 <mss 1460,sackOK,TS val 1154 ecr 0,nop,wscale 8>
not ok 1 ipv4
ok 2 ipv6
# Totals: pass:1 fail:1 xfail:0 xpass:0 skip:0 error:0
# echo $?
1

Is there any special config needed for packetdrill testing?

Thanks
Hangbin

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Question] Any config needed for packetdrill testing?
  2025-04-14 12:52 [Question] Any config needed for packetdrill testing? Hangbin Liu
@ 2025-04-14 17:13 ` Jakub Kicinski
  2025-04-14 18:29   ` Willem de Bruijn
  0 siblings, 1 reply; 4+ messages in thread
From: Jakub Kicinski @ 2025-04-14 17:13 UTC (permalink / raw)
  To: Hangbin Liu; +Cc: Willem de Bruijn, netdev

On Mon, 14 Apr 2025 12:52:19 +0000 Hangbin Liu wrote:
> Hi Willem,
> 
> I tried to run packetdrill in selftest, but doesn't work. e.g.
> 
> # rpm -q packetdrill
> packetdrill-2.0~20220927gitc556afb-10.fc41.x86_64
> # make mrproper
> # vng --build \
>             --config tools/testing/selftests/net/packetdrill/config \
>             --config kernel/configs/debug.config
> # vng -v --run . --user root --cpus 4 -- \
>             make -C tools/testing/selftests TARGETS=net/packetdrill run_tests
> make: Entering directory '/home/net/tools/testing/selftests'
> make[1]: Nothing to be done for 'all'.
> TAP version 13                                                                                                                  1..66
> # timeout set to 45
> # selftests: net/packetdrill: tcp_blocking_blocking-accept.pkt
> # TAP version 13
> # 1..2
> #
> not ok 1 selftests: net/packetdrill: tcp_blocking_blocking-accept.pkt # TIMEOUT 45 seconds
> # timeout set to 45
> # selftests: net/packetdrill: tcp_blocking_blocking-connect.pkt
> # TAP version 13
> # 1..2
> # tcp_blocking_blocking-connect.pkt:13: error handling packet: live packet field ipv4_total_length: expected: 40 (0x28) vs actua
> l: 60 (0x3c)
> # script packet:  0.234272 . 1:1(0) ack 1
> # actual packet:  1.136447 S 0:0(0) win 65535 <mss 1460,sackOK,TS val 3684156121 ecr 0,nop,wscale 8>
> # not ok 1 ipv4
> # ok 2 ipv6
> # # Totals: pass:1 fail:1 xfail:0 xpass:0 skip:0 error:0
> not ok 2 selftests: net/packetdrill: tcp_blocking_blocking-connect.pkt # exit=1
> 
> All the test failed. Even I use ksft_runner.sh it also failed.
> 
> # ./ksft_runner.sh tcp_inq_client.pkt
> TAP version 13
> 1..2
> tcp_inq_client.pkt:17: error handling packet: live packet field ipv4_total_length: expected: 52 (0x34) vs actual: 60 (0x3c)
> script packet:  0.013980 . 1:1(0) ack 1 <nop,nop,TS val 200 ecr 700>
> actual packet:  1.056058 S 0:0(0) win 65535 <mss 1460,sackOK,TS val 1154 ecr 0,nop,wscale 8>
> not ok 1 ipv4
> ok 2 ipv6
> # Totals: pass:1 fail:1 xfail:0 xpass:0 skip:0 error:0
> # echo $?
> 1
> 
> Is there any special config needed for packetdrill testing?

FWIW we don't do anything special for packetdrill in NIPA.
Here is the config and the build logs:

https://netdev-3.bots.linux.dev/vmksft-packetdrill/results/75222/config
https://netdev-3.bots.linux.dev/vmksft-packetdrill/results/77484/build/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Question] Any config needed for packetdrill testing?
  2025-04-14 17:13 ` Jakub Kicinski
@ 2025-04-14 18:29   ` Willem de Bruijn
  2025-04-15  8:11     ` Hangbin Liu
  0 siblings, 1 reply; 4+ messages in thread
From: Willem de Bruijn @ 2025-04-14 18:29 UTC (permalink / raw)
  To: Jakub Kicinski, Hangbin Liu; +Cc: Willem de Bruijn, netdev

Jakub Kicinski wrote:
> On Mon, 14 Apr 2025 12:52:19 +0000 Hangbin Liu wrote:
> > Hi Willem,
> > 
> > I tried to run packetdrill in selftest, but doesn't work. e.g.
> > 
> > # rpm -q packetdrill
> > packetdrill-2.0~20220927gitc556afb-10.fc41.x86_64
> > # make mrproper
> > # vng --build \
> >             --config tools/testing/selftests/net/packetdrill/config \
> >             --config kernel/configs/debug.config
> > # vng -v --run . --user root --cpus 4 -- \
> >             make -C tools/testing/selftests TARGETS=net/packetdrill run_tests
> > make: Entering directory '/home/net/tools/testing/selftests'
> > make[1]: Nothing to be done for 'all'.
> > TAP version 13                                                                                                                  1..66
> > # timeout set to 45
> > # selftests: net/packetdrill: tcp_blocking_blocking-accept.pkt
> > # TAP version 13
> > # 1..2
> > #
> > not ok 1 selftests: net/packetdrill: tcp_blocking_blocking-accept.pkt # TIMEOUT 45 seconds
> > # timeout set to 45
> > # selftests: net/packetdrill: tcp_blocking_blocking-connect.pkt
> > # TAP version 13
> > # 1..2
> > # tcp_blocking_blocking-connect.pkt:13: error handling packet: live packet field ipv4_total_length: expected: 40 (0x28) vs actua
> > l: 60 (0x3c)
> > # script packet:  0.234272 . 1:1(0) ack 1
> > # actual packet:  1.136447 S 0:0(0) win 65535 <mss 1460,sackOK,TS val 3684156121 ecr 0,nop,wscale 8>
> > # not ok 1 ipv4
> > # ok 2 ipv6
> > # # Totals: pass:1 fail:1 xfail:0 xpass:0 skip:0 error:0
> > not ok 2 selftests: net/packetdrill: tcp_blocking_blocking-connect.pkt # exit=1
> > 
> > All the test failed. Even I use ksft_runner.sh it also failed.
> > 
> > # ./ksft_runner.sh tcp_inq_client.pkt
> > TAP version 13
> > 1..2
> > tcp_inq_client.pkt:17: error handling packet: live packet field ipv4_total_length: expected: 52 (0x34) vs actual: 60 (0x3c)
> > script packet:  0.013980 . 1:1(0) ack 1 <nop,nop,TS val 200 ecr 700>
> > actual packet:  1.056058 S 0:0(0) win 65535 <mss 1460,sackOK,TS val 1154 ecr 0,nop,wscale 8>
> > not ok 1 ipv4
> > ok 2 ipv6
> > # Totals: pass:1 fail:1 xfail:0 xpass:0 skip:0 error:0
> > # echo $?
> > 1
> > 
> > Is there any special config needed for packetdrill testing?
> 
> FWIW we don't do anything special for packetdrill in NIPA.
> Here is the config and the build logs:
> 
> https://netdev-3.bots.linux.dev/vmksft-packetdrill/results/75222/config
> https://netdev-3.bots.linux.dev/vmksft-packetdrill/results/77484/build/

Nothing special should be required, indeed.

Individual git commits also have explicit examples of how the code was
built and tested. Such as

commit 88395c071f08 ("selftests/net: packetdrill: import tcp/ecn, tcp/close, tcp/sack, tcp/tcp_info")

    make mrproper
    vng --build \
        --config tools/testing/selftests/net/packetdrill/config \
        --config kernel/configs/debug.config
    vng -v --run . --user root --cpus 4 -- \
        make -C tools/testing/selftests TARGETS=net/packetdrill run_tests

and commit 8a405552fd3b ("selftests/net: integrate packetdrill with ksft"):

    Tested:
            make -C tools/testing/selftests \
              TARGETS=net/packetdrill \
              run_tests
    
            make -C tools/testing/selftests \
              TARGETS=net/packetdrill \
              install INSTALL_PATH=$KSFT_INSTALL_PATH
    
            # in virtme-ng
            ./run_kselftest.sh -c net/packetdrill
            ./run_kselftest.sh -t net/packetdrill:tcp_inq_client.pkt

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Question] Any config needed for packetdrill testing?
  2025-04-14 18:29   ` Willem de Bruijn
@ 2025-04-15  8:11     ` Hangbin Liu
  0 siblings, 0 replies; 4+ messages in thread
From: Hangbin Liu @ 2025-04-15  8:11 UTC (permalink / raw)
  To: Willem de Bruijn; +Cc: Jakub Kicinski, Willem de Bruijn, netdev

On Mon, Apr 14, 2025 at 02:29:45PM -0400, Willem de Bruijn wrote:
> Jakub Kicinski wrote:
> > On Mon, 14 Apr 2025 12:52:19 +0000 Hangbin Liu wrote:
> > > Hi Willem,
> > > 
> > > I tried to run packetdrill in selftest, but doesn't work. e.g.
> > > 
> > > # rpm -q packetdrill
> > > packetdrill-2.0~20220927gitc556afb-10.fc41.x86_64
> > > # make mrproper
> > > # vng --build \
> > >             --config tools/testing/selftests/net/packetdrill/config \
> > >             --config kernel/configs/debug.config
> > > # vng -v --run . --user root --cpus 4 -- \
> > >             make -C tools/testing/selftests TARGETS=net/packetdrill run_tests
> > > make: Entering directory '/home/net/tools/testing/selftests'
> > > make[1]: Nothing to be done for 'all'.
> > > TAP version 13                                                                                                                  1..66
> > > # timeout set to 45
> > > # selftests: net/packetdrill: tcp_blocking_blocking-accept.pkt
> > > # TAP version 13
> > > # 1..2
> > > #
> > > not ok 1 selftests: net/packetdrill: tcp_blocking_blocking-accept.pkt # TIMEOUT 45 seconds
> > > # timeout set to 45
> > > # selftests: net/packetdrill: tcp_blocking_blocking-connect.pkt
> > > # TAP version 13
> > > # 1..2
> > > # tcp_blocking_blocking-connect.pkt:13: error handling packet: live packet field ipv4_total_length: expected: 40 (0x28) vs actua
> > > l: 60 (0x3c)
> > > # script packet:  0.234272 . 1:1(0) ack 1
> > > # actual packet:  1.136447 S 0:0(0) win 65535 <mss 1460,sackOK,TS val 3684156121 ecr 0,nop,wscale 8>
> > > # not ok 1 ipv4
> > > # ok 2 ipv6
> > > # # Totals: pass:1 fail:1 xfail:0 xpass:0 skip:0 error:0
> > > not ok 2 selftests: net/packetdrill: tcp_blocking_blocking-connect.pkt # exit=1
> > > 
> > > All the test failed. Even I use ksft_runner.sh it also failed.
> > > 
> > > # ./ksft_runner.sh tcp_inq_client.pkt
> > > TAP version 13
> > > 1..2
> > > tcp_inq_client.pkt:17: error handling packet: live packet field ipv4_total_length: expected: 52 (0x34) vs actual: 60 (0x3c)
> > > script packet:  0.013980 . 1:1(0) ack 1 <nop,nop,TS val 200 ecr 700>
> > > actual packet:  1.056058 S 0:0(0) win 65535 <mss 1460,sackOK,TS val 1154 ecr 0,nop,wscale 8>
> > > not ok 1 ipv4
> > > ok 2 ipv6
> > > # Totals: pass:1 fail:1 xfail:0 xpass:0 skip:0 error:0
> > > # echo $?
> > > 1
> > > 
> > > Is there any special config needed for packetdrill testing?
> > 
> > FWIW we don't do anything special for packetdrill in NIPA.
> > Here is the config and the build logs:
> > 
> > https://netdev-3.bots.linux.dev/vmksft-packetdrill/results/75222/config
> > https://netdev-3.bots.linux.dev/vmksft-packetdrill/results/77484/build/
> 
> Nothing special should be required, indeed.
> 
> Individual git commits also have explicit examples of how the code was
> built and tested. Such as
> 
> commit 88395c071f08 ("selftests/net: packetdrill: import tcp/ecn, tcp/close, tcp/sack, tcp/tcp_info")
> 
>     make mrproper
>     vng --build \
>         --config tools/testing/selftests/net/packetdrill/config \
>         --config kernel/configs/debug.config
>     vng -v --run . --user root --cpus 4 -- \
>         make -C tools/testing/selftests TARGETS=net/packetdrill run_tests
> 
> and commit 8a405552fd3b ("selftests/net: integrate packetdrill with ksft"):
> 
>     Tested:
>             make -C tools/testing/selftests \
>               TARGETS=net/packetdrill \
>               run_tests
>     
>             make -C tools/testing/selftests \
>               TARGETS=net/packetdrill \
>               install INSTALL_PATH=$KSFT_INSTALL_PATH
>     
>             # in virtme-ng
>             ./run_kselftest.sh -c net/packetdrill
>             ./run_kselftest.sh -t net/packetdrill:tcp_inq_client.pkt

Thanks, after debugging, I found the fedora packetdrill using cmake to
build, which cause the all the test failed. After using glibc-static to
build the packetdrill, all the test passed.

Although I'm not sure why cmake does not work.

Thanks
Hangbin

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-04-15  8:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-14 12:52 [Question] Any config needed for packetdrill testing? Hangbin Liu
2025-04-14 17:13 ` Jakub Kicinski
2025-04-14 18:29   ` Willem de Bruijn
2025-04-15  8:11     ` Hangbin Liu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).