On 3/9/18 5:38 PM, Matt Benjamin wrote:
I might be missing something, but it looked to me like the trick to talking to nfs-ganesha is to bypass the binder more-or-less as an nfsv4 backchannel does.
I'm not sure this is a good idea, unless we are really desperate for Ganesha numbers. I've already shown that we get 85,000 per second in ntirpc itself, which should be more than enough for now. The backchannel works because we already have a forward channel. Let's figure out why rpcbind isn't working on our systems. Or SE Linux isn't allowing contact. Or whatever. Needs a lot better debugging output than a single message number for all such problems. There are sub-message numbers in rpcbind and getnetconfig and getnetpath, but they aren't being reported. I've looked into replacing their annoying thread-local-variables.
I look forward to all the flames.
This doesn't handle IPv6, unlike my previous commit. That needs to be fixed before this is approved. Traditionally (that is ping and traceroute), we'd have -4 and -6 for 4-only and 6-only respectively. Presumably we will handle raw interface via rpcbind, as existing. But the Usage information is incorrect.
You can view, comment on, or merge this pull request online at: https://github.com/nfs-ganesha/ntirpc/pull/115 Commit Summary * rpcping: permit binding by connected socket (omitting bind) * rpcping: hook old and new opts via getopt_long_only
Not a big fan of making every parameter require a - flag. Prefer required parameters to be positional. Obviously the original coder agreed with me on that point! Protocol is always required, and makes sense to be the first positional parameter. rpcping <raw|rdma|tcp|udp> [<destination>] Because for raw, destination is unused, it should be the last positional parameter. If you really must have a flag, traditionally -P for --protocol. It does make it easier to change some optional parameters without regard to their order. You are missing process. Let's use -s for --process <process>, -m for --program <program>. I'd already specified defaults. Also -b for --rpcbind -- you have a boolean rpcbind flag, but nothing to set it yet. Traditional -p for --port, -c for --count (as-is). That leaves -t for --threads (as-is), -v for --version (as-is). I've already specified defaults. I'm sure there is some package out there that handles "-" and "--. Use the same as traceroute? ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Nfs-ganesha-devel mailing list Nfs-ganesha-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel