intrig-unicamp / mininet-wifi

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

Communication problem between ap1 and sta1 #516

Closed lemondingnian closed 7 months ago

lemondingnian commented 7 months ago

from mininet.node import Controller 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 from mn_wifi.wmediumdConnector import interference

def topology(): "Create a network." net = Mininet_wifi(controller=Controller, link=wmediumd, wmediumd_mode=interference)

info("*** Creating nodes\n")
ap1 = net.addAccessPoint('ap1', mac='00:00:00:00:00:01', ssid="handover",
                         mode="g", channel="1", passwd='123456789a',
                         encrypt='wpa2', position='10,30,0', datapath='user')
sta1 = net.addStation('sta1', mac='00:00:00:00:00:02', ip='10.0.0.2/8', position='15,20,0')
c1 = net.addController('c1')

info("*** Configuring static route on ap1\n")
ap1.cmd('route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.0.1')

info("*** Configuring Propagation Model\n")
net.setPropagationModel(model="logDistance", exp=3.5)

info("*** Configuring nodes\n")
net.configureNodes()

info("*** Creating links\n")
net.addLink(ap1, sta1)

info("*** Starting network\n")
net.build()
c1.start()
ap1.start([c1])

info("*** Running CLI\n")
CLI(net)

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

if name == 'main': setLogLevel('info') topology()

The above is my source code. sta1 ping ap1 is OK. ap1 ping sta1 is failure. Why?

ramonfontes commented 7 months ago

The above is my source code. sta1 ping ap1 is OK. ap1 ping sta1 is failure. Why?

What is the ip addr of ap1? You are pinging to localhost! :( I advice you to be aware on how OVS works.