Consolidate swport and gwport tables into a single interface table
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:
- 3.6.0b1
- Started by
- Morten Brekkevold
- Completed by
- Morten Brekkevold
Related branches
Related bugs
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.