commit | 03e552723f72ae4199c8e3e2cffa12aced74c7b5 | [log] [tgz] |
---|---|---|
author | Tunahan Sezen <tunahan.sezen@netsia.com> | Sat Apr 18 09:18:53 2020 +0000 |
committer | Tunahan Sezen <tunahan.sezen@netsia.com> | Fri Apr 24 13:01:54 2020 +0300 |
tree | 74940164e57c2ccd2fbb2d4f43d28f3147f949f6 | |
parent | 752d98d2d7976864e613915797c5333cd132e23f [diff] |
initial code for the mac-learning app Change-Id: I04f3b17c453e502f20477e83cb7cdc796b4160ae
MAC Learner is an ONOS application that examines the DISCOVER or REQUEST type DHCP packets and keeps the MAC address temporarily according to the device, port and vlanId information obtained from these packets. If the package has a single tag, VlanVID is used; if it is a double tag, QinqVID is used as vlanId.
MAC Learner has REST API and CLI integration. You can access and modify MAC Address map via these.
By defining ports to the Igonered Port Map, it can be ensured that DHCP packets from these ports are not taken into account.
###Parameters
cacheDurationSec - MAC Mappings are held with a timestamp and scheduled executor running in the background that clears expired mappings(exist more than cacheDuration). The operating frequency of this executor can be set with this parameter. By default, it is 86400(1 day).
enableDeviceListener - By enabling this parameter, the relevant mappings can be cleared for DEVICE_REMOVED and PORT_REMOVED device events. By default it is disabled.