p4-dev@lists.p4.org

list for questions/discussion of p4 programs and tools

View all threads

p4 - onos - ngsdn --- LLDP - Link discovery service

PM
pilar.manzanares@upct.es
Sun, Feb 28, 2021 8:18 PM

Hello,

I have done all the NG-SDN exercises and all of them work. However, I have problems when using wider topologies. In particular, link discovery doesn't work well if the mininet topology consists of more than 16 nodes. I have created a topo.py file defining the new topology, the netcfg.json file defines the gRPC address and port associated with each stratum device (for example, "managementAddress": "grpc://mininet:50001?device_id=1" to "managementAddress": "grpc://mininet:50016?device_id=1"), and finally I have modified the docker-compose.yml file to include the required values in the "ports" field (ports: -"50001-50001" -"50002-50002" ... to -"50017-50017"  ).

Using onos cli, it can be checked that all the devices are discovered, but not all the links. I always use the same files but, depending on the execution, sometimes certains links are not discovered and sometimes others.

All the stratum devices generata and receive the LLDP packets correctly. I have checked it with tcpdump. With "onos> devices" I get the list of all the nodes (onos "discovers" all of them) and it has the correct port list for each one, even if the link has not been discovered. However, consulting the node tables with "onos> flows -s any device:swxx", some nodes have the number of received lldp packets at 0 (the corresponding entry of the acl_table is kept at 0). Just those nodes, by not sending the lldps as packet_in to onos, do not "report" the links. However, as I said before, with tcpdump I can check that the lldps are received. I guess the problem is in the gRPC communication.

For example (see the figure), if the topology consists of 16 nodes (sw01-sw16), everything goes correctly (all links are discovered, black and red). On the other hand, when sw17 is included in the topology, some links are not discovered. For example, in the execution from which I have taken this screenshot, the red and blue links are not discovered). In another execution, only 2 reds and blue were not discovered...

Captura.JPG


I am running all this on the virtual machine offered by ng-sdn group... probably the problem is related to the virtual machine resources, although it seems strange to me with so few nodes.

I would appreciate any help.

Thanks a lot

Hello,\ \ I have done all the NG-SDN exercises and all of them work. However, I have problems when using wider topologies. In particular, link discovery doesn't work well if the mininet topology consists of more than 16 nodes. I have created a topo.py file defining the new topology, the netcfg.json file defines the gRPC address and port associated with each stratum device (for example, "managementAddress": "grpc://mininet:50001?device_id=1" to "managementAddress": "grpc://mininet:50016?device_id=1"), and finally I have modified the docker-compose.yml file to include the required values in the "ports" field (ports: -"50001-50001" -"50002-50002" ... to -"50017-50017"  ).\ \ Using onos cli, it can be checked that all the devices are discovered, but not all the links. I always use the same files but, depending on the execution, sometimes certains links are not discovered and sometimes others. \ \ All the stratum devices generata and receive the LLDP packets correctly. I have checked it with tcpdump. With "onos> devices" I get the list of all the nodes (onos "discovers" all of them) and it has the correct port list for each one, even if the link has not been discovered. However, consulting the node tables with "onos> flows -s any device:swxx", some nodes have the number of received lldp packets at 0 (the corresponding entry of the acl_table is kept at 0). Just those nodes, by not sending the lldps as packet_in to onos, do not "report" the links. However, as I said before, with tcpdump I can check that the lldps are received. I guess the problem is in the gRPC communication. For example (see the figure), if the topology consists of 16 nodes (sw01-sw16), everything goes correctly (all links are discovered, black and red). On the other hand, when sw17 is included in the topology, some links are not discovered. For example, in the execution from which I have taken this screenshot, the red and blue links are not discovered). In another execution, only 2 reds and blue were not discovered... ![Captura.JPG](https://mail.google.com/mail/u/0?ui=2&ik=67eceecc29&attid=0.1&permmsgid=msg-f:1692782928952642256&th=177df91aea114ad0&view=fimg&sz=s0-l75-ft&attbid=ANGjdJ9YdrvV0b0VxRooNf8NC48dvJc5ZYm9KM7IgjD5hC-Ie7si_qiV-I8xVUhqF27wxR92GoCCyjBrpQqzHNqjFtVgwY78i0d2PX2pZfhk-NtnfA7dmQF3piuZeAw&disp=emb&realattid=9c97c44e-dbe1-4196-a3b9-552b843f2dba) \ I am running all this on the virtual machine offered by ng-sdn group... probably the problem is related to the virtual machine resources, although it seems strange to me with so few nodes.\ \ I would appreciate any help. Thanks a lot
PM
Pilar Manzanares
Sun, Feb 28, 2021 8:22 PM

Hello,

I have done all the NG-SDN exercises and all of them work. However, I
have problems when using wider topologies. In particular, link discovery
doesn't work well if the mininet topology consists of more than 16
nodes. I have created a topo.py file defining the new topology, the
netcfg.json file defines the gRPC address and port associated with each
stratum device (for example, "managementAddress":
"grpc://mininet:50001?device_id=1" to "managementAddress":
"grpc://mininet:50016?device_id=1"), and finally I have modified the
docker-compose.yml file to include the required values in the "ports"
field (ports: -"50001-50001" -"50002-50002" ... to -"50017-50017"  ).

Using onos cli, it can be checked that all the devices are discovered,
but not all the links. I always use the same files but, depending on the
execution, sometimes certains links are not discovered and sometimes
others.

All the stratum devices generata and receive the LLDP packets correctly.
I have checked it with tcpdump. With "onos> devices" I get the list of
all the nodes (onos "discovers" all of them) and it has the correct port
list for each one, even if the link has not been discovered. However,
consulting the node tables with "onos> flows -s any device:swxx", some
nodes have the number of received lldp packets at 0 (the corresponding
entry of the acl_table is kept at 0). Just those nodes, by not sending
the lldps as packet_in to onos, do not "report" the links. However, as I
said before, with tcpdump I can check that the lldps are received. I
guess the problem is in the gRPC communication.

For example (see the figure), if the topology consists of 16 nodes
(sw01-sw16), everything goes correctly (all links are discovered, black
and red). On the other hand, when sw17 is included in the topology, some
links are not discovered. For example, in the execution from which I
have taken this screenshot, the red and blue links are not discovered).
In another execution, only 2 reds and blue were not discovered...
network

I am running all this on the virtual machine offered by ng-sdn group...
probably the problem is related to the virtual machine resources,
although it seems strange to me with so few nodes.

I would appreciate any help.

Thanks a lot

El 28/02/2021 a las 21:18, pilar.manzanares@upct.es escribió:

Hello,

I have done all the NG-SDN exercises and all of them work. However, I
have problems when using wider topologies. In particular, link
discovery doesn't work well if the mininet topology consists of more
than 16 nodes. I have created a topo.py file defining the new
topology, the netcfg.json file defines the gRPC address and port
associated with each stratum device (for example, "managementAddress":
"grpc://mininet:50001?device_id=1" to "managementAddress":
"grpc://mininet:50016?device_id=1"), and finally I have modified the
docker-compose.yml file to include the required values in the "ports"
field (ports: -"50001-50001" -"50002-50002" ... to -"50017-50017"  ).

Using onos cli, it can be checked that all the devices are discovered,
but not all the links. I always use the same files but, depending on
the execution, sometimes certains links are not discovered and
sometimes others.

All the stratum devices generata and receive the LLDP packets
correctly. I have checked it with tcpdump. With "onos> devices" I get
the list of all the nodes (onos "discovers" all of them) and it has
the correct port list for each one, even if the link has not been
discovered. However, consulting the node tables with "onos> flows -s
any device:swxx", some nodes have the number of received lldp packets
at 0 (the corresponding entry of the acl_table is kept at 0). Just
those nodes, by not sending the lldps as packet_in to onos, do not
"report" the links. However, as I said before, with tcpdump I can
check that the lldps are received. I guess the problem is in the gRPC
communication.

For example (see the figure), if the topology consists of 16 nodes
(sw01-sw16), everything goes correctly (all links are discovered,
black and red). On the other hand, when sw17 is included in the
topology, some links are not discovered. For example, in the execution
from which I have taken this screenshot, the red and blue links are
not discovered). In another execution, only 2 reds and blue were not
discovered...

Captura.JPG

I am running all this on the virtual machine offered by ng-sdn
group... probably the problem is related to the virtual machine
resources, although it seems strange to me with so few nodes.

I would appreciate any help.

Thanks a lot


P4-dev mailing list -- p4-dev@lists.p4.org
To unsubscribe send an email to p4-dev-leave@lists.p4.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

--

PILAR MANZANARES LOPEZ
Department of Information Technologies and Communications
Technical University of Cartagena
Antiguo Cuartel de Antigones (Campus Muralla del Mar)
E-30202 Cartagena, Spain
Tel. +34 968 326534, Fax +34 968 325973

Hello, I have done all the NG-SDN exercises and all of them work. However, I have problems when using wider topologies. In particular, link discovery doesn't work well if the mininet topology consists of more than 16 nodes. I have created a topo.py file defining the new topology, the netcfg.json file defines the gRPC address and port associated with each stratum device (for example, "managementAddress": "grpc://mininet:50001?device_id=1" to "managementAddress": "grpc://mininet:50016?device_id=1"), and finally I have modified the docker-compose.yml file to include the required values in the "ports" field (ports: -"50001-50001" -"50002-50002" ... to -"50017-50017"  ). Using onos cli, it can be checked that all the devices are discovered, but not all the links. I always use the same files but, depending on the execution, sometimes certains links are not discovered and sometimes others. All the stratum devices generata and receive the LLDP packets correctly. I have checked it with tcpdump. With "onos> devices" I get the list of all the nodes (onos "discovers" all of them) and it has the correct port list for each one, even if the link has not been discovered. However, consulting the node tables with "onos> flows -s any device:swxx", some nodes have the number of received lldp packets at 0 (the corresponding entry of the acl_table is kept at 0). Just those nodes, by not sending the lldps as packet_in to onos, do not "report" the links. However, as I said before, with tcpdump I can check that the lldps are received. I guess the problem is in the gRPC communication. For example (see the figure), if the topology consists of 16 nodes (sw01-sw16), everything goes correctly (all links are discovered, black and red). On the other hand, when sw17 is included in the topology, some links are not discovered. For example, in the execution from which I have taken this screenshot, the red and blue links are not discovered). In another execution, only 2 reds and blue were not discovered... network I am running all this on the virtual machine offered by ng-sdn group... probably the problem is related to the virtual machine resources, although it seems strange to me with so few nodes. I would appreciate any help. Thanks a lot El 28/02/2021 a las 21:18, pilar.manzanares@upct.es escribió: > > Hello, > > I have done all the NG-SDN exercises and all of them work. However, I > have problems when using wider topologies. In particular, link > discovery doesn't work well if the mininet topology consists of more > than 16 nodes. I have created a topo.py file defining the new > topology, the netcfg.json file defines the gRPC address and port > associated with each stratum device (for example, "managementAddress": > "grpc://mininet:50001?device_id=1" to "managementAddress": > "grpc://mininet:50016?device_id=1"), and finally I have modified the > docker-compose.yml file to include the required values in the "ports" > field (ports: -"50001-50001" -"50002-50002" ... to -"50017-50017"  ). > > Using onos cli, it can be checked that all the devices are discovered, > but not all the links. I always use the same files but, depending on > the execution, sometimes certains links are not discovered and > sometimes others. > > All the stratum devices generata and receive the LLDP packets > correctly. I have checked it with tcpdump. With "onos> devices" I get > the list of all the nodes (onos "discovers" all of them) and it has > the correct port list for each one, even if the link has not been > discovered. However, consulting the node tables with "onos> flows -s > any device:swxx", some nodes have the number of received lldp packets > at 0 (the corresponding entry of the acl_table is kept at 0). Just > those nodes, by not sending the lldps as packet_in to onos, do not > "report" the links. However, as I said before, with tcpdump I can > check that the lldps are received. I guess the problem is in the gRPC > communication. > > For example (see the figure), if the topology consists of 16 nodes > (sw01-sw16), everything goes correctly (all links are discovered, > black and red). On the other hand, when sw17 is included in the > topology, some links are not discovered. For example, in the execution > from which I have taken this screenshot, the red and blue links are > not discovered). In another execution, only 2 reds and blue were not > discovered... > > Captura.JPG > > > I am running all this on the virtual machine offered by ng-sdn > group... probably the problem is related to the virtual machine > resources, although it seems strange to me with so few nodes. > > I would appreciate any help. > > Thanks a lot > > > > > _______________________________________________ > P4-dev mailing list -- p4-dev@lists.p4.org > To unsubscribe send an email to p4-dev-leave@lists.p4.org > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s -- ------------------------------------------------------------ PILAR MANZANARES LOPEZ Department of Information Technologies and Communications Technical University of Cartagena Antiguo Cuartel de Antigones (Campus Muralla del Mar) E-30202 Cartagena, Spain Tel. +34 968 326534, Fax +34 968 325973