[LTP] [PATCH v2 1/1] ipneigh01.sh: Add workaround for ARP timeout
Richard Palethorpe
rpalethorpe@suse.de
Thu Nov 23 11:59:45 CET 2023
Hello
Petr Vorel <pvorel@suse.cz> writes:
> From: Xu Senmiao <xusenmiao@huawei.com>
>
> When the ARP status of the rhost is stale,
> lhost ping rhost and the lhost deletes the ARP record,
> the record in the rhost changes from stale to delay.
>
> Then, the probe request is sent to the lhost, and the lhost ARP
> information is updated.
>
> rhost(10.0.0.1) lhost(10.0.0.2)
> t1 10.0.0.2 STALE ping 10.0.0.1
> 10.0.0.1 REACHABLE
> arp -d 10.0.0.1
> t2 10.0.0.2 DELAY
> t3 probe 10.0.0.2
> t4 10.0.0.1 REACHABLE
>
> Clear the ARP entries of rhost before each round of test.
> This fixes an issue where ipneigh01_arp fail due to ARP timeout.
>
> Signed-off-by: Xu Senmiao <xusenmiao@huawei.com>
> [ pvorel: use $DEL_CMD ]
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
> Changes v1->v2:
> * Using DEL_CMD to fix working on system without arp installed.
>
> Xu, can you confirm that it fixes your problem?
> Also, do you have this problem also on IPv6?
> Could you test both arp and ip?
> Also, do you have any idea why rhost get stale?
We need an answer to why the rhost is stale before merging this. It's
not clear that there is a test bug.
I will set this to changes requested in patchwork.
>
> Kind regards,
> Petr
>
> testcases/network/tcp_cmds/ipneigh/ipneigh01.sh | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/testcases/network/tcp_cmds/ipneigh/ipneigh01.sh b/testcases/network/tcp_cmds/ipneigh/ipneigh01.sh
> index e67ff5cc8..f37241d49 100755
> --- a/testcases/network/tcp_cmds/ipneigh/ipneigh01.sh
> +++ b/testcases/network/tcp_cmds/ipneigh/ipneigh01.sh
> @@ -19,14 +19,14 @@ do_setup()
> case $CMD in
> ip)
> SHOW_CMD="ip neigh show"
> - DEL_CMD="ROD ip neigh del $(tst_ipaddr rhost) dev $(tst_iface)"
> + DEL_CMD="ip neigh del $(tst_ipaddr rhost) dev $(tst_iface)"
> ;;
> arp)
> if [ -n "$TST_IPV6" ]; then
> tst_brk TCONF "'arp' doesn't support IPv6"
> fi
> SHOW_CMD="arp -an"
> - DEL_CMD="ROD arp -d $(tst_ipaddr rhost) -i $(tst_iface)"
> + DEL_CMD="arp -d $(tst_ipaddr rhost) -i $(tst_iface)"
> ;;
> *)
> tst_brk TBROK "unknown or missing command, use -c [ arp | ip ]"
> @@ -56,6 +56,7 @@ do_test()
> tst_res TINFO "stress auto-creation $entry_name cache entry deleted with '$CMD' $NUMLOOPS times"
>
> for i in $(seq 1 $NUMLOOPS); do
> + $DEL_CMD
>
> ping$TST_IPV6 -q -c1 $(tst_ipaddr rhost) -I $(tst_iface) > /dev/null || \
> tst_brk TFAIL "cannot ping $(tst_ipaddr rhost)"
> @@ -74,7 +75,7 @@ do_test()
> [ "$ret" -ne 0 ] && \
> tst_brk TFAIL "$entry_name entry '$(tst_ipaddr rhost)' not listed"
>
> - $DEL_CMD
> + ROD $DEL_CMD
>
> $SHOW_CMD | grep -q "$(tst_ipaddr rhost).*$(tst_hwaddr rhost)" && \
> tst_brk TFAIL "'$DEL_CMD' failed, entry has " \
> --
> 2.40.1
--
Thank you,
Richard.
More information about the ltp
mailing list