From f8ea7c33d24ad2a9a49f236c8a3a301de04ee9e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Ferr=C3=A3o?= <2031761+viniciusferrao@users.noreply.github.com> Date: Mon, 31 Aug 2026 20:09:23 -0300 Subject: [PATCH] refactor(networkutils): add shared isValidIp helper --- perl-xCAT/xCAT/NetworkUtils.pm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/perl-xCAT/xCAT/NetworkUtils.pm b/perl-xCAT/xCAT/NetworkUtils.pm index f4b95e30a..a04bf8d95 100644 --- a/perl-xCAT/xCAT/NetworkUtils.pm +++ b/perl-xCAT/xCAT/NetworkUtils.pm @@ -2252,6 +2252,40 @@ sub isIpv6addr return defined($packed_address) ? 1 : 0; } +#------------------------------------------------------------------------------- + +=head3 isValidIp + + returns 1 if the value is a valid IPv4 or IPv6 address. + + Arguments: + IP address string + Returns: + 1 - valid IP address + 0 - not a valid IP address + Globals: + none + Error: + none + Example: + if (xCAT::NetworkUtils->isValidIp($ip)) { blah; } + Comments: + IPv4 values follow the isIpv4addr rules. + +=cut + +#------------------------------------------------------------------------------- +sub isValidIp +{ + my $value = shift; + if (($value) && ($value =~ /xCAT::NetworkUtils/)) + { + $value = shift; + } + + return (isIpv4addr($value) or isIpv6addr($value)) ? 1 : 0; +} +