[VOL-3518] Multi-threaded packet processing in maclearner app

Change-Id: I9eb3ebec813a1f002fe0be3da46257cca1c81ff6
2 files changed
tree: 3524dfdef75cafda8150a44f90205b940117f5d9
  1. .gitignore
  2. .gitreview
  3. CODE_OF_CONDUCT.md
  4. LICENSE.txt
  5. README.md
  6. api/
  7. app/
  8. pom.xml
  9. spotbugs-security-exclude.xml
  10. spotbugs-security-include.xml
README.md

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.

Functionalities

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

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

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