intrig-unicamp / mininet-wifi

Emulator for Software-Defined Wireless Networks
https://mn-wifi.readthedocs.io/
Other
431 stars 239 forks source link

Unable ping in sdn-vanet when car moving #512

Closed nonhetnuoccham closed 8 months ago

nonhetnuoccham commented 8 months ago

Hi sir, I am having a project about sdn in vanet and I must simulate it in mininet-wifi . After running code, it is very good and i can ping 2 car in 2 ap, but after a few minute i cannot ping 2 car in 2 ap. This is my code:

import sys from random import randint

from mininet.node import DefaultController, RemoteController from mininet.log import setLogLevel, info from mn_wifi.cli import CLI from mn_wifi.net import Mininet_wifi from mn_wifi.link import wmediumd, adhoc,mesh from mn_wifi.wmediumdConnector import interference

def topology(args): "Create a network." net = Mininet_wifi(controller=RemoteController, roads=4, link=wmediumd, wmediumd_mode=interference)

info("*** Creating nodes\n")

for id in range(0, 10): min = randint(1, 4) max = randint(11, 30) net.addCar('car%s' % (id+1), wlans=2, minspeed=min, maxspeed=max)

rsu11 = net.addAccessPoint( 'RSU11', ssid='vanet-ssid', mode='g', position='2600,3500,0', proto='batmand', channel='1', intf='RSU11-wlan1', ht_cap='HT40+') rsu12 = net.addAccessPoint( 'RSU12', ssid='vanet-ssid', mode='g', position='2800,3500,0', proto='batmand', channel='6', intf='RSU12-wlan1', ht_cap='HT40+') rsu13 = net.addAccessPoint( 'RSU13', ssid='vanet-ssid', mode='g', position='3000,3500,0', proto='batmand', channel='11', intf='RSU13-wlan1', ht_cap='HT40+') rsu14 = net.addAccessPoint( 'RSU14', ssid='vanet-ssid', mode='g', position='3200,3500,0', proto='batmand', channel='11', intf='RSU14-wlan1', ht_cap='HT40+') c1 = net.addController('c1') info("*** Configuring Propagation Model\n") net.setPropagationModel(model="logDistance", exp=4)

info("*** Configuring wifi nodes\n") net.configureWifiNodes()

info("*** Associating and Creating links\n") net.addLink(rsu11, rsu12) net.addLink(rsu11, rsu13) net.addLink(rsu11, rsu14)

for car in net.cars: net.addLink(car, cls=mesh, intf='%s-wlan1' % car, ssid='adhocNet', proto='batmand', mode='g', channel=5, ht_cap='HT40+')

if '-p' not in args: net.plotGraph(max_x=500, max_y=500)

net.startMobility(time=0)

info(" Starting network\n") net.build() c1.start() rsu11.start([c1]) rsu12.start([c1]) rsu13.start([c1]) rsu14.start([c1]) for id, ap in enumerate(net.aps): ap.setIP('192.168.1.%s/24' % (id+11), intf='%s-wlan1' % ap) ap.setIP('10.0.1.%s/24' % (id+11), intf='%s-eth2' % ap) info(" Running CLI\n") CLI(net)

info("*** Stopping network\n") net.stop()

if name == 'main': setLogLevel('info') topology(sys.argv)

ping result:

Screenshot (622)

Screenshot (623)

Screenshot (624)

Screenshot (625)

after a few minute, I cannot ping 2 car in 2 ap

Screenshot (626) Screenshot (627)

Screenshot (628)

Can you show my problem and how to fix it.

ramonfontes commented 8 months ago

Could you please tell us about the flow timeout? How is the controller handling flow timeouts?

nonhetnuoccham commented 8 months ago

when I cannot ping and I run dpctl dump-flows it show: Screenshot (628)

ramonfontes commented 8 months ago

You didn't answer my question.. :(

nonhetnuoccham commented 8 months ago

How i can show it, i never use controller before and having many thing i donnot know

ramonfontes commented 8 months ago

How i can show it, i never use controller before and having many thing i donnot know

Please don't open a new issue if you don't know exactly what is going wrong. I suggest you to go through related issues since this issue has already been explored in the past.