Branch: refs/heads/main Home: https://github.com/kronosnet/kronosnet Commit: 03e654af806751ac3718b2b3c04a20f8bc6955ad https://github.com/kronosnet/kronosnet/commit/03e654af806751ac3718b2b3c04a20... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-05-09 (Sat, 09 May 2026)
Changed paths: M libnozzle/libnozzle.c
Log Message: ----------- libnozzle: use IFF_TUN_EXCL for exclusive TAP device creation
Add IFF_TUN_EXCL flag when creating named TAP devices to prevent race conditions where another process creates the same device name between check and creation. Available since Linux 3.4 with graceful fallback.
Signed-off-by: Fabio M. Di Nitto fabbione@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: b67725ad290ff8d7e00365a8a282d4d6d3734566 https://github.com/kronosnet/kronosnet/commit/b67725ad290ff8d7e00365a8a282d4... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-05-09 (Sat, 09 May 2026)
Changed paths: M libnozzle/libnozzle.c
Log Message: ----------- libnozzle: improve libnl error code translation
Replace generic errno values with proper error code translation from libnl. Add nlerr_to_errno() helper that maps NLE_* codes to standard errno values for better diagnostics when netlink operations fail.
Signed-off-by: Fabio M. Di Nitto fabbione@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: a6798b0b51b24f6f78cf93c31c724655d3bf7c11 https://github.com/kronosnet/kronosnet/commit/a6798b0b51b24f6f78cf93c31c7246... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-05-09 (Sat, 09 May 2026)
Changed paths: M libnozzle/internals.h M libnozzle/libnozzle.c
Log Message: ----------- libnozzle: implement FreeBSD native ioctl for IP address management
Replace shell command execution with native ioctl calls using struct in_aliasreq (IPv4) and struct in6_aliasreq (IPv6). Use separate AF_INET and AF_INET6 sockets for proper address family handling.
Signed-off-by: Fabio M. Di Nitto fabbione@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: 051cd040da5215b7647ed5124ba0c6129db04487 https://github.com/kronosnet/kronosnet/commit/051cd040da5215b7647ed5124ba0c6... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-05-09 (Sat, 09 May 2026)
Changed paths: M libnozzle/libnozzle.c
Log Message: ----------- libnozzle: implement Solaris native ioctl for IP address management
Replace shell command execution with native ioctl calls using struct lifreq. Use per-interface AF_INET and AF_INET6 sockets for IPv4/IPv6 operations. Set secondary=1 for IPv6 address deletion to match Solaris logical interface semantics.
Signed-off-by: Fabio M. Di Nitto fabbione@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: 8c1dc621fb2c5ac334de0a32c4a66d9949d1edc6 https://github.com/kronosnet/kronosnet/commit/8c1dc621fb2c5ac334de0a32c4a66d... Author: Fabio M. Di Nitto fdinitto@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@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: 2ce260930cd76874cc4edb2dd1fa549c6cb4808e https://github.com/kronosnet/kronosnet/commit/2ce260930cd76874cc4edb2dd1fa54... Author: Fabio M. Di Nitto fdinitto@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@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: 13b31f2261e6352264b30b125d4c60489885132f https://github.com/kronosnet/kronosnet/commit/13b31f2261e6352264b30b125d4c60... Author: Fabio M. Di Nitto fdinitto@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@kronosnet.org Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Commit: 2bb35f5e71dbf21263b49c941c9c2c32c6b2c1aa https://github.com/kronosnet/kronosnet/commit/2bb35f5e71dbf21263b49c941c9c2c... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2026-05-15 (Fri, 15 May 2026)
Changed paths: M libnozzle/Makefile.am M libnozzle/internals.c 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: ----------- Merge pull request #480 from kronosnet/libnozzle-fixes
libnozzle: platform-specific refactoring and improvements
Compare: https://github.com/kronosnet/kronosnet/compare/f227fc63efd3...2bb35f5e71db
To unsubscribe from these emails, change your notification settings at https://github.com/kronosnet/kronosnet/settings/notifications