This article is being updated. Please be aware the content herein, not limited to version numbers and slight syntax changes, may not match the output from the most recent versions of Bright. This notation will be removed when the content has been updated.
If the switch cannot report the output of
snmpwalk -c public -v1 -On <switch> .1.3.6.1.2.1.17.7.1.2.2.1.2
Correctly then the showport command (and port detection in general) will not work out of the box. For example on a Dell S4148f-ON switch, SNMP failed to detect ports properly due to the switch not reporting snmpwalk output correctly.
A workaround for this issue is to create a custom control script in which you write your own logic to extract the MAC addresses from the switch and then MAP them to the correct port:
#!/bin/bash
# Example custom switch control script v1.0"
usage() {
echo "$0 <command> <args>"
echo " -h show this help"
echo " --provides list available commands"
}
if [ -z "$1" -o "$1" == "-h" ]; then
usage
exit 1
fi
if [ "$1" == "--provides" ]; then
echo "portbymac"
if [ "$1" == "portbymac" ]; then # lower case : separated
if [ "$2" == "00:00:00:00:00:01" ]; then
echo 1
elif [ "$2" == "00:00:00:00:00:02" ]; then
echo 2
elif [ "$2" == "00:00:00:00:00:03" ]; then
echo 3
elif [ "$2" == "00:00:00:00:00:04" -o "$2" == "01:00:00:00:00:04" ]; then
echo 4
elif [ "$2" == "00:00:00:00:00:0A" ]; then
echo 10
elif [ "$2" == "00:00:00:00:00:0B" ]; then
echo 11
elif [ "$2" == "00:00:00:00:00:0C" ]; then
echo 12
fi
fi
Inside the “if [ “$1” == “portbymac” ]; ” you can add the logic to extract the MAC addresses and MAP them to ports.