aboutsummaryrefslogtreecommitdiffstats
path: root/make-manuf
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2002-09-09 19:38:11 +0000
committerGuy Harris <guy@alum.mit.edu>2002-09-09 19:38:11 +0000
commit91ecc404e92176df8d3f80ca8309d2d2b5bb11a9 (patch)
tree0d72f94b7c1794f25ac0726b7956c7b93cfb4ddc /make-manuf
parent9390e0591a3ec18c48abe0b34db9ea59183a1818 (diff)
Allow the "manuf" file to contain well-known MAC addresses and address
ranges specified with a mask, as well as manufacturer OUIs. Match the address range values, as well as MAC addresses and manufacturer OUIs, when translating MAC addresses to names. Have "make-manuf" read a file containing the well-known addresses and append it to the list of OUIs. svn path=/trunk/; revision=6233
Diffstat (limited to 'make-manuf')
-rwxr-xr-xmake-manuf20
1 files changed, 19 insertions, 1 deletions
diff --git a/make-manuf b/make-manuf
index 120b32b3de..a9df3ec7f5 100755
--- a/make-manuf
+++ b/make-manuf
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
#
-# $Id: make-manuf,v 1.6 2002/08/03 23:09:24 jmayer Exp $
+# $Id: make-manuf,v 1.7 2002/09/09 19:38:09 guy Exp $
#
# Make-manuf - Creates a file containing ethernet OUIs and their
# company IDs. It merges the databases at
@@ -21,6 +21,7 @@ if( $@ ) {
}
$template = "manuf.tmpl";
+$wkatmpl = "wka.tmpl";
$outfile = "manuf";
$inheader = 1;
$ieee_url = "http://standards.ieee.org/regauth/oui/oui_public.txt";
@@ -60,6 +61,9 @@ $ieee_list = $result->content;
open (TMPL, "< $template") ||
die "Couldn't open template file for reading ($template)\n";
+open (WKATMPL, "< $wkatmpl") ||
+ die "Couldn't open well-known address template file for reading ($wkatmpl)\n";
+
open (OUT, "> $outfile") ||
die "Couldn't open output file for writing ($outfile)\n";
@@ -114,6 +118,20 @@ foreach $oui (sort(keys %oui_list)) {
print(OUT "$oui\t$oui_list{$oui}\n");
}
+#
+# Write out a blank line separating the OUIs from the well-known
+# addresses, and then read the well-known address template file
+# and write it to the manuf file.
+#
+# XXX - it'd be nice to get this from the Cavebear file, but inferring
+# the address mask from entries in that file involves some work.
+#
+print(OUT "\n");
+while ($line = <WKATMPL>) {
+ chomp($line);
+ print(OUT "$line\n");
+}
+
$total_added = $tmpl_added + $cb_added + $ieee_added;
print <<"Fin"
Original entries : $tmpl_added