Недавно спрашивал на форуме OID для управлением скорости, но ответа не дождался. Значения нашел, поэтому может быть, кому-нибудь пригодится
Код:
#!/usr/bin/perl
if (( ! $ARGV[0] ) or ( ! $ARGV[1]) or ( ! $ARGV[2] ) or ( ! $ARGV[3] ) or ( ! $ARGV[4]))
{
die "\tUse:\n\tdgs-port.pl <ip> <community> <port> <speed> <duplex>
<ip> - switch ip address
<community> - snmp v2 communitry name with write privileges
<port> - switch port
<speed> - [10|100|1000] Mbit
<duplex> - [none|full|half]\n\n";
}
die "Please specify correct IP!\n" if ! ( $ARGV[0] =~ /\d+\.\d+\.\d+\.\d+/);
die "Use port 1 - 24\n" if ! (( $ARGV[2] >= 1 ) and ( $ARGV[2] <= 24));
#die "Specify correct speed [10|100|1000]\n" if ! (( $ARGV[3] == 10 ) or ( $ARGV[3] == 100 ) or ( $ARGV[3] == 1000 ));
if ( $ARGV[4] =~ /full/i) {
$duplex = 3;
} elsif ( $ARGV[4] =~ /half/i) {
$duplex = 2;
} elsif ( $ARGV[4] =~ /none/i) {
$duplex = 1;
} else {
die "Use mode half or full\n" ;
}
print "Disabling autonegotiation\n";
#print "/usr/bin/snmpset -v2c -c $ARGV[1] $ARGV[0] SNMPv2-SMI::enterprises.171.10.94.89.89.43.1.1.16.$ARGV[2] i 2\n";
$answer = `/usr/bin/snmpset -v2c -c $ARGV[1] $ARGV[0] SNMPv2-SMI::enterprises.171.10.94.89.89.43.1.1.16.$ARGV[2] i 2`;
#print $answer;
print "Set port speed $ARGV[3] Mbit/sec \n";
$speed = $ARGV[3] * 1000000;
#print "/usr/bin/snmpset -v2c -c $ARGV[1] $ARGV[0] SNMPv2-SMI::enterprises.171.10.94.89.89.43.1.1.15.$ARGV[2] i $speed\n";
$answer = `/usr/bin/snmpset -v2c -c $ARGV[1] $ARGV[0] SNMPv2-SMI::enterprises.171.10.94.89.89.43.1.1.15.$ARGV[2] i $speed`;
#print $answer;
print "Set mode duplex\n";
#print "/usr/bin/snmpset -v2c -c $ARGV[1] $ARGV[0] SNMPv2-SMI::enterprises.171.10.94.89.89.43.1.1.3.$ARGV[2] i $duplex\n";
$answer = `/usr/bin/snmpset -v2c -c $ARGV[1] $ARGV[0] SNMPv2-SMI::enterprises.171.10.94.89.89.43.1.1.3.$ARGV[2] i $duplex`;
#print $answer;