aboutsummaryrefslogtreecommitdiff
path: root/contrib/mac/createoui
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/mac/createoui')
-rwxr-xr-xcontrib/mac/createoui52
1 files changed, 52 insertions, 0 deletions
diff --git a/contrib/mac/createoui b/contrib/mac/createoui
new file mode 100755
index 00000000000..56d81c20d36
--- /dev/null
+++ b/contrib/mac/createoui
@@ -0,0 +1,52 @@
+#! /bin/sh
+# Utility to create manufacturer's oui table
+# OUI is "Organizationally Unique Identifier" assigned by IEEE.
+# There are currently three duplicate listings, so we can not enforce
+# uniqueness in the OUI field.
+# - thomas 2000-08-21
+
+args=
+update=0
+
+while [ $# -gt 0 ]
+do
+ case "$1" in
+ --update)
+ update=1
+ ;;
+ --noupdate)
+ update=0
+ ;;
+ --help)
+ echo "Usage: $0 --[no]update dbname"
+ exit
+ ;;
+ *)
+ args="$args $1"
+ ;;
+ esac
+ shift
+done
+
+psql -e $args <<EOF
+-- Table containing OUI portions of MAC address and manufacturer's name
+create table macoui (
+ addr macaddr not null,
+ name text not null
+);
+
+-- Create an index to help lookups
+create index macoui_idx on macoui (addr);
+
+-- Function to return manufacturer's name given MAC address
+create function manuf (macaddr)
+ returns text as '
+ select name from macoui m where trunc(\$1) = m.addr;
+' language 'SQL';
+EOF
+
+if [ $update -gt 0 ]; then
+ updateoui $args
+fi
+
+exit