mac.c

Started by Larry Rosenmanover 25 years ago10 messages
#1Larry Rosenman
ler@lerctr.org

What can I do to help get this resolved?

I've gotten some suggestions, but I'm still at a loss to
get the functionality (and I sure as heck don't want to break
the backend...).

I think what we've come up with is to store the manufacturer information
in a table (my ouiparse.awk script can be hacked to create the table).

My concern is what do we use to store the first 3 octets of the
macaddr into the table or how to do the partial match on an existing
macaddr type.

Larry Rosenman
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 972-414-9812 (voice) Internet: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

#2Thomas Lockhart
lockhart@alumni.caltech.edu
In reply to: Larry Rosenman (#1)
Re: mac.c

My concern is what do we use to store the first 3 octets of the
macaddr into the table or how to do the partial match on an existing
macaddr type.

I had tried to respond to this earlier. For some reason, my new dial-in
drop "can not find" some, but not all, mail addresses. Yours is
apparently on the "can't find" list, as is Jan's (yahoo.com *is* pretty
obscure :/

Anyway, tables are good, and we can make a function/operator pair which
compares mac addresses on manufacturer only. Should be pretty easy.
Shall we get started?

- Thomas

#3Larry Rosenman
ler@lerctr.org
In reply to: Thomas Lockhart (#2)
Re: mac.c

My concern is what do we use to store the first 3 octets of the
macaddr into the table or how to do the partial match on an existing
macaddr type.

I had tried to respond to this earlier. For some reason, my new dial-in
drop "can not find" some, but not all, mail addresses. Yours is
apparently on the "can't find" list, as is Jan's (yahoo.com *is* pretty
obscure :/

Hmm. What ISP? (I work for mine, and may be able to help them...).

Anyway, tables are good, and we can make a function/operator pair which
compares mac addresses on manufacturer only. Should be pretty easy.
Shall we get started?

OK, but what do we put into the table as the key? just a
3 octet version of the OUI, or a full 6 octet, and use the function?

Thanks for the help.

- Thomas

--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 972-414-9812 (voice) Internet: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

#4Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Larry Rosenman (#3)
Re: mac.c

Anyway, tables are good, and we can make a function/operator pair which
compares mac addresses on manufacturer only. Should be pretty easy.
Shall we get started?

OK, but what do we put into the table as the key? just a
3 octet version of the OUI, or a full 6 octet, and use the function?

Thanks for the help.

I hate to pour cold water on this, but it seems the whole idea of
having a database function to find the manufacturer from an ethernet
address is of questionable value.

Not that it can't be done in /contrib, but it is really important enough
to do? I recommend just removing the function. I doubt anyone would
miss it.

I have added a TODO item:

* Update macaddr manufacturer numbers, or remove the function macaddr_manuf()

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#5Larry Rosenman
ler@lerctr.org
In reply to: Bruce Momjian (#4)
Re: mac.c

All I want to do now (given the size stuff), is to have a function and
possibly a type to compare the 24-bit OUI's, and give the tools
in /contrib to load a table using these from the IEEE's list.

No more hardcoded stuff in the db.

Does this make more sense?

It's definately extensible, and frees code space.

Larry

Anyway, tables are good, and we can make a function/operator pair which
compares mac addresses on manufacturer only. Should be pretty easy.
Shall we get started?

OK, but what do we put into the table as the key? just a
3 octet version of the OUI, or a full 6 octet, and use the function?

Thanks for the help.

I hate to pour cold water on this, but it seems the whole idea of
having a database function to find the manufacturer from an ethernet
address is of questionable value.

Not that it can't be done in /contrib, but it is really important enough
to do? I recommend just removing the function. I doubt anyone would
miss it.

I have added a TODO item:

* Update macaddr manufacturer numbers, or remove the function macaddr_manuf()

-- 
Bruce Momjian                        |  http://candle.pha.pa.us
pgman@candle.pha.pa.us               |  (610) 853-3000
+  If your life is a hard drive,     |  830 Blythe Avenue
+  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 972-414-9812 (voice) Internet: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

#6Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Larry Rosenman (#5)
Re: mac.c

All I want to do now (given the size stuff), is to have a function and
possibly a type to compare the 24-bit OUI's, and give the tools
in /contrib to load a table using these from the IEEE's list.

No more hardcoded stuff in the db.

Does this make more sense?

It's definately extensible, and frees code space.

I was just wondering if there was any real demand for this feature.
-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#7Alex Pilosov
alex@pilosoft.com
In reply to: Bruce Momjian (#6)
Re: mac.c

It'd be nice (tm). I am using mac address types now, and certainly going
to be upset if they just disappear in next postgres version :P)

However, this is definitely a contrib feature, not a core postgres item.

Probably the macaddr type should be also moved to that contrib directory.

I suggest that the contrib would include a query that creates mac_manuf
table and a 'macaddr_manuf(macaddr) returns varchar' function which would
do a 'select name from mac_manuf m where m.mac=mac_trunc(macaddr)' and a
'mac_trunc(macaddr) returns macaddr' which would set the 3 lowest-order
nibbles to 0.

(I don't think macmanufacturer deserves a separate type).

-alex

On Wed, 26 Jul 2000, Bruce Momjian wrote:

Show quoted text

All I want to do now (given the size stuff), is to have a function and
possibly a type to compare the 24-bit OUI's, and give the tools
in /contrib to load a table using these from the IEEE's list.

No more hardcoded stuff in the db.

Does this make more sense?

It's definately extensible, and frees code space.

I was just wondering if there was any real demand for this feature.

#8Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Alex Pilosov (#7)
Re: mac.c

It'd be nice (tm). I am using mac address types now, and certainly going
to be upset if they just disappear in next postgres version :P)

No, I don't recommend removing the macaddr type. It is fine in the main
tree. It is just the function that maps ethernet address to
manufacturer that I am questioning.

However, this is definitely a contrib feature, not a core postgres item.

Probably the macaddr type should be also moved to that contrib directory.

I suggest that the contrib would include a query that creates mac_manuf
table and a 'macaddr_manuf(macaddr) returns varchar' function which would
do a 'select name from mac_manuf m where m.mac=mac_trunc(macaddr)' and a
'mac_trunc(macaddr) returns macaddr' which would set the 3 lowest-order
nibbles to 0.

(I don't think macmanufacturer deserves a separate type).

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#9The Hermit Hacker
scrappy@hub.org
In reply to: Bruce Momjian (#8)
Re: mac.c

On Thu, 27 Jul 2000, Bruce Momjian wrote:

It'd be nice (tm). I am using mac address types now, and certainly going
to be upset if they just disappear in next postgres version :P)

No, I don't recommend removing the macaddr type. It is fine in the main
tree. It is just the function that maps ethernet address to
manufacturer that I am questioning.

sounds to me like a contrib item too ...

However, this is definitely a contrib feature, not a core postgres item.

Probably the macaddr type should be also moved to that contrib directory.

I suggest that the contrib would include a query that creates mac_manuf
table and a 'macaddr_manuf(macaddr) returns varchar' function which would
do a 'select name from mac_manuf m where m.mac=mac_trunc(macaddr)' and a
'mac_trunc(macaddr) returns macaddr' which would set the 3 lowest-order
nibbles to 0.

(I don't think macmanufacturer deserves a separate type).

-- 
Bruce Momjian                        |  http://candle.pha.pa.us
pgman@candle.pha.pa.us               |  (610) 853-3000
+  If your life is a hard drive,     |  830 Blythe Avenue
+  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Marc G. Fournier ICQ#7615664 IRC Nick: Scrappy
Systems Administrator @ hub.org
primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org

#10Henry B. Hotz
hotz@jpl.nasa.gov
In reply to: Bruce Momjian (#6)
Re: mac.c

At 11:54 PM -0400 7/26/00, Bruce Momjian wrote:

All I want to do now (given the size stuff), is to have a function and
possibly a type to compare the 24-bit OUI's, and give the tools
in /contrib to load a table using these from the IEEE's list.

No more hardcoded stuff in the db.

Does this make more sense?

It's definately extensible, and frees code space.

I was just wondering if there was any real demand for this feature.

Seems to me that code to deal with 24/48 bit integers is core, and
everything else is contrib. The actual list of manufacturers is not
even Postgres, but IEEE and should have a URL or cross reference in
contrib.

Just my opinion.

Signature failed Preliminary Design Review.
Feasibility of a new signature is currently being evaluated.
h.b.hotz@jpl.nasa.gov, or hbhotz@oxy.edu