mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-11-04 05:12:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env perl
 | 
						|
# IBM(c) 2010 EPL license http://www.eclipse.org/legal/epl-v10.html
 | 
						|
#
 | 
						|
#####################################################
 | 
						|
#
 | 
						|
# This script will calculate the IPv6 link local address
 | 
						|
# from the mac address
 | 
						|
# the mac address can be something like
 | 
						|
# 00215ea68cd9 or 00:21:5e:a6:8c:d9
 | 
						|
# example mac2linklocal 00215ea68cd9
 | 
						|
#
 | 
						|
#####################################################
 | 
						|
 | 
						|
BEGIN
 | 
						|
{
 | 
						|
    $::XCATROOT = $ENV{'XCATROOT'} ? $ENV{'XCATROOT'} : '/opt/xcat';
 | 
						|
}
 | 
						|
 | 
						|
use lib "$::XCATROOT/lib/perl";
 | 
						|
 | 
						|
use strict;
 | 
						|
use warnings;
 | 
						|
use Getopt::Long;
 | 
						|
 | 
						|
if (
 | 
						|
    !GetOptions("h|help" => \$::HELP,
 | 
						|
        "m=s" => \$::MACADDR,)
 | 
						|
  )
 | 
						|
{
 | 
						|
    &usage;
 | 
						|
    exit 1;
 | 
						|
}
 | 
						|
 | 
						|
if ($::HELP)
 | 
						|
{
 | 
						|
    &usage;
 | 
						|
    exit 0;
 | 
						|
}
 | 
						|
 | 
						|
require xCAT::NetworkUtils;
 | 
						|
 | 
						|
if ($::MACADDR)
 | 
						|
{
 | 
						|
    my $linklocal = xCAT::NetworkUtils->linklocaladdr($::MACADDR);
 | 
						|
    print "$linklocal";
 | 
						|
}
 | 
						|
 | 
						|
sub usage
 | 
						|
{
 | 
						|
    print "Usage:  mac2linklocal -m <mac_address>\n\n";
 | 
						|
    print "Determines the IPv6 link local address that is appropriate for a NIC, based on its MAC.\n\n";
 | 
						|
    print "Author:  Li, Guang Cheng\n";
 | 
						|
    return;
 | 
						|
}
 |