non-blocking ICMPv4 library for network diagnostic tools on POSIX systems.
Find a file
lohhiiccc ad7698d530 feat: add icmp_set_dont_fragment and next_mtu extraction
- Add icmp_set_dont_fragment() using IP_MTU_DISCOVER/IP_PMTUDISC_DO
- Add next_mtu field to icmp_offending_packet_t, populated from the
  outer ICMP header on type=3/code=4 (frag needed) replies
- Fix extract_offending: read MTU from outer ICMP, not embedded packet
- Update test to match corrected extraction semantics
- Clean up checksum odd-byte handling with a static zero sentinel
2026-03-13 03:21:35 +01:00
examples Initial commit - libcimp 2026-01-24 16:04:09 +01:00
includes feat: add icmp_set_dont_fragment and next_mtu extraction 2026-03-13 03:21:35 +01:00
src feat: add icmp_set_dont_fragment and next_mtu extraction 2026-03-13 03:21:35 +01:00
tests feat: add icmp_set_dont_fragment and next_mtu extraction 2026-03-13 03:21:35 +01:00
.gitignore fix(makefile)!: improve flags and type casts for stricter build and correctness 2026-02-07 20:16:06 +01:00
LICENSE Initial commit - libcimp 2026-01-24 16:04:09 +01:00
Makefile build: make compiler variables overridable 2026-02-08 00:31:31 +01:00
README.md Initial commit - libcimp 2026-01-24 16:04:09 +01:00
sources.mk feat: add icmp_set_dont_fragment and next_mtu extraction 2026-03-13 03:21:35 +01:00

libicmp

Non-blocking ICMPv4 library for ping, traceroute, and network diagnostics.

Dependencies

  • libc
  • GNU Make
  • clang
  • Criterion (optional, for tests)

Build

make # Build static and shared libraries
make BUILD_STATIC=yes BUILD_SHARED=no
make install PREFIX=/usr/local
make test

License

GPL v3