#
b9d5f571 |
| 10-May-2024 |
Jakub Kicinski <kuba@kernel.org> |
selftests: net: increase the delay for relative cmsg_time.sh test
Slow machines can delay scheduling of the packets for milliseconds. Increase the delay to 8ms if KSFT_MACHINE_SLOW. Try to limit the
selftests: net: increase the delay for relative cmsg_time.sh test
Slow machines can delay scheduling of the packets for milliseconds. Increase the delay to 8ms if KSFT_MACHINE_SLOW. Try to limit the variability by moving setsockopts earlier (before we read time).
This fixes the "TXTIME rel" failures on debug kernels, like:
Case ICMPv4 - TXTIME rel returned '', expected 'OK'
Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://lore.kernel.org/r/20240510005705.43069-2-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
#
2d3b8dfd |
| 10-May-2024 |
Jakub Kicinski <kuba@kernel.org> |
selftests: net: fix timestamp not arriving in cmsg_time.sh
On slow machines the SND timestamp sometimes doesn't arrive before we quit. The test only waits as long as the packet delay, so it's easy f
selftests: net: fix timestamp not arriving in cmsg_time.sh
On slow machines the SND timestamp sometimes doesn't arrive before we quit. The test only waits as long as the packet delay, so it's easy for a race condition to happen.
Double the wait but do a bit of polling, once the SND timestamp arrives there's no point to wait any longer.
This fixes the "TXTIME abs" failures on debug kernels, like:
Case ICMPv4 - TXTIME abs returned '', expected 'OK'
Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://lore.kernel.org/r/20240510005705.43069-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
#
7b29828c |
| 24-Nov-2023 |
Willem de Bruijn <willemb@google.com> |
selftests/net: fix a char signedness issue
Signedness of char is signed on x86_64, but unsigned on arm64.
Fix the warning building cmsg_sender.c on signed platforms or forced with -fsigned-char:
selftests/net: fix a char signedness issue
Signedness of char is signed on x86_64, but unsigned on arm64.
Fix the warning building cmsg_sender.c on signed platforms or forced with -fsigned-char:
msg_sender.c:455:12: error: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Werror,-Wconstant-conversion] buf[0] = ICMPV6_ECHO_REQUEST;
constant ICMPV6_ECHO_REQUEST is 128.
Link: https://lwn.net/Articles/911914 Fixes: de17e305a810 ("selftests: net: cmsg_sender: support icmp and raw sockets") Signed-off-by: Willem de Bruijn <willemb@google.com> Link: https://lore.kernel.org/r/20231124171645.1011043-3-willemdebruijn.kernel@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
#
a0bc96c0 |
| 16-Nov-2023 |
Willem de Bruijn <willemb@google.com> |
selftests: net: verify fq per-band packet limit
Commit 29f834aa326e ("net_sched: sch_fq: add 3 bands and WRR scheduling") introduces multiple traffic bands, and per-band maximum packet count.
Per-b
selftests: net: verify fq per-band packet limit
Commit 29f834aa326e ("net_sched: sch_fq: add 3 bands and WRR scheduling") introduces multiple traffic bands, and per-band maximum packet count.
Per-band limits ensures that packets in one class cannot fill the entire qdisc and so cause DoS to the traffic in the other classes.
Verify this behavior: 1. set the limit to 10 per band 2. send 20 pkts on band A: verify that 10 are queued, 10 dropped 3. send 20 pkts on band A: verify that 0 are queued, 20 dropped 4. send 20 pkts on band B: verify that 10 are queued, 10 dropped
Packets must remain queued for a period to trigger this behavior. Use SO_TXTIME to store packets for 100 msec.
The test reuses existing upstream test infra. The script is a fork of cmsg_time.sh. The scripts call cmsg_sender.
The test extends cmsg_sender with two arguments:
* '-P' SO_PRIORITY There is a subtle difference between IPv4 and IPv6 stack behavior: PF_INET/IP_TOS sets IP header bits and sk_priority PF_INET6/IPV6_TCLASS sets IP header bits BUT NOT sk_priority
* '-n' num pkts Send multiple packets in quick succession. I first attempted a for loop in the script, but this is too slow in virtualized environments, causing flakiness as the 100ms timeout is reached and packets are dequeued.
Also do not wait for timestamps to be queued unless timestamps are requested.
Signed-off-by: Willem de Bruijn <willemb@google.com> Reviewed-by: Simon Horman <horms@kernel.org> Reviewed-by: Eric Dumazet <edumazet@google.com> Link: https://lore.kernel.org/r/20231116203449.2627525-1-willemdebruijn.kernel@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
#
1573c688 |
| 29-Dec-2022 |
Po-Hsu Lin <po-hsu.lin@canonical.com> |
selftests: net: fix cmsg_so_mark.sh test hang
This cmsg_so_mark.sh test will hang on non-amd64 systems because of the infinity loop for argument parsing in cmsg_sender.
Variable "o" in cs_parse_arg
selftests: net: fix cmsg_so_mark.sh test hang
This cmsg_so_mark.sh test will hang on non-amd64 systems because of the infinity loop for argument parsing in cmsg_sender.
Variable "o" in cs_parse_args() for taking getopt() should be an int, otherwise it will be 255 when getopt() returns -1 on non-amd64 system and thus causing infinity loop.
Link: https://lore.kernel.org/lkml/CA+G9fYsM2k7mrF7W4V_TrZ-qDauWM394=8yEJ=-t1oUg8_40YA@mail.gmail.com/t/ Signed-off-by: Po-Hsu Lin <po-hsu.lin@canonical.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
dbdd9a28 |
| 01-Jul-2022 |
Li kunyu <kunyu@nfschina.com> |
net/cmsg_sender: Remove a semicolon
Remove the repeated ';' from code.
Signed-off-by: Li kunyu <kunyu@nfschina.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
1abea24a |
| 16-Mar-2022 |
Guo Zhengkui <guozhengkui@vivo.com> |
selftests: net: fix array_size.cocci warning
Fix array_size.cocci warning in tools/testing/selftests/net.
Use `ARRAY_SIZE(arr)` instead of forms like `sizeof(arr)/sizeof(arr[0])`.
It has been test
selftests: net: fix array_size.cocci warning
Fix array_size.cocci warning in tools/testing/selftests/net.
Use `ARRAY_SIZE(arr)` instead of forms like `sizeof(arr)/sizeof(arr[0])`.
It has been tested with gcc (Debian 8.3.0-6) 8.3.0.
Signed-off-by: Guo Zhengkui <guozhengkui@vivo.com> Link: https://lore.kernel.org/r/20220316092858.9398-1-guozhengkui@vivo.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
show more ...
|
#
a22982c3 |
| 17-Feb-2022 |
Jakub Kicinski <kuba@kernel.org> |
selftests: net: basic test for IPV6_2292*
Add a basic test to make sure ping sockets don't crash with IPV6_2292* options.
Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Mil
selftests: net: basic test for IPV6_2292*
Add a basic test to make sure ping sockets don't crash with IPV6_2292* options.
Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
05ae83d5 |
| 17-Feb-2022 |
Jakub Kicinski <kuba@kernel.org> |
selftests: net: test IPV6_HOPLIMIT
Test setting IPV6_HOPLIMIT via setsockopt and cmsg across socket types.
Output without the kernel support (this series):
Case HOPLIMIT ICMP cmsg - packet data
selftests: net: test IPV6_HOPLIMIT
Test setting IPV6_HOPLIMIT via setsockopt and cmsg across socket types.
Output without the kernel support (this series):
Case HOPLIMIT ICMP cmsg - packet data returned 1, expected 0 Case HOPLIMIT ICMP diff - packet data returned 1, expected 0
Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
9657ad09 |
| 17-Feb-2022 |
Jakub Kicinski <kuba@kernel.org> |
selftests: net: test IPV6_TCLASS
Test setting IPV6_TCLASS via setsockopt and cmsg across socket types.
Output without the kernel support (this series):
Case TCLASS ICMP cmsg - packet data return
selftests: net: test IPV6_TCLASS
Test setting IPV6_TCLASS via setsockopt and cmsg across socket types.
Output without the kernel support (this series):
Case TCLASS ICMP cmsg - packet data returned 1, expected 0 Case TCLASS ICMP cmsg - rejection returned 0, expected 1 Case TCLASS ICMP diff - pass returned 1, expected 0 Case TCLASS ICMP diff - packet data returned 1, expected 0 Case TCLASS ICMP diff - rejection returned 0, expected 1
Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
6f97c7c6 |
| 17-Feb-2022 |
Jakub Kicinski <kuba@kernel.org> |
selftests: net: test IPV6_DONTFRAG
Test setting IPV6_DONTFRAG via setsockopt and cmsg across socket types.
Output without the kernel support (this series):
Case DONTFRAG ICMP setsock returned
selftests: net: test IPV6_DONTFRAG
Test setting IPV6_DONTFRAG via setsockopt and cmsg across socket types.
Output without the kernel support (this series):
Case DONTFRAG ICMP setsock returned 0, expected 1 Case DONTFRAG ICMP cmsg returned 0, expected 1 Case DONTFRAG ICMP both returned 0, expected 1 Case DONTFRAG ICMP diff returned 0, expected 1 FAIL - 4/24 cases failed
Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
12d8c111 |
| 14-Feb-2022 |
Colin Ian King <colin.i.king@gmail.com> |
selftests: net: cmsg_sender: Fix spelling mistake "MONOTINIC" -> "MONOTONIC"
There is a spelling mistake in an error message. Fix it.
Signed-off-by: Colin Ian King <colin.i.king@gmail.com> Signed-o
selftests: net: cmsg_sender: Fix spelling mistake "MONOTINIC" -> "MONOTONIC"
There is a spelling mistake in an error message. Fix it.
Signed-off-by: Colin Ian King <colin.i.king@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
eb8f3116 |
| 10-Feb-2022 |
Jakub Kicinski <kuba@kernel.org> |
selftests: net: cmsg_sender: support Tx timestamping
Support requesting Tx timestamps:
$ ./cmsg_sender -p i -t -4 $tgt 123 -d 1000 SCHED ts0 61us SND ts0 1071us
Signed-off-by: Jakub Kicinski
selftests: net: cmsg_sender: support Tx timestamping
Support requesting Tx timestamps:
$ ./cmsg_sender -p i -t -4 $tgt 123 -d 1000 SCHED ts0 61us SND ts0 1071us
Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
4d397424 |
| 10-Feb-2022 |
Jakub Kicinski <kuba@kernel.org> |
selftests: net: cmsg_sender: support setting SO_TXTIME
Add ability to send delayed packets.
Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
9bbfbc92 |
| 10-Feb-2022 |
Jakub Kicinski <kuba@kernel.org> |
selftests: net: cmsg_so_mark: test with SO_MARK set by setsockopt
Test if setting SO_MARK with setsockopt works and if cmsg takes precedence over it.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
selftests: net: cmsg_so_mark: test with SO_MARK set by setsockopt
Test if setting SO_MARK with setsockopt works and if cmsg takes precedence over it.
Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
de17e305 |
| 10-Feb-2022 |
Jakub Kicinski <kuba@kernel.org> |
selftests: net: cmsg_sender: support icmp and raw sockets
Support sending fake ICMP(v6) messages and UDP via RAW sockets.
Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Mil
selftests: net: cmsg_sender: support icmp and raw sockets
Support sending fake ICMP(v6) messages and UDP via RAW sockets.
Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
49b78613 |
| 10-Feb-2022 |
Jakub Kicinski <kuba@kernel.org> |
selftests: net: make cmsg_so_mark ready for more options
Parametrize the code so that it can support UDP and ICMP sockets in the future, and more cmsg types.
Signed-off-by: Jakub Kicinski <kuba@ker
selftests: net: make cmsg_so_mark ready for more options
Parametrize the code so that it can support UDP and ICMP sockets in the future, and more cmsg types.
Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
a086ee24 |
| 10-Feb-2022 |
Jakub Kicinski <kuba@kernel.org> |
selftests: net: rename cmsg_so_mark
Rename the file in prep for generalization.
Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
|