Skip to content
This repository has been archived by the owner on Sep 7, 2020. It is now read-only.

[TASK] Construct topology response message #525

Closed
5 of 6 tasks
arnout opened this issue Nov 29, 2019 · 4 comments
Closed
5 of 6 tasks

[TASK] Construct topology response message #525

arnout opened this issue Nov 29, 2019 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@arnout
Copy link
Collaborator

arnout commented Nov 29, 2019

Description

When an agent receives a topology query, it should reply with a topology response.

Exit criteria

  • Agent (or discovery, cfr. Topology discovery full support #300) replies to Topology Query with a Topology Response.
  • Response contains device information TLV
  • Response contains device bridging capability TLV
  • Response contains Supported Service TLV
  • Response contains AP Operational BSS TLV
  • Response contains Associated Clients TLV

Detailed description

The certification test only checks that it contains a SupportedService TLV and an OperationalBSS TLV. Still, controllers may expect it to also contain the other TLVs mandated by IEEE1905.1, so these should be included as well.

Currently, the topology query is captured by the agent, but no response is sent. As part of #300, this functionality will move to the discovery; for now, however, it can still be implemented as part of the agent.

The device information TLV should contain a list of interfaces, and the bridging capability TLV should contain a list of bridges with a list of interfaces per bridge. Since we only support a single bridge at the moment, the bridging capability TLV will contain the same interfaces as the device information TLV.

The device information TLV should ideally contain an entry for every port on the switch. However, often a switch chip has only one MAC address for all ports on that chip. Therefore, we should probably only include a single interface for all wired ethernet ports (even if the ports are identified by a separate interface at the Linux level, and even if some of them have different MAC addresses).

AP Operational BSS info can be retrieved from hostapd with GET_CONFIG command for each interface. The list of interfaces (= BSSes) can be retrieved with INTERFACES. Note that this information must come from the slaves, while the TLV is to be constructed by the backhaul manager (or discovery after #300), so extra ACTIONs will be needed for it.

Some additional TLVs are specified as required by 1905.1 and 1905.1a, but we can probably get away with not implementing them for now:

  • non-1905 neighbor device list TLVs
  • 1905.1 neighbor device TLVs
  • power off interface TLV (1905.1a)
  • L2 neighbor device TLV (1905.1a)
@arnout arnout added the enhancement New feature or request label Nov 29, 2019
@tomereli
Copy link
Collaborator

tomereli commented Dec 5, 2019

@tomereli
Copy link
Collaborator

tomereli commented Dec 5, 2019

@ghost
Copy link

ghost commented Jan 20, 2020

@arnout
Copy link
Collaborator Author

arnout commented Apr 16, 2020

We report only a single interface for the time being. Therefore, we don't need the device bridging capability TLV:

If a 1905.1 device has more than one interface, then the 1905.1 management entity shall include one device bridging capability TLV.

So for the time being, we don't need it. Therefore, I'm closing this issue and moving #701 to M3.

@arnout arnout closed this as completed Apr 16, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants