[LTP] [PATCH 1/1] rpc_test.sh: Check for rpcbind remote calls support
rbm@suse.com
rbm@suse.com
Mon Aug 4 22:05:22 CEST 2025
On Mon Aug 4, 2025 at 3:48 PM -03, Petr Vorel wrote:
> client binaries rpc_pmap_rmtcall and tirpc_rpcb_rmtcall require rpcbind
> compiled with remote calls. rpcbind has disabled remote calls by
> default in 1.2.5. But this was not detectable until 1.2.8, which brought
> this info in -v flag.
>
> Detect the support and skip on these 2 functions when disabled.
>
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
> Hi,
>
> BTW it'd be nice to investigate why the broadcast functions fail,
> enabling remote calls does not help, testing on:
> ./configure --enable-libwrap --enable-warmstarts --enable-debug --with-statedir=/run/rpcbind --with-rpcuser=rpc --with-systemdsystemunitdir=/usr/lib/systemd/system '--with-nss-modules=files usrfiles' --enable-rmtcalls
But did you start the daemon with `-r`? e.g.
# /sbin/rpcbind -f -w -r &
>
> Kind regards,
> Petr
>
> # PATH="/opt/ltp/testcases/bin:$PATH" ./rpc_test.sh -s rpc_svc_1 -c rpc_clnt_broadcast
> rpc_test.sh -s rpc_svc_1 -c rpc_clnt_broadcast
> rpc_test 1 TINFO: Running: rpc_test.sh -s rpc_svc_1 -c rpc_clnt_broadcast
> rpc_test 1 TINFO: Tested kernel: Linux ts 6.13.6-1-default #1 SMP PREEMPT_DYNAMIC Mon Mar 10 08:49:24 UTC 2025 (495d82a) x86_64 x86_64 x86_64 GNU/Linux
> rpc_test 1 TINFO: initialize 'lhost' 'ltp_ns_veth2' interface
> rpc_test 1 TINFO: add local addr 10.0.0.2/24
> rpc_test 1 TINFO: add local addr fd00:1:1:1::2/64
> rpc_test 1 TINFO: initialize 'rhost' 'ltp_ns_veth1' interface
> rpc_test 1 TINFO: add remote addr 10.0.0.1/24
> rpc_test 1 TINFO: add remote addr fd00:1:1:1::1/64
> rpc_test 1 TINFO: Network config (local -- remote):
> rpc_test 1 TINFO: ltp_ns_veth2 -- ltp_ns_veth1
> rpc_test 1 TINFO: 10.0.0.2/24 -- 10.0.0.1/24
> rpc_test 1 TINFO: fd00:1:1:1::2/64 -- fd00:1:1:1::1/64
> rpc_test 1 TINFO: timeout per run is 0h 5m 0s
> rpc_test 1 TINFO: check registered RPC with rpcinfo
> rpc_test 1 TINFO: registered RPC:
> program vers proto port service
> 100000 4 tcp 111 portmapper
> 100000 3 tcp 111 portmapper
> 100000 2 tcp 111 portmapper
> 100000 4 udp 111 portmapper
> 100000 3 udp 111 portmapper
> 100000 2 udp 111 portmapper
> 100005 1 udp 20048 mountd
> 100024 1 udp 36235 status
> 100005 1 tcp 20048 mountd
> 100024 1 tcp 60743 status
> 100005 2 udp 20048 mountd
> 100005 2 tcp 20048 mountd
> 100005 3 udp 20048 mountd
> 100005 3 tcp 20048 mountd
> 100003 3 tcp 2049 nfs
> 100003 4 tcp 2049 nfs
> 100227 3 tcp 2049 nfs_acl
> 100021 1 udp 40939 nlockmgr
> 100021 3 udp 40939 nlockmgr
> 100021 4 udp 40939 nlockmgr
> 100021 1 tcp 38047 nlockmgr
> 100021 3 tcp 38047 nlockmgr
> 100021 4 tcp 38047 nlockmgr
> rpc_test 1 TINFO: using libtirpc: yes
> rpc_test 1 TFAIL: rpc_clnt_broadcast 10.0.0.2 536875000 failed unexpectedly
> RPC: Timed out
> 1
> rpc_test 2 TINFO: SELinux enabled in enforcing mode, this may affect test results
> rpc_test 2 TINFO: it can be disabled with TST_DISABLE_SELINUX=1 (requires super/root)
> rpc_test 2 TINFO: loaded SELinux profiles: none
>
>
>
> testcases/network/rpc/rpc-tirpc/rpc_test.sh | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/testcases/network/rpc/rpc-tirpc/rpc_test.sh b/testcases/network/rpc/rpc-tirpc/rpc_test.sh
> index cadae55203..1a8cf46399 100755
> --- a/testcases/network/rpc/rpc-tirpc/rpc_test.sh
> +++ b/testcases/network/rpc/rpc-tirpc/rpc_test.sh
> @@ -53,6 +53,11 @@ setup()
> fi
> fi
>
> + if [ "$CLIENT" = 'rpc_pmap_rmtcall' -o "$CLIENT" = 'tirpc_rpcb_rmtcall' ] && \
> + rpcbind -v 2>/dev/null && rpcbind -v 2>&1 | grep -q 'remote calls: no'; then
> + tst_brk TCONF "skip due rpcbind compiled without remote calls"
> + fi
> +
Reviewed-by: Ricardo B. Marlière <rbm@suse.com>
Thanks!
> [ -n "$CLIENT" ] || tst_brk TBROK "client program not set"
> tst_check_cmds $CLIENT $SERVER || tst_brk TCONF "LTP compiled without TI-RPC support?"
>
More information about the ltp
mailing list