ONOS 6LowPan can't ping

52 views
Skip to first unread message

Pietro Zanetti

unread,
May 17, 2023, 8:51:09 AM5/17/23
to mininet-wifi-discuss
.1.png
I've been trying to ping as shown and don't receive any package. Am I doing anything wrong?The process executed is showed below.
  • docker run -t -d -p 8181:8181 -p 8101:8101 -p 5005:5005 -p 830:830 --name onos onosproject/onos
  • Applications:
    • OpenFlow Base Provider
    • Reactive Forwarding
    • Control Message Stats Provider
    • OpenFlow Agent
    • OpenFlow Provider Suite
    • Openflow overlay
  • Execute topology:
#!/usr/bin/env python #import sys #from mininet.log import setLogLevel, info #from mn_wifi.sixLoWPAN.link import LoWPAN #from mn_wifi.cli import CLI #from mn_wifi.net import Mininet_wifi #from mininet.node import RemoteController #from mininet.node import OVSKernelSwitch, UserSwitch import sys from mininet.log import setLogLevel, info from mn_wifi.sixLoWPAN.link import LoWPAN from mn_wifi.cli import CLI from mn_wifi.net import Mininet_wifi from mininet.node import OVSKernelSwitch, UserSwitch from mininet.node import OVSSwitch from mn_wifi.net import Station, OVSKernelAP from mn_wifi.link import wmediumd from mn_wifi.wmediumdConnector import interference from mininet.node import Controller, RemoteController, OVSController from mininet.node import CPULimitedHost, Host, Node from mininet.link import TCLink, Intf, OVSLink from subprocess import call def topology(): "Create a network." net = Mininet_wifi( topo=None, build=False, link=OVSLink, ipBase='10.0.0.0/8') #net = Mininet_wifi(iot_module='mac802154_hwsim') # iot_module: fakelb or mac802154_hwsim # mac802154_hwsim is supported from kernel 4.18 info( '*** Adding controller\n' ) c0=net.addController('c0', controller=RemoteController, ip='172.17.0.2', protocol='tcp', port=6633) #mine s = {} sensor = {} for i in range(1, 4): sensor[i] = {} s[i] = net.addSwitch('s{}'.format(i), cls=OVSKernelSwitch, protocols=["OpenFlow10"]) for j in range(1, 5): sensor[i][j] = net.addSensor('sensor{}_{}'.format(i, j), ip6='fe80::{}/64'.format(j+((i-1)*4)), panid='0xbeef', storing_mode=2) net.configureNodes() for i in range(1,4): for j in range(i+1,4): net.addLink(s[i], s[j]) for i in range(1,4): for j in range(1, 5): net.addLink(s[i], sensor[i][j]) for k in range(1,4): for i in range(1,5): for j in range(i+1,5): net.addLink(sensor[k][i], sensor[k][j], cls=LoWPAN) info("*** Starting network\n") net.build() info( '*** Starting controllers\n') #for controller in net.controllers: # controller.start() c0.start() info( '*** Starting switches\n') for i in range(1,4): net.get('s{}'.format(i)).start([c0]) #net.get('s1').start([c0]) #net.get('s2').start([c0]) #net.get('s3').start([c0]) if '-r' in sys.argv: info("*** Configuring RPLD\n") # You must have https://github.com/linux-wpan/rpld net.configRPLD(net.sensors) info("*** Running CLI\n") CLI(net) info("*** Stopping network\n") net.stop() if __name__ == '__main__': setLogLevel('info') topology()

Ramon Fontes

unread,
May 17, 2023, 9:07:02 AM5/17/23
to Pietro Zanetti, mininet-wifi-discuss
Hello Pietro,

I have some questions:

i) Who is the destination?
ii) Are you using rpld?
iii) How is the controller managing the switching loop?

Ramon Fontes

unread,
May 17, 2023, 9:09:14 AM5/17/23
to Pietro Zanetti, mininet-wifi-discuss
one more question:

What is the reason for you to use sensors nodes if you are trying to establish communication via the ethernet interface?

Pietro Zanetti

unread,
May 17, 2023, 9:50:59 AM5/17/23
to mininet-wifi-discuss
"Based on the question you made I have another one:

What is the role of the switches? And the OF protocol itself?

ps. Please send the questions to the mailing list :)"

Sorry for the private message, Ramon. Resuming our conversation for the mainling list, the switch is necessary for the sensor nodes to exchange data, so with the OF it will be possible to make forwarding decisions

Ramon Fontes

unread,
May 17, 2023, 9:56:11 AM5/17/23
to Pietro Zanetti, mininet-wifi-discuss
I'm sorry, but I'm still confused. I didn't understand the use of 6LoWPAN, sensors and switches. It would be interesting if you describe in detail what you intend to do and why you built the network topology that way. And, of course, answer the questions unanswered.

Pietro Zanetti

unread,
May 17, 2023, 2:20:17 PM5/17/23
to mininet-wifi-discuss
Sorry for the short explanation given. My intention is to create clusters with 6lowpan sensors and then communicate from one sensor from one cluster to another, via an ethernet interface, which will be managed by an sdn using the Onos Reactive Forwarding mechanism.

The flow would be as follows:

1. The cluster source device issues a message or request.

2. This message or request is sent through the 6LoWPAN network within the cluster, reaching a device that acts as a border router.

3. The border node receives the 6LoWPAN message and converts it into a format compatible with the Ethernet network.

4. The border node forwards the encapsulated Ethernet packet to the Ethernet network.

5. The Ethernet packet is forwarded to the SDN controller.

6. Based on the routing policies defined in the SDN controller, the packet is forwarded to the destination cluster through the Ethernet network.

7. At the destination cluster, the packet is received by a border node that acts as an entry point to the 6LoWPAN network.

8. The border node converts the Ethernet packet back to 6LoWPAN format, removing the previously added Ethernet headers.

9. The 6LoWPAN packet is then sent to the target device within the cluster.

In the code I'm trying to reproduce this flow, creating a controller, 5 sensors per switch, for 4 switches and linking them.
Reply all
Reply to author
Forward
0 new messages