Branch: refs/heads/update-gitignore
Home: https://github.com/kronosnet/kronosnet
Commit: 5ab9cf3746309f7dd42560e58185bf5cdd2e887f
https://github.com/kronosnet/kronosnet/commit/5ab9cf3746309f7dd42560e58185b…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2026-05-15 (Fri, 15 May 2026)
Changed paths:
M .gitignore
Log Message:
-----------
build: add .claude to .gitignore
Prevent accidental commit of Claude Code session data and configuration.
The .claude directory contains user-specific settings, conversation history,
and temporary files that should not be tracked in version control.
Signed-off-by: Fabio M. Di Nitto <fabbione(a)kronosnet.org>
Co-Authored-By: Claude Sonnet 4.5 <noreply(a)anthropic.com>
To unsubscribe from these emails, change your notification settings at https://github.com/kronosnet/kronosnet/settings/notifications
Branch: refs/heads/fix-thread-pmtud-race
Home: https://github.com/kronosnet/kronosnet
Commit: 0f2930b9a703803e67e051a160a2c250991dcb40
https://github.com/kronosnet/kronosnet/commit/0f2930b9a703803e67e051a160a2c…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2026-05-15 (Fri, 15 May 2026)
Changed paths:
M libknet/threads_pmtud.c
Log Message:
-----------
libknet: force PMTUD rerun after reschedule interruption
When PMTUD is interrupted by a reschedule request (returns EDEADLK),
some links may have been checked while others were skipped. The next
iteration uses the interval timer to decide which links to check, which
means recently-checked links are skipped even if they need a new PMTUD
run (e.g., after reconnection following onwire protocol upgrade).
Fix by setting pmtud_forcerun=1 when the PMTUD thread detects it was
interrupted (errno == EDEADLK). This ensures the next iteration force-runs
PMTUD on all links regardless of the interval timer, completing discovery
on interrupted and skipped links.
This approach respects the 2018 commit d2a6344f design by setting forcerun
in the PMTUD thread itself (after the interrupted iteration completes) rather
than in _pmtud_reschedule() or its callers, avoiding the lock fighting and
scheduling issues that commit addressed.
Signed-off-by: Fabio M. Di Nitto <fabbione(a)kronosnet.org>
Co-Authored-By: Claude Sonnet 4.5 <noreply(a)anthropic.com>
Commit: 4a3f496cd67543951d8e4248ac292cd175efc0ff
https://github.com/kronosnet/kronosnet/commit/4a3f496cd67543951d8e4248ac292…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2026-05-15 (Fri, 15 May 2026)
Changed paths:
M libknet/tests/fun_onwire_upgrade.c
Log Message:
-----------
tests: fix race condition in fun_onwire_upgrade test
Add proper locking in upgrade_onwire_max_ver() to prevent race between
test modifications of onwire_min_ver/onwire_max_ver and RX threads reading
these values. RX threads hold global_rwlock during packet processing and
check version fields without explicit synchronization, causing flaky test
failures on FreeBSD when RX threads see stale values.
Signed-off-by: Fabio M. Di Nitto <fabbione(a)kronosnet.org>
Co-Authored-By: Claude Sonnet 4.5 <noreply(a)anthropic.com>
Compare: https://github.com/kronosnet/kronosnet/compare/0f2930b9a703%5E...4a3f496cd6…
To unsubscribe from these emails, change your notification settings at https://github.com/kronosnet/kronosnet/settings/notifications
Branch: refs/heads/libnozzle-fixes
Home: https://github.com/kronosnet/kronosnet
Commit: 8c1dc621fb2c5ac334de0a32c4a66d9949d1edc6
https://github.com/kronosnet/kronosnet/commit/8c1dc621fb2c5ac334de0a32c4a66…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2026-05-14 (Thu, 14 May 2026)
Changed paths:
M libnozzle/Makefile.am
M libnozzle/internals.h
M libnozzle/libnozzle.c
A libnozzle/libnozzle_bsd.c
A libnozzle/libnozzle_linux.c
A libnozzle/libnozzle_solaris.c
Log Message:
-----------
libnozzle: refactor platform-specific code into dedicated files
Split platform-specific implementation from libnozzle.c into dedicated
files: libnozzle_linux.c, libnozzle_bsd.c, libnozzle_solaris.c.
Introduce platform abstraction layer with typedefs and macros in internals.h:
- nozzle_ifreq: Platform-specific ifreq structure type
- NOZZLE_SOCKET_DOMAIN: Socket domain for ioctl fd (AF_LOCAL on BSD)
- NOZZLE_IOCTL_FD: File descriptor for ioctl operations
- NOZZLE_SET_MTU: Platform-specific MTU ioctl command
- NOZZLE_IPV6_IS_SECONDARY(domain): IPv6 secondary interface check
This eliminates all platform-specific #ifdef blocks from libnozzle.c,
improving code organization and readability. Platform differences are
now documented in a single location (internals.h and platform-specific
files) rather than scattered throughout the main code.
Signed-off-by: Fabio M. Di Nitto <fabbione(a)kronosnet.org>
Co-Authored-By: Claude Sonnet 4.5 <noreply(a)anthropic.com>
Commit: 2ce260930cd76874cc4edb2dd1fa549c6cb4808e
https://github.com/kronosnet/kronosnet/commit/2ce260930cd76874cc4edb2dd1fa5…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2026-05-14 (Thu, 14 May 2026)
Changed paths:
M libnozzle/internals.c
M libnozzle/internals.h
M libnozzle/libnozzle_bsd.c
M libnozzle/libnozzle_linux.c
M libnozzle/libnozzle_solaris.c
Log Message:
-----------
libnozzle: refactor IP address helpers to reduce code duplication
Extract common IP address calculation logic from platform-specific functions
into shared helpers. Add _determine_family(), _validate_prefix(),
_ipv4_prefix_to_netmask(), and _ipv6_prefix_to_mask() to internals.c/h.
Include netinet/in.h in both files for struct in6_addr definition.
Signed-off-by: Fabio M. Di Nitto <fabbione(a)kronosnet.org>
Co-Authored-By: Claude Sonnet 4.5 <noreply(a)anthropic.com>
Commit: 13b31f2261e6352264b30b125d4c60489885132f
https://github.com/kronosnet/kronosnet/commit/13b31f2261e6352264b30b125d4c6…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2026-05-14 (Thu, 14 May 2026)
Changed paths:
M libnozzle/libnozzle_bsd.c
M libnozzle/libnozzle_linux.c
M libnozzle/libnozzle_solaris.c
Log Message:
-----------
libnozzle: consolidate platform-specific add_ip/del_ip implementations
Consolidate duplicate add/delete logic into platform-specific helpers:
Linux uses _netlink_modify_addr() for netlink operations, BSD uses
_bsd_modify_ipv4/6() for ioctl operations, Solaris uses _solaris_modify_ipv4/6()
with secondary interface support. Eliminates ~80 lines of duplication.
Signed-off-by: Fabio M. Di Nitto <fabbione(a)kronosnet.org>
Co-Authored-By: Claude Sonnet 4.5 <noreply(a)anthropic.com>
Compare: https://github.com/kronosnet/kronosnet/compare/f41905179dac...13b31f2261e6
To unsubscribe from these emails, change your notification settings at https://github.com/kronosnet/kronosnet/settings/notifications