#1111 Support for OUI28/MA-M and OUI36/MA-S

* new oui importer using IEEE csv for MA-L+M+S

* schema update for new vendor table

* change vendor to manufacturer because Device has a vendor field

* remove oui from manuf table, and update node oui after manuf update

* faster way to bulk update node oui

* switch from using oui table to manufacturer table for vendor lookup

* some other oui cleanup

* faster/scalable way to join a macaddr to manuf table

* remove device.oui support

* update node oui in bulk at end of macsuck run

* correct literal sql instead of bind

* more efficient to get oui base for each mac

* comment better the base lookup in macsuck
This commit is contained in:
Oliver Gorwits
2023-11-14 18:55:54 +00:00
committed by GitHub
parent 7766ce64d1
commit 534a9d9378
26 changed files with 427 additions and 193 deletions

View File

@@ -88,11 +88,11 @@ get '/ajax/content/report/ipinventory' => require_login sub {
my $rs2 = schema(vars->{'tenant'})->resultset('NodeIp')->search(
undef,
{ join => ['oui', 'netbios'],
{ join => ['manufacturer', 'netbios'],
columns => [qw( ip mac time_first time_last dns active)],
'+select' => [ \'true AS node',
\qq/replace( date_trunc( 'minute', age( LOCALTIMESTAMP, me.time_last ) ) ::text, 'mon', 'month') AS age/,
'oui.company',
'manufacturer.company',
'netbios.nbname',
],
'+as' => [ 'node', 'age', 'vendor', 'nbname' ],
@@ -101,14 +101,14 @@ get '/ajax/content/report/ipinventory' => require_login sub {
my $rs3 = schema(vars->{'tenant'})->resultset('NodeNbt')->search(
undef,
{ join => ['oui'],
{ join => ['manufacturer'],
columns => [qw( ip mac time_first time_last )],
'+select' => [
\'null AS dns',
'active',
\'true AS node',
\qq/replace( date_trunc( 'minute', age( LOCALTIMESTAMP, time_last ) ) ::text, 'mon', 'month') AS age/,
'oui.company',
'manufacturer.company',
'nbname'
],
'+as' => [ 'dns', 'active', 'node', 'age', 'vendor', 'nbname' ],