SDN-IP tutorial with custom topology

758 views
Skip to first unread message

Nikola

unread,
May 18, 2016, 12:56:35 PM5/18/16
to ONOS Discuss
Hello everyone,

I am doing a project with ONOS and SDN-IP, and have gone over the tutorial and the network provided with it.

I would like to change the network topology on the tutorial vm so that there is a different number of switches, routers and the links between them, but to leave the bgp speaker and root as they are.
Just wanted to make sure before I get started that I'm not doing something wrong:

- I need to change the tutorial.py (/home/sdnip/sdnip/tutorial.py or change the address to another file in the mininet desktop file) topology file that mininet uses to my own custom topology
- Change the addresses and the configuration files in the /home/sdnip/sdnip/configs to the new topology
- Since the way onos, bgp speaker and root are configured is fine and not needed to be changed, I can just leave everything with their addresses as it is

I just want to make sure I'm not forgetting something and going in the right direction, I'm pretty new to onos and mininet.

Regards,
Nikola Jovanovic

Faisal Gmail personal

unread,
May 18, 2016, 1:13:45 PM5/18/16
to Nikola, ONOS Discuss
Hello Nikola, 
 This is what I did to learn and understand how ONOS.l Example topology works , I did it with Packet optical, but I believe it will be same for SDN-IP,  
1. Create new python file in the same location where tutorial.py is there. You can name it anything let's call it NFile.py .    I will tell you the reason why I asked you to create in the same location. 

2. Copy the content of the tutorial.py to NFile.py, and t
now edit  NFile.py the way you wanted.  

3. Now run the file same way you ran the tutorial.py. I hope that  should work.  

The reason why I asked you to keep the NFile.py in the same location because,  the topology files  uses some dependences like other. Py files and libraries, which are usually kept in the same location.  ‎If you think there are no extra libraries other than mininet library for your topology then there should not be a problem if you  move the file to other location.  


Good Luck!!

Regards,
Faisal Ameen

Sent from my BlackBerry 10 smartphone on the Fido network.
From: Nikola
Sent: Wednesday, May 18, 2016 12:56 PM
To: ONOS Discuss
Subject: [onos-discuss] SDN-IP tutorial with custom topology

--
You received this message because you are subscribed to the Google Groups "ONOS Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to onos-discuss...@onosproject.org.
To post to this group, send email to onos-d...@onosproject.org.
Visit this group at https://groups.google.com/a/onosproject.org/group/onos-discuss/.
To view this discussion on the web visit https://groups.google.com/a/onosproject.org/d/msgid/onos-discuss/b2633691-0fd7-44fe-9fd3-e6c7264c26af%40onosproject.org.

Jonathan Hart

unread,
May 19, 2016, 12:28:58 PM5/19/16
to Faisal Gmail personal, Nikola, ONOS Discuss
Hi,

That sounds like a good plan to me.

Thanks,

Jono

Nikola Jovanovic

unread,
May 20, 2016, 8:57:57 PM5/20/16
to Jonathan Hart, Faisal Gmail personal, ONOS Discuss
Hello,

Sorry for the late response, but I've been trying out changing the topology file, and it works nicely as far as changing switches and links between them in the ONOS ran SDN network.

But I've ran into a problem concerning changing the number of outside routers. I've tried adding an r5 router connected to the s4, and changing the configuration files (added a quagga5 file and the new address and such in all files) and ONOS just doesn't seem to notice the new network 192.168.5.0/24 when checking with the routes command.

The new route and the router (host) itself appears on the gui and I can access it with the command from mininet, but the network doesn't appear in ONOS.

Also as a side note, I have removed the ! before the network in quagga4 file and it's not there in quagga5 either.

I've attached all the files I've changed, all from the /home/sdnip/sdnip directory.

I realize this is more of an issue with me not knowing mininet and quagga as well as I should, rather than ONOS, but any help is appreciated!

Thank you for your consideration,
Nikola Jovanovic
sdnip.rar

Jonathan Hart

unread,
May 23, 2016, 1:26:38 PM5/23/16
to Nikola Jovanovic, Faisal Gmail personal, ONOS Discuss
Hi,

The way to solve this is to simply debug the system step-by-step.

The first thing to check is does the new external router (r5) have connectivity to the internal BGP speaker and are they peering with one another? You can go into the Quagga shell on either node and run "show ip bgp summary" to see if the peering sessions are up. If not, this probably indicates a problem with the ONOS configuration because ONOS hasn't set up the path through the network for the BGP traffic correctly.

Next, I'd go to the internal BGP speaker and check if he has been advertised the route from r5. You can do this in the Quagga shell with "show ip bgp", and you should see the new route here if everything is working.

Thanks,

Jono

Jonathan Hart

unread,
May 23, 2016, 4:27:17 PM5/23/16
to Nikola Jovanovic, onos-discuss
Hi Nikola,

This output shows that r5 is not peering with your internal BGP speaker. It's somewhat counter-intuitive, but when it says 'Connect' beside a peer it means it is not yet connected but it is trying to connect.

The problem is probably that the configuration in ONOS is wrong, so ONOS is not able to install the intents that allow the BGP peering to be set up. Do you see any intents that are not installed properly in ONOS? Can you double-check that all ports/IP address in the ONOS configuration is correct? Can you post your config file here?

Thanks,



Jono

On Mon, May 23, 2016 at 11:09 AM, Nikola Jovanovic <nik9jo...@gmail.com> wrote:
Hi Jono,

Thank you for the answer.

I have ran both commands on both routers, in the "shop ip bgp summary" on r5:

GP router identifier 10.0.5.1, local AS number 65005
RIB entries 1, using 112 bytes of memory
Peers 1, using 4568 bytes of memory

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.0.5.101      4 65000       0       0        0    0    0 never    Connect   

and "show ip bgp" on r5:

BGP table version is 0, local router ID is 10.0.5.1
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
              i internal, r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 192.168.5.0      0.0.0.0                  0         32768 i

Total number of prefixes 1

While on bgp router it says for "show ip bgp summary":

BGP router identifier 10.10.10.1, local AS number 65000
RIB entries 7, using 784 bytes of memory
Peers 6, using 27 KiB of memory

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.0.1.1        4 65001     188     191        0    0    0 00:09:18        1
10.0.2.1        4 65002     187     191        0    0    0 00:09:17        1
10.0.3.1        4 65003     189     194        0    0    0 00:09:22        1
10.0.4.1        4 65004     188     191        0    0    0 00:09:18        1
10.0.5.1        4 65005       0       0        0    0    0 never    Connect   
10.10.10.2      4 65000     182     194        0    0    0 00:09:24        0

Total number of neighbors 6

And the "show ip bgp":

BGP table version is 0, local router ID is 10.10.10.1
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
              i internal, r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 192.168.1.0      10.0.1.1                 0             0 65001 i
*> 192.168.2.0      10.0.2.1                 0             0 65002 i
*> 192.168.3.0      10.0.3.1                 0             0 65003 i
*> 192.168.4.0      10.0.4.1                 0             0 65004 i

Total number of prefixes 4

So I think they are peering, just ONOS hasn't configured the paths properly. How do I fix this?

Regards,
Nikola Jovanovic

Nikola Jovanovic

unread,
May 23, 2016, 7:05:40 PM5/23/16
to Jonathan Hart, ONOS Discuss
Hello Jono,

I have run the intents command, and I see that compared to the tutorial setup there are a few more lines added, but nothing seems all that different to me, except that there are no intents towards s4 or r5.

I have double- and triple-checked the ports and the config files, but I'm not sure which config file do you specifically mean, because I thought all of them in the configs folder needed to be changed.

I have attached the result of the 'intents' command as well as all the files I've changed, the config files and the tutorial.py.

Hopefully you'll be able to find the problem.

Regards,
Nikola Jovanovic
onos_intents_mine
quagga-sdn.conf
sdnip.json
zebra.conf
tutorial.py
addresses.json
gui.json
quagga1.conf
quagga2.conf
quagga3.conf
quagga4.conf
quagga5.conf

Jonathan Hart

unread,
May 24, 2016, 12:07:25 PM5/24/16
to Nikola Jovanovic, ONOS Discuss
Hi,

The configuration files look correct, but I'm suspecting that ONOS is not reading them because there are no intents related to the 10.0.5.0/24 network. You could check this by running the 'address-bindings' command in ONOS - if you don't see anything about 10.0.5.101 then ONOS is probably not reading your updated config files.

Where are you modifying the sdnip.json and addresses.json files?

Thanks,

Jono

Nikola Jovanovic

unread,
May 24, 2016, 1:01:43 PM5/24/16
to Jonathan Hart, ONOS Discuss
Hello Jono,

I found out what the problem was, I was changing the config files in the wrong directory!

I was changing them in the /home/sdnip/sdnip/configs because I thought that was the working directory of onos, since it's the same one from where quagga routers are set-up.
Then I tried searching around for addresses.json and realized they are in a lot more directories and it seems that onos' directory is /home/mininet/onos/tools/package/config.
After changing the addresses.json and sdnip.json in that directory and running onos and mininet I finally got a connection between r5/h5 and the rest of the network, and the ping and routes work just fine!

Thanks a lot for your help!

Best regards,
Nikola Jovanovic

Jonathan Hart

unread,
May 24, 2016, 1:26:07 PM5/24/16
to Nikola Jovanovic, ONOS Discuss
Great, glad you solved it.

Cheers,

Jono

jsebasti...@gmail.com

unread,
Feb 13, 2018, 5:22:56 AM2/13/18
to ONOS Discuss, jo...@onlab.us
Hello Nikola, I need some assistance with SDN-IP, are you still familiar with this app?

Thanks!

leopi...@gmail.com

unread,
Jun 6, 2019, 5:26:10 AM6/6/19
to ONOS Discuss
Hello everyone,

I am trying to edit the sdn-ip topology as follows:hour after each edge router add a switch and connect it to its own onos controller. 
Summarizing on each external AS I want it to be controlled by its own controller.

Someone could help me please?

Best Regards 

wow...@gmail.com

unread,
Oct 23, 2019, 5:19:02 AM10/23/19
to ONOS Discuss, jo...@onlab.us
Hi...can i know others file with directories you used? because the quagga.conf also have at many dir..

i hope get respond for you..

tq
alan

Jono

Nikola Jovanovic



Jono


Jono


Jono

To unsubscribe from this group and stop receiving emails from it, send an email to onos-d...@onosproject.org.

--
You received this message because you are subscribed to the Google Groups "ONOS Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to onos-d...@onosproject.org.

To post to this group, send email to onos-d...@onosproject.org.
Visit this group at https://groups.google.com/a/onosproject.org/group/onos-discuss/.
Reply all
Reply to author
Forward
0 new messages