callrpc - Linux


Overview

callrpc is a user-space utility that provides a convenient way to invoke remote procedure calls (RPCs) to an RPC server. It enables communication with NFS on non-Unix platforms and serves as a primary tool for NFS debugging and testing.

Syntax

callrpc [-d level] [-p program] [-n host] [-t timeout] [-e] [-v [level]] service.procedure arg1 arg2 ...

Options/Flags

  • -d level: Set the debug level (default: 0)
  • -p program: Specify the RPC program number (default: 100005)
  • -n host: Specify the RPC server host (default: localhost)
  • -t timeout: Set the RPC timeout in seconds (default: 30)
  • -e: Print detailed error messages
  • -v level: Set verbose mode (0: errors, 1: warnings, 2: all)

Examples

Simple request:

callrpc localhost NFS 123 abc

Complex request with options:

callrpc -d 3 -t 60 -v 2 localhost NFS 123 abc

Common Issues

  • Permission denied error: Verify the RPC server’s security settings and ensure that the user has sufficient permissions.
  • RPC timeout: Increase the timeout limit using the -t option.
  • No such file or directory error: Check that the RPC server is running and the specified service is registered.

Integration

NFS debugging: callrpc can be used to manually invoke RPCs for diagnosing and resolving NFS issues.

Testing RPC servers: It enables testing the functionality and performance of RPC servers by sending manual requests.

Related Commands

  • rpcinfo
  • nfsstat