Consolidate swport and gwport tables into a single interface table

Registered by Morten Brekkevold

The artifical separation of interfaces into the swport and gwport tables adds complexity and code redundancies to NAV. It's time we consolidate these tables into a single interface table, putting specialized attributes in separate tables.

Blueprint information

Status:
Complete
Approver:
Morten Brekkevold
Priority:
High
Drafter:
Morten Brekkevold
Direction:
Needs approval
Assignee:
Morten Brekkevold
Definition:
Approved
Series goal:
Accepted for 3.6
Implementation:
Implemented
Milestone target:
milestone icon 3.6.0b1
Started by
Morten Brekkevold
Completed by
Morten Brekkevold

Related branches

Sprints

Whiteboard

A new interface table must be specified, with columns more closely related to IF-MIB attributes than those of swport/gwport today (name, descr, alias, mac addr).

Several migration strategies must be devised. gwport/swport views of the interface table can work as a temporary solution until all code referencing the old tables can be refactored. Code that modifies the swport/gwport tables should be refactored first.

Except for getDeviceData, only networkDiscovery is likely to do updates to swport/gwport. gDD will be replaced by ipdevpoll, and networkDiscovery should be refactored before other subsystems.

---
I've written patches for manage.sql to replace gwport/swport with a single interface table, and to create views simulating the old gwport/swport tables. An iana-iftype table is also added, but I'm still missing a table that can describe stacked interfaces, as per. the ifStackTable from IF-MIB. That would replace the masterindex attribute from the gwport table.

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.