summaryrefslogtreecommitdiff
path: root/scripts/snmp/if-mib-alias
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2018-06-08 10:52:32 +0200
committerChristian Poessinger <christian@poessinger.com>2018-06-08 10:52:32 +0200
commit4524181410b68367d91e07552466ef577ac5b0e3 (patch)
tree72148e118d9a478f46d7038e2fcd3653485fc87d /scripts/snmp/if-mib-alias
parentc7f0ea5d37da2c7e555e6f0aae1390c84a682c0e (diff)
downloadvyatta-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-xscripts/snmp/if-mib-alias129
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;
- }
-}