MAC Learning ONOS Application

Clone this repo:
  1. 7e0c6ba Release app version 1.2.1 with API version 1.2.1 by Jenkins · 7 weeks ago master 1.2.1
  2. 6f6d960 Basing on sadis 5.6.0 by Andrea Campanella · 7 weeks ago
  3. ab29890 VOL-4735 : Make autoClearMacMapping property of mac-learner configurable by amit.ghosh · 9 weeks ago
  4. 81ff5d9 Bundling properly the sadis APIs by Andrea Campanella · 5 months ago
  5. da3be77 Using better mastership mechanism for handling device events by Andrea Campanella · 5 months ago

ONOS MAC Learner Application

MAC Learner is an ONOS application that examines 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 Ignored Port Map, it can be ensured that DHCP packets from these ports are not taken into account.


  • 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).

  • autoClearMacMapping - By enabling this parameter, the relevant mappings can be cleared automatically with DEVICE_REMOVED and PORT_REMOVED device events. By default, it is disabled.