ONOS control plane

Hello,
I don’t know if this is the perfect spot to make this question but does anyone know a good tutorial about ONOS with P4 and if possible some interesting topics about them for a diploma thesis?

Hi,

I believe that if you complete the whole NG-SDN tutorial you will be able to program simple applications for yourself. They have a pre-built VM so it will help with the whole process. You can follow the slides, and it has 8 exercises nowadays. I have a little bit of experience with ONOS and it is not an easy path since it takes some time to understand the controller architecture, but it is a well-built open-source controller. It will be worth the time if you plan to build an application for yourself.

Make sure you “git pull” again within the exercise folder to be sure you have the latest tutorial contents.

EDIT:

In terms of topics, it all depends:

  1. How much time you got for it.
  2. If you feel confortable with programming in Java (controller) and P4.
  3. Your interest in topics, if it is mostly related to the control plane like Intent-networking, path computation, etc.
    Or othe topics that might involve the data plane to a bigger extent like data plane modularity or Inband Network Telemetry. I mean, all topics involve both planes it is just that some topics are sometimes more attached to one or the other.
  4. Also, are you can find some examples online and see if you like a particular topic.

Cheers,

Basically, I have enough time till September which I want to finish my thesis. I think i can deal with the code either p4 or java, a general interest for me is the SDN world i think,i have hands on experience with openflow and P4, P4Runtime but i can’t find some project for a thesis that is interested for me. With my supervisor we said to see the ONOS controller but i can’t think any ideas with it.

I did a thesis about SDN and I can understand your lack of exact interest in one or other specific topic in SDN. However, “SDN in general” is probably too far from a specific topic.

I still recommend checking the Google search link I posted before for some ideas. There are some search engines for PhD and Master thesis that can help on picking an idea. See examples here or here.

If you can pick a particular interest towards a topic in particular we might be able to help further.

Cheers,

Hi! I have completed NG-SDN tutorial and successfully done link/host discovery through P4Runtime and ONOS on same virtual environment. Now, I want to discover it remotely. An environment that has separate VM’s, one for p4Runtime and other for ONOS. I tried to give IP address of VM in all files that contain @remotecontroller, it discovers the controller on p4Runtime terminal but on ONOS UI, it doesn’t display any output. Can you give me some guidance, please.

Hi @Maryam ,

How are you deploying the controller?

You might need to expose the GUI port so that you can access it remotely using your web browser.

Cheers,

Deployed it using docker container, from link https://github.com/jatj/sdn_onos/blob/master/INSTALL.md

I accessed the ONOS GUI remotely by entering the IP address of the machine running ONOS and the port number in web browser i.e. http://192.168.0.10:8181

The other VM has same NGSDN setup and API’s. On same VM it works but remotely it doesn’t display anything on ONOS UI. However it does show ONOS as a device when I run command (Image 1 for reference). Even in Stratum_bmv2 log files, I put the IP address instead of passing it through remote controller. Image 2 is, what I accessed through NGSDN.


Is there any solution to access it remotely?

Do you know the “public” IP of you controller machine? You are using a private one in the example. If it is your home IP, you can check it with using this website. You also need to open ports in the router (one example here).

If you are doing this from your university you do not have plenty of chances to modify the port forwarding/routing. Of course you can ask your IT team. You can, however, create a tunnel with a public VPS or something like that (you need to pay for that but they are not expensive, maybe 5 or 10$ a month) and use the intermediate machine to tunnel the requests for ONOS. You give the VPS public IP to the switches, and the VPS will tunnel all those requests to the controller. That’s what you achieve with the SSH tunnel.

Cheers,