MAC Learning ONOS Application

Clone this repo:
  1. 577ec50 Starting snapshot 1.2.3-SNAPSHOT with API version 1.2.3-SNAPSHOT by Jenkins · 5 months ago master
  2. 229ca81 Release app version 1.2.2 with API version 1.2.2 by Jenkins · 5 months ago 1.2.2
  3. 726185c [VOL-5039] - Build and deploy mac-learning for v2.12 by Joey Armstrong · 6 months ago
  4. 08bd13f [VOL-5049] - Build and deploy mac-learner by Joey Armstrong · 5 months ago
  5. 53fcac2 VOL-4836 - Cosmetic edits to trigger a jenkins job. by Joey Armstrong · 11 months ago v2.11.0

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.