]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
common/pick_address: Add IPv6 support to is_addr_in_subnet 62814/head
authorNitzan Mordechai <nmordech@redhat.com>
Thu, 28 Nov 2024 11:44:00 +0000 (11:44 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 15 Apr 2025 08:44:17 +0000 (08:44 +0000)
commit23a110bfbaf886aeb14f3a3147f429a9cf86b70c
tree5077743df9a1fb75e53e9b5a12a189dd6606edc1
parent05bb02383effd1b8e408c5ea9fa6c3c342f86c79
common/pick_address: Add IPv6 support to is_addr_in_subnet

Updated the is_addr_in_subnet function to work with both
IPv4 and IPv6 addresses. Previously, it only supported IPv4,
which caused failures when IPv6 addresses were passed in.

Changes:
 - Use inet_pton to detect IPv4 (AF_INET) or IPv6 (AF_INET6).
 - Added sockaddr_in6 for IPv6 handling while keeping sockaddr_in for IPv4.
 - Adjust the family and ifa_addr dynamically based on the address type.

Fixes: https://tracker.ceph.com/issues/67517
Signed-off-by: Nitzan Mordechai <nmordech@redhat.com>
(cherry picked from commit d68857c1e57e93a68d9301b3beff7e652f327a9e)
src/common/pick_address.cc
src/common/pick_address.h
src/osd/OSDMap.cc
src/test/test_ipaddr.cc