Added support for routing table collection in discovery (#10182)

* Clean broken VRF lite code
* Change DB table for route discovery
* Add VRF simple support
* add port_id to db and discovery
* static-fy the translation arrays
* sort and search cleaning
* Sorting refactor and validation
* formatItem shortened
* Handle ifIndex==0 meaning no next hop defined (MPLS)
* Sync all create/updates
* purge in daily
* remove old route table
* get rid of inetCidrRouteNextHop_device_id
* fix wonky column orders
* add route snmprec
* fix sorting by interface
* Move to new config
* rename to route the new table
* Properly display ipv6 compressed addresses
* Translation before merge ./lnms translation:generate
* Update manifest
This commit is contained in:
PipoCanaja
2019-11-17 16:30:43 +01:00
committed by GitHub
parent 92d8040a8f
commit bf181b9dc2
20 changed files with 902 additions and 151 deletions

View File

@@ -0,0 +1,64 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use App\Models\PortsFdb;
use Carbon\Carbon;
class UpdateRouteTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//Remove the old route table, as it is not used anymore.
Schema::drop('route');
Schema::create('route', function (Blueprint $table) {
$table->increments('route_id');
$table->timestamps();
$table->unsignedInteger('device_id');
$table->unsignedInteger('port_id');
$table->string('context_name')->nullable();
$table->bigInteger('inetCidrRouteIfIndex');
$table->unsignedInteger('inetCidrRouteType');
$table->unsignedInteger('inetCidrRouteProto');
$table->unsignedInteger('inetCidrRouteNextHopAS');
$table->unsignedInteger('inetCidrRouteMetric1');
$table->string('inetCidrRouteDestType');
$table->string('inetCidrRouteDest');
$table->string('inetCidrRouteNextHopType');
$table->string('inetCidrRouteNextHop');
$table->string('inetCidrRoutePolicy');
$table->unsignedInteger('inetCidrRoutePfxLen');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('route');
// Create the old route table to reverse this.
Schema::create('route', function (Blueprint $table) {
$table->unsignedInteger('device_id');
$table->string('context_name', 128);
$table->string('ipRouteDest', 39);
$table->string('ipRouteIfIndex', 256)->nullable();
$table->string('ipRouteMetric', 256);
$table->string('ipRouteNextHop', 39);
$table->string('ipRouteType', 256);
$table->string('ipRouteProto', 256);
$table->unsignedInteger('discoveredAt');
$table->string('ipRouteMask', 256);
$table->index(['device_id','context_name','ipRouteDest','ipRouteNextHop'], 'device');
});
}
}