SNMP MIB to YANG conversion. Script to traverse a MIB directory and convert the MIBs to YANG files using smidump.

This commit is contained in:
Kristofer Hallin 2022-05-02 10:13:29 -07:00 committed by Olof hagsand
parent f112580546
commit c9eae77d61

34
scripts/mib_to_yang.sh Executable file
View file

@ -0,0 +1,34 @@
#/usr/bin/env bash
# Traverses a directory ($MIBDIR) and tries to convert each file from SMI format
# to YANG and preserve directory structure etc.
# This script can be used like this: ./mib_to_yang /usr/share/snmp/mibs yang/
MIBDIR=$1
YANGDIR=$2
function parse_mibs(){
indir=$1
outdir=$2
for i in $indir/*; do
outfile="$outdir`basename $i | cut -d"." -f1`.yang"
SMIPATH=$MIBDIR smidump -f yang -k $i > $outfile
done
}
if [ $# -ne 2 ]; then
echo "Usage: $0 <MIB directory, usually /usr/share/snmp/mibs> <out directory, for example yang/>"
exit
fi
for i in `find $MIBDIR -type d -or -type l`; do
if [ `basename $i` == `basename $MIBDIR` ]; then
outdir=$YANGDIR
else
outdir="$YANGDIR`basename $i`/"
fi
mkdir -p $outdir
parse_mibs $i $outdir
done