Jump to: navigation, search


Genius Facts

Project Creation Date: March 24, 2016 [1]
Lifecycle State: Incubation
Type: Protocol
Primary Contact: Hema Gopalakrishnan <hema.gopalkrishnan@ericsson.com>
Project Lead: Hema Gopalakrishnan <hema.gopalkrishnan@ericsson.com>

  • Vivek Srivastava <vivek.v.srivastava@ericsson.com>
  • Faseela K <k.faseela@gmail.com>
  • Vishal Thapar <vthapar@redhat.com>
  • Sam Hague <shague@redhat.com>
  • David Suarez Fuentes <david.suarez.fuentes@gmail.com>
  • Michael Vorburger <vorburger@redhat.com>
  • Hema Gopalakrishnan <hema.gopalkrishnan@ericsson.com>


  • Andre Fredette <anfredette@gmail.com>
  • Brady Allen Johnson <bjohnson@inocybe.ca>
  • Sasidharan S <sasidharan.s.sambasivam@ericsson.com>
  • Yi Y Yang <yi.y.yang@intel.com>

IRC: freenode.net #opendaylight-genius
Mailing List: genius-dev@lists.opendaylight.org
    Archives: mailing list archives

  • When: Thursdays
    • 10:00 am to 11:00 am IST
    • 9:30 pm to 10:30 pm PST/PDT
    • 12:30 am to 1:30 am EST/EDT
    • 4:30 am to 5:30 am UTC during Daylight Time
    • 5:30 am to 6:30 am UTC during Standard Time
  • Where:

Repository: git clone https://git.opendaylight.org/gerrit/genius
Jenkins: jenkins silo
Gerrit Patches: code patches/reviews

Genius project provides Generic Network Interfaces, Utilities & Services. Any ODL application can use these to achieve interference-free co-existence with other applications using Genius. In the the first phase (ODL-Boron time frame), Genius would provide following modules --

  • Modules providing a common view of Network interfaces for different services
    • Interface (logical port) Manager
      • Allows bindings/registration of multiple services to logical ports/interfaces
      • Ability to plugin different types of southbound protocol renderers
    • Overlay Tunnel Manager
      • Creates and maintains overlay tunnels between configured TEPs
  • Modules providing commonly used functions as shared services to avoid duplication of code and waste of resources.
    • Aliveness Monitor
      • Provides tunnel/nexthop aliveness monitoring services
    • ID Manager
      • Generates persistent unique integer IDs
    • MD-SAL Utils
      • Provides common generic APIs for interaction with MD-SAL

Project Information

Project Proposal

Git patches and reviews


Trello Board

JIRA Genius Dashboard

Genius Docs

Release Release Plan Release Notes Release Review Installation Guide User Guide Developer Guide Testplan How-To's/Tutorials
Boron Release Plan Release Note Release Review - Genius User Guide Genius Design doc Boron Test Plan -
Carbon Release Plan - Release Review - Genius User Guide Genius Design doc Carbon Test Plan -
Nitrogen Release Plan - - - Genius User Guide Genius Design doc NitrogenTest Plan -
Oxygen Release Plan - - - Genius User Guide Genius Design doc OxygenTest Plan -

Getting started for users

Genius Overview

Genius User Guide

App co-existence with Genius

Information for developers

Genius Design doc

Design specifications for new features

Committers typically do not review changes with build failures; it is the Gerrit Owner's responsibility to get them to build. If you're facing build issues you don't know how to solve, email the genius-dev list asking for help (don't just wait and expect committers to notice your proposed change and help you fix its build).

Feel free to email the genius-dev list after 1 week of no movement on a (green ticked build passing) Gerrit.

Information for committers

We do not "self merge" our own changes, but add other committers as reviewers. The first reviewing committer will +1, the second reviewing committer will +2. Any other committers can merge proposed changes with at least x2 +1 from contributors.

The one exception to the rule is that we allow self merging critical changes required to unblock broken builds.

If you've been added as a Reviewer to a change you don't feel comfortable reviewing, or don't anticipate to have the time to review within say 1 week, then you may want to remove yourself from the review, ideally with a short comment, to signal that to the owner, so that he can find others willing to review (or make changes to significantly simplify or further extensively document and re-add), instead of "doing nothing" and letting reviews "linger" for too long with no action.

We aim to review all pending Gerrits which have passed Verify and have no merge conflicts and no -1/-2 (and only those) in the weekly meeting. We ignore pending Gerrits which are not Verify. (Here are those with -1/-2 reviews.)

We occasionally review the list of all pending very old Gerrits which may be should and can be abandoned (or need to poke people).

Existing Codebase

Genius project will leverage codebase from existing ‘vpnservice’ project in Opendaylight, in particular following modules will be used.

Interface Manager https://git.opendaylight.org/gerrit/gitweb?p=vpnservice.git;a=tree;f=interfacemgr;hb=HEAD
Overlay Tunnel Manager https://git.opendaylight.org/gerrit/gitweb?p=vpnservice.git;a=tree;f=itm;hb=HEAD
Aliveness monitor https://git.opendaylight.org/gerrit/gitweb?p=vpnservice.git;a=tree;f=alivenessmonitor;hb=HEAD
ID Manager https://git.opendaylight.org/gerrit/gitweb?p=vpnservice.git;a=tree;f=idmanager;hb=HEAD
MD-SAL Utils https://git.opendaylight.org/gerrit/gitweb?p=vpnservice.git;a=tree;f=mdsalutil;hb=HEAD

List of all subpages and other information

Genius Project Proposal

Genius:Boron:Release NoteGenius:Boron:Release ReviewGenius:Boron Release Plan
Genius:Carbon:Release ReviewGenius:Carbon Release PlanGenius:Design doc
Genius:MainGenius:Nitrogen Release PlanGenius:Oxygen Release Plan
Genius:Sharding evolutionGenius: App co-existence with GeniusGenius: User Guide
Genius:boron test planGenius:carbon test planGenius:test plan
Genius : An Overview