I am trying to set up a network with 3 APs connected in a mesh setup to connect nodes to each other from all stations.
#!/usr/bin/python
from mininet.log import setLogLevel, info
from mininet.node import RemoteController
from
mn_wifi.net import Mininet_wifi
from mn_wifi.node import Station, OVSKernelAP
from mn_wifi.cli import CLI
from mn_wifi.link import wmediumd, mesh
from mn_wifi.wmediumdConnector import interference
from subprocess import call
def myNetwork():
controller = RemoteController('c0', ip='172.17.0.2', port=6653)
net = Mininet_wifi(controller=controller, link=wmediumd, wmediumd_mode=interference)
info('*** Adding controller\n')
info('*** Add switches/APs\n')
ap_configs = dict(protocols="OpenFlow13", channel='1', mode='g', cls=OVSKernelAP, range=500)
ap1 = net.addAccessPoint('ap1', ssid='ap1-ssid', position='672.0,389.0,0', **ap_configs)
ap2 = net.addAccessPoint('ap2', ssid='ap2-ssid', position='1120.0,391.0,0', **ap_configs)
ap3 = net.addAccessPoint('ap3', ssid='ap3-ssid', position='894.0,745.0,0', **ap_configs)
info('*** Add hosts/stations\n')
sta1 = net.addStation('sta1', ip='10.0.0.1', position='503.0,-11.0,0')
sta2 = net.addStation('sta2', ip='10.0.0.2', position='228.0,444.0,0')
sta3 = net.addStation('sta3', ip='10.0.0.3', position='1364.0,22.0,0')
sta4 = net.addStation('sta4', ip='10.0.0.4', position='1554.0,532.0,0')
sta5 = net.addStation('sta5', ip='10.0.0.5', position='1218.0,1070.0,0')
sta6 = net.addStation('sta6', ip='10.0.0.6', position='609.0,1085.0,0')
info("*** Configuring Propagation Model\n")
net.setPropagationModel(model="logDistance", exp=3)
info("*** Configuring wifi nodes\n")
net.configureWifiNodes()
net.addLink(ap1, intf='ap1-wlan1', cls=mesh, ssid='mesh-ssid', mode='g', channel=1)
net.addLink(ap2, intf='ap2-wlan1', cls=mesh, ssid='mesh-ssid', mode='g', channel=1)
net.addLink(ap3, intf='ap3-wlan1', cls=mesh, ssid='mesh-ssid', mode='g', channel=1)
net.plotGraph(max_x=2500, max_y=2500)
info('*** Starting network\n')
net.build()
info('*** Starting controllers\n')
controller.start()
info('*** Starting switches/APs\n')
net.get('ap1').start([controller])
net.get('ap2').start([controller])
net.get('ap3').start([controller])
info('*** Post configure nodes\n')
CLI(net)
net.stop()
if __name__ == '__main__':
setLogLevel('info')
myNetwork()