def topology(mobility): 'Create a network.' net = Mininet_wifi(link=wmediumd, wmediumd_mode=interference) info("*** Creating nodes\n") if mobility: sta1 = net.addStation('sta1', mac='00:00:00:00:00:01', ip='192.168.0.1/24') else: sta1 = net.addStation('sta1', mac='00:00:00:00:00:01', ip='192.168.0.1/24', position='20,60,0') sta2 = net.addStation('sta2', mac='00:00:00:00:00:02', ip='192.168.1.1/24', position='90,60,0') ap1 = net.addStation('ap1', mac='02:00:00:00:01:00', ip='192.168.0.10/24', position='40,60,0') ap2 = net.addStation('ap2', mac='02:00:00:00:02:00', ip='192.168.1.10/24', position='70,60,0') net.setPropagationModel(model="logDistance", exp=4.5) info("*** Configuring wifi nodes\n") net.configureWifiNodes() ap1.setMasterMode(intf='ap1-wlan0', ssid='ap1-ssid', channel='1', mode='n') ap2.setMasterMode(intf='ap2-wlan0', ssid='ap2-ssid', channel='6', mode='n') info("*** Adding Link\n") net.addLink(ap1, ap2) # wired connection info("*** Plotting Graph\n") net.plotGraph(max_x=120, max_y=120) if mobility: net.startMobility(time=1) net.mobility(sta1, 'start', time=2, position='20.0,60.0,0.0') net.mobility(sta1, 'stop', time=6, position='100.0,60.0,0.0') net.stopMobility(time=7) info("*** Starting network\n") net.build() ap1.cmd('echo 1 > /proc/sys/net/ipv4/ip_forward') ap2.cmd('echo 1 > /proc/sys/net/ipv4/ip_forward') ap1.setIP('192.168.0.10/24', intf='ap1-wlan0') ap1.setIP('192.168.2.1/24', intf='ap1-eth2') ap2.setIP('192.168.1.10/24', intf='ap2-wlan0') ap2.setIP('192.168.2.2/24', intf='ap2-eth2') ap1.cmd('route add -net 192.168.1.0/24 gw 192.168.2.2') ap2.cmd('route add -net 192.168.0.0/24 gw 192.168.2.1') sta1.cmd('route add -net 192.168.1.0/24 gw 192.168.0.10') sta1.cmd('route add -net 192.168.2.0/24 gw 192.168.0.10') sta2.cmd('route add -net 192.168.0.0/24 gw 192.168.1.10') sta2.cmd('route add -net 192.168.2.0/24 gw 192.168.1.10') info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(controller=Controller) info("*** Creating nodes\n") sta1 = net.addStation('sta1', mac='00:00:00:00:00:02', ip='10.0.0.2/8', range=20) sta2 = net.addStation('sta2', mac='00:00:00:00:00:03', ip='10.0.0.3/8', range=20) ap1 = net.addAccessPoint('ap1', ssid='ssid-ap1', mode='g', channel='1', position='15,30,0', range=30) ap2 = net.addAccessPoint('ap2', ssid='ssid-ap2', mode='g', channel='6', position='55,30,0', range=30) c1 = net.addController('c1') net.setPropagationModel(model="logDistance", exp=5) info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Creating links\n") net.addLink(ap1, ap2) net.plotGraph(max_x=100, max_y=100) net.startMobility(time=0) net.mobility(sta1, 'start', time=1, position='10,30,0') net.mobility(sta2, 'start', time=2, position='10,40,0') net.mobility(sta1, 'stop', time=10, position='60,30,0') net.mobility(sta2, 'stop', time=10, position='25,40,0') net.stopMobility(time=11) info("*** Starting network\n") net.build() c1.start() ap1.start([c1]) ap2.start([c1]) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(coord): "Create a network." net = Mininet_wifi(controller=Controller) info("*** Creating nodes\n") h1 = net.addHost('h1', mac='00:00:00:00:00:01', ip='10.0.0.1/8') sta1 = net.addStation('sta1', mac='00:00:00:00:00:02', ip='10.0.0.2/8') sta2 = net.addStation('sta2', mac='00:00:00:00:00:03', ip='10.0.0.3/8') ap1 = net.addAccessPoint('ap1', ssid='new-ssid', mode='g', channel='1', position='45,40,0') c1 = net.addController('c1') info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Associating and Creating links\n") net.addLink(ap1, h1) net.plotGraph(max_x=200, max_y=200) if coord: sta1.coord = ['40.0,30.0,0.0', '31.0,10.0,0.0', '31.0,30.0,0.0'] sta2.coord = ['40.0,40.0,0.0', '55.0,31.0,0.0', '55.0,81.0,0.0'] net.startMobility(time=0, repetitions=1) if coord: net.mobility(sta1, 'start', time=1) net.mobility(sta2, 'start', time=2) net.mobility(sta1, 'stop', time=12) net.mobility(sta2, 'stop', time=22) else: net.mobility(sta1, 'start', time=1, position='40.0,30.0,0.0') net.mobility(sta2, 'start', time=2, position='40.0,40.0,0.0') net.mobility(sta1, 'stop', time=12, position='31.0,10.0,0.0') net.mobility(sta2, 'stop', time=22, position='55.0,31.0,0.0') net.stopMobility(time=23) info("*** Starting network\n") net.build() c1.start() ap1.start([c1]) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()