mirror of
				https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
				synced 2025-10-31 02:38:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/perl
 | |
| # ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
 | |
| # use this script after bringing up stations with a DHCP lease
 | |
| # then admin-down the stations. Go into /home/lanforge/vr_conf
 | |
| # and change the settings with this script on all the files
 | |
| # in a manner like this:
 | |
| #
 | |
| # root# cd /home/lanforge/vr_conf
 | |
| # root# ~lanforge/scripts/add-dhcp-hostname.pl dhclient_sta*conf
 | |
| #
 | |
| # At this point you can bring up your stations. If you need to 
 | |
| # check a lanforge dhcpd lease file, please look at the dhcp database
 | |
| # found in /home/lanforge/vr_conf/vrcx_br1_dhcp_lease.db
 | |
| # entries should have a "client-hostname: " entry.
 | |
| # ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
 | |
| use strict;
 | |
| use warnings;
 | |
| use diagnostics;
 | |
| $| = 1;
 | |
| 
 | |
| if (@ARGV < 1) {
 | |
|    print "No files requested.\n";
 | |
|    exit 1;
 | |
| }
 | |
| my @chars = ("A".."Z", "a".."z", "0".."9");
 | |
| 
 | |
| my $rand_name = "";
 | |
| for my $fname (@ARGV) {
 | |
|    print "File: $fname  ";
 | |
| 
 | |
|    my @lines = `cat $fname`;
 | |
|    chomp @lines;
 | |
|    die("Unable to open $fname for writing: $!")
 | |
|       unless open(my $fh, ">", $fname);
 | |
| 
 | |
|    my $ifname='';
 | |
|    for my $line (@lines) {
 | |
|       next if ($line =~ /^\s*$/);
 | |
|       next if ($line =~ /^. LANforge-generated/);
 | |
|       next if ($line =~ /^. Remove first/);
 | |
|       next if ($line =~ /^. automatically over-write/);
 | |
|       next if ($line =~ /^send host-name/);
 | |
|       if ($line =~ /^# sta\d+/) {
 | |
|          ($ifname) = $line =~ /^# (sta\d+)\s*$/;
 | |
|       }
 | |
|       print $fh "$line\n";
 | |
|    }
 | |
|    $rand_name = "";
 | |
|    $rand_name .= $chars[ rand @chars] for 1..8;
 | |
|    #print "* ";
 | |
|    #print "$rand_name\n";
 | |
|    print $fh "interface \"$ifname\" {\n";
 | |
|    print $fh "    send host-name \"$rand_name\";\n";
 | |
|    print $fh "}\n";
 | |
|    close $fh;
 | |
| }
 | |
| print "done\n";
 | 
