diff options
author | Christian Poessinger <christian@poessinger.com> | 2018-06-08 10:52:32 +0200 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2018-06-08 10:52:32 +0200 |
commit | 4524181410b68367d91e07552466ef577ac5b0e3 (patch) | |
tree | 72148e118d9a478f46d7038e2fcd3653485fc87d /scripts/snmp/if-mib-alias | |
parent | c7f0ea5d37da2c7e555e6f0aae1390c84a682c0e (diff) | |
download | vyatta-cfg-system-4524181410b68367d91e07552466ef577ac5b0e3.tar.gz vyatta-cfg-system-4524181410b68367d91e07552466ef577ac5b0e3.zip |
T652: remove SNMP perl scripts
Diffstat (limited to 'scripts/snmp/if-mib-alias')
-rwxr-xr-x | scripts/snmp/if-mib-alias | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/scripts/snmp/if-mib-alias b/scripts/snmp/if-mib-alias deleted file mode 100755 index d17644e9..00000000 --- a/scripts/snmp/if-mib-alias +++ /dev/null @@ -1,129 +0,0 @@ -#! /usr/bin/perl - -# **** License **** -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# This code was originally developed by Vyatta, Inc. -# Portions created by Vyatta are Copyright (C) 2007 Vyatta, Inc. -# All Rights Reserved. -# -# Author: Stephen Hemminger -# Date: October 2010 -# Description: script is run as net-snmp extension to read interface alias -# -# **** End License **** - -use strict; -use warnings; -use feature "switch"; - -# Collect interface all alias values -sub get_alias { - my @interfaces; - - open (my $ip, '-|', 'ip li') - or die "Can't run ip command\n"; - my $index; - while(<$ip>) { - if (/^(\d+): ([^:]*): /) { - $index = $1; - $interfaces[$index] = $2; - } elsif (/^ +alias (.*)$/) { - $interfaces[$index] = $1; - } - } - close $ip; - return @interfaces; -} - -sub get_oid { - my $oid = shift; - die "Not a valid Object ID: $oid" - unless ($oid =~ /.(\d+)$/); - - my $ifindex = $1; - my @interfaces = get_alias(); - - my $ifalias = $interfaces[$ifindex]; - print "$oid\nstring\n$ifalias\n" if $ifalias; -} - -# OID of ifAlias [RFC2863] -my $BASE = '.1.3.6.1.2.1.31.1.1.1.18'; - -sub get_next { - my $oid = shift; - - return get_next("$BASE.0") - if ($oid eq $BASE); - - die "Not a valid Object ID: $oid" - unless ($oid =~ /^(\S*)\.(\d+)$/); - - my $base = $1; - my $ifindex = $2; - my @interfaces = get_alias(); - - while (++$ifindex <= $#interfaces) { - my $ifalias = $interfaces[$ifindex]; - if ($ifalias) { - print "$base.$ifindex\nstring\n$ifalias\n"; - last; - } - } -} - -sub ifindextoname { - my $ifindex = shift; - - open (my $ip, '-|', 'ip li') - or die "Can't run ip command\n"; - my $index; - while(<$ip>) { - next unless (/^(\d+): ([^:]*): /); - return $2 if ($1 == $ifindex); - } - return; -} - -sub set_oid { - my ($oid, $target, $value) = @_; - die "Not a valid Object ID: $oid" - unless ($oid =~ /\.(\d+)$/); - my $ifindex = $1; - unless ($target eq 'string') { - print "wrong-type\n"; - return; - } - - my $ifname = ifindextoname($ifindex); - if ($ifname) { - system("ip li set $ifname alias '$value' >/dev/null 2>&1"); - print "not-writeable\n" if ($? != 0); - } -} - -sub usage { - warn "Usage: $0 {-g|-n} OID\n"; - warn " $0 -s OID TARGET VALUE\n"; - exit 1; -} - -usage unless $#ARGV >= 1; - -given ($ARGV[0]) { - when ('-g') { get_oid ($ARGV[1]); } - when ('-n') { get_next ($ARGV[1]); } - when ('-s') { set_oid ($ARGV[1], $ARGV[2], $ARGV[3]); } - default { - warn "$ARGV[0] unknown flag\n"; - usage; - } -} |