Skip to content

Add ping tool as a separately-releasable application module - #1

Merged
JohnAmadis merged 1 commit into
mainfrom
claude/ping-tool-wtzn00
Sep 17, 2026
Merged

JohnAmadis merged 1 commit into
mainfrom
claude/ping-tool-wtzn00

Conversation

@JohnAmadis

Copy link
Copy Markdown
Contributor

Summary

  • Adds ping, a CLI to send ICMPv4 Echo Requests and report replies, under tools/ping - a command in dmicmp's new tools/ directory, following the same pattern dmnet/tools/ifconfig and dmnet/tools/ip already use in the ecosystem.
  • ping is its own Application-type DMOD module (own CMakeLists.txt + ping.dmr), so every tagged release of this repo now also packages ping-<tag>-<arch>.zip alongside dmicmp itself - no change to .github/workflows/release.yml was needed, since it already discovers and packages every module under build/packages/*.
  • ping is a thin CLI over dmicmp's existing Echo Request/Reply API (dmicmp_v4_send_echo_request(), dmicmp_register_echo_listener()/_unregister_echo_listener()) - it builds/parses no ICMP bytes itself. It links dmicmp's own dmicmp_if target directly (a same-repo sibling module, like tests/CMakeLists.txt already does) rather than fetching dmicmp's headers back from GitHub as if it were external.
  • Supports -c <count>, -i <interval_ms>, -W <timeout_ms>, -s <size>, and requires a literal IPv4 address (no hostname resolution, no ICMPv6 send path yet - same limitation dmicmp itself documents).
  • Adds tools/ping/tests/ping_test.c, driven through Dmod_RunModule("ping", ...) the same way ifconfig_test.c drives ifconfig, plus docs/ and a README.md for the new module.

Test plan

  • cmake configure succeeds with a local dmod checkout and correctly wires the ping/test_ping targets (verified locally; this sandbox has no dmf-get/network access to run a full build or ctest, same as CI's containerized build)
  • tools/ping/src/ping.c and tools/ping/tests/ping_test.c compile cleanly (gcc -fsyntax-only -Wall -Wextra) against the real dmicmp/dmip/dmroute/dmnetif/dmarp/dmosi headers from their published repos
  • CI (.github/workflows/ci.yml) builds dmicmp + ping and runs test_dmicmp/test_ping via dmod_loader

🤖 Generated with Claude Code

https://claude.ai/code/session_01V4i6Vs6fjG9cdHGj3AMpD5


Generated by Claude Code

ping lives under tools/ping as its own Application-type DMOD module,
built on dmicmp's existing Echo Request/Reply API
(dmicmp_v4_send_echo_request(), dmicmp_register_echo_listener()). Like
dmnet's tools/ifconfig, it gets its own CMakeLists.txt + .dmr, so every
tagged release packages ping-<tag>-<arch>.zip alongside dmicmp itself.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V4i6Vs6fjG9cdHGj3AMpD5
@JohnAmadis
JohnAmadis merged commit d609dd2 into main Sep 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants