PS: I meant "Hello James", not Henry. I read your name too quickly. I'm
sorry for that. My mistake.

On 22 December 2016 at 21:20, Carlos Ferreira <carlosmf...@gmail.com> wrote:

> Hello Henry.
>
> I was using the VM provided at the website for VirtualBox.
> Anyway, my issue was resolved. Nicholas hit right on spot with is comment.
> I failed to see that the Mac addresses I was specifying, were in fact
> broadcast addresses.
>
>
> On 22 December 2016 at 19:23, HENRYDOSS, JAMES <jd5...@att.com> wrote:
>
>> Hi Carlos,
>>
>> Can you please let me know what test environment you used for this
>> testing.  Are you using VM or installed the mininet software source version.
>>
>> James Henrydoss
>>
>>
>> -----Original Message-----
>> From: openflow-discuss [mailto:openflow-discuss-bounc
>> e...@mailman.stanford.edu] On Behalf Of Carlos Ferreira
>> Sent: Thursday, December 22, 2016 6:47 AM
>> To: openflow-discuss@lists.stanford.edu <openflow-disc...@mailman.stan
>> ford.edu>
>> Subject: [openflow-discuss] mininet not obeying to mac specification,
>> when creating a host.
>>
>> Hello to all!
>> To start, I know that there is a mininet mailing list. I have already
>> sent an e-mail to there, but until now, I had no response.
>>
>> This is my issue.
>> I have created a python program to create a testing topology.
>> For some reason, when I use the "addHost" method and use the argument
>> "mac" to specify the mac address for the host interface, mininet ignores
>> the provided mac address an seems to create and specify the hosts with
>> random mac addresses.
>> I do not know why this is happening... Can anyone help me?
>>
>> This is my Python program
>> #### Starts here
>>
>> #!/usr/bin/python2
>>
>> """
>>     Custom Network Topology
>>
>>      2 different zones each controlled by a different Controller
>>      Each controller manages 3 OpenFlow switches
>>      Each OF Switch has 3 hosts connected
>>      Each zone has a triangle shaped topology, where all switches are
>> conected to the controller
>>
>>      2 Switches from each zone, interconnect the two zones
>>       - Switch 2 from Zone 1 connects to the Switch 1 from Zone 2
>>       - Switch 3 from Zone 1 connects to the Switch 2 from Zone 2
>>
>>      The two controllers are remote controllers, residing outside from
>> the mininet environment.
>>
>> """
>> from struct import pack
>> from mininet.net import Mininet
>> from mininet.node import RemoteController from mininet.log import
>> setLogLevel from mininet.cli import CLI
>>
>>
>> def byteStr2HexStr(byteStr):
>>     return ''.join([str.format("{:02X}", ord(x)) for x in
>> byteStr]).strip()
>>
>> setLogLevel('info')
>>
>>
>> net = Mininet(build=False)
>>
>> c1 = net.addController("c1", controller=RemoteController,
>> ip='192.168.1.254', port=6631)
>> c2 = net.addController("c2", controller=RemoteController,
>> ip='192.168.1.254', port=6632)
>>
>> c1_s1 = net.addSwitch("c1_s1", protocols='OpenFlow13',
>> dpid=byteStr2HexStr(pack("!Q", 1)), mac='01:00:00:01:01:00')
>> c1_s2 = net.addSwitch("c1_s2", protocols='OpenFlow13',
>> dpid=byteStr2HexStr(pack("!Q", 2)), mac='01:00:00:01:02:00')
>> c1_s3 = net.addSwitch("c1_s3", protocols='OpenFlow13',
>> dpid=byteStr2HexStr(pack("!Q", 3)), mac='01:00:00:01:03:00')
>> c2_s1 = net.addSwitch("c2_s1", protocols='OpenFlow13',
>> dpid=byteStr2HexStr(pack("!Q", 4)), mac='01:00:00:02:01:00')
>> c2_s2 = net.addSwitch("c2_s2", protocols='OpenFlow13',
>> dpid=byteStr2HexStr(pack("!Q", 5)), mac='01:00:00:02:02:00')
>> c2_s3 = net.addSwitch("c2_s3", protocols='OpenFlow13',
>> dpid=byteStr2HexStr(pack("!Q", 6)), mac='01:00:00:02:03:00')
>> switches_c1 = [c1_s1, c1_s2, c1_s3]
>> switches_c2 = [c2_s1, c2_s2, c2_s3]
>>
>>
>> c1_s1_h1 = net.addHost("c1_s1_h1",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c1_s1_h1")],
>> ip='0.0.0.0',  mac='01:00:00:01:01:01')
>> c1_s1_h2 = net.addHost("c1_s1_h2",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c1_s1_h2")],
>> ip='0.0.0.0',  mac='01:00:00:01:01:02')
>> c1_s1_h3 = net.addHost("c1_s1_h3",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c1_s1_h3")],
>> ip='0.0.0.0',  mac='01:00:00:01:01:03')
>> c1_s2_h1 = net.addHost("c1_s2_h1",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c1_s2_h1")],
>> ip='0.0.0.0',  mac='01:00:00:01:02:01')
>> c1_s2_h2 = net.addHost("c1_s2_h2",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c1_s2_h2")],
>> ip='0.0.0.0',  mac='01:00:00:01:02:02')
>> c1_s2_h3 = net.addHost("c1_s2_h3",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c1_s2_h3")],
>> ip='0.0.0.0',  mac='01:00:00:01:02:03')
>> c1_s3_h1 = net.addHost("c1_s3_h1",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c1_s3_h1")],
>> ip='0.0.0.0',  mac='01:00:00:01:03:01')
>> c1_s3_h2 = net.addHost("c1_s3_h2",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c1_s3_h2")],
>> ip='0.0.0.0',  mac='01:00:00:01:03:02')
>> c1_s3_h3 = net.addHost("c1_s3_h3",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c1_s3_h3")],
>> ip='0.0.0.0',  mac='01:00:00:01:03:03')
>>
>> c2_s1_h1 = net.addHost("c1_s1_h1",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c2_s1_h1")],
>> ip='0.0.0.0',  mac='01:00:00:02:01:01')
>> c2_s1_h2 = net.addHost("c1_s1_h2",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c2_s1_h2")],
>> ip='0.0.0.0',  mac='01:00:00:02:01:02')
>> c2_s1_h3 = net.addHost("c1_s1_h3",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c2_s1_h3")],
>> ip='0.0.0.0',  mac='01:00:00:02:01:03')
>> c2_s2_h1 = net.addHost("c1_s2_h1",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c2_s2_h1")],
>> ip='0.0.0.0',  mac='01:00:00:02:02:01')
>> c2_s2_h2 = net.addHost("c1_s2_h2",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c2_s2_h2")],
>> ip='0.0.0.0',  mac='01:00:00:02:02:02')
>> c2_s2_h3 = net.addHost("c1_s2_h3",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c2_s2_h3")],
>> ip='0.0.0.0',  mac='01:00:00:02:02:03')
>> c2_s3_h1 = net.addHost("c1_s3_h1",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c2_s3_h1")],
>> ip='0.0.0.0',  mac='01:00:00:02:03:01')
>> c2_s3_h2 = net.addHost("c1_s3_h2",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c2_s3_h2")],
>> ip='0.0.0.0',  mac='01:00:00:02:03:02')
>> c2_s3_h3 = net.addHost("c1_s3_h3",
>> privateDirs=['/home/mininet/Scenarios/Hosts/{}'.format("c2_s3_h3")],
>> ip='0.0.0.0',  mac='01:00:00:02:03:03')
>> hosts = [c1_s1_h1, c1_s1_h2, c1_s1_h3, c1_s2_h1, c1_s2_h2, c1_s2_h3,
>> c1_s3_h1, c1_s3_h2, c1_s3_h3, c2_s1_h1, c2_s1_h2, c2_s1_h3, c2_s2_h1,
>> c2_s2_h2, c2_s2_h3, c2_s3_h1, c2_s3_h2, c2_s3_h3]
>>
>>
>> net.addLink(c1_s1_h1, c1_s1)
>> net.addLink(c1_s1_h2, c1_s1)
>> net.addLink(c1_s1_h3, c1_s1)
>> net.addLink(c1_s2_h1, c1_s2)
>> net.addLink(c1_s2_h2, c1_s2)
>> net.addLink(c1_s2_h3, c1_s2)
>> net.addLink(c1_s3_h1, c1_s3)
>> net.addLink(c1_s3_h2, c1_s3)
>> net.addLink(c1_s3_h3, c1_s3)
>>
>> net.addLink(c2_s1_h1, c2_s1)
>> net.addLink(c2_s1_h2, c2_s1)
>> net.addLink(c2_s1_h3, c2_s1)
>> net.addLink(c2_s2_h1, c2_s2)
>> net.addLink(c2_s2_h2, c2_s2)
>> net.addLink(c2_s2_h3, c2_s2)
>> net.addLink(c2_s3_h1, c2_s3)
>> net.addLink(c2_s3_h2, c2_s3)
>> net.addLink(c2_s3_h3, c2_s3)
>>
>> net.addLink(c1_s2, c2_s1)
>> net.addLink(c1_s3, c2_s2)
>>
>> net.build()
>>
>> for switch in switches_c1:
>>     switch.start([c1])
>>
>> for switch in switches_c2:
>>     switch.start([c2])
>>
>> for host in hosts:
>>     host.cmdPrint("dhclient {} &".format(host.defaultIntf().name))
>>
>> CLI(net)
>> net.stop()
>> ### Ends Here.
>>
>>
>> I start this program, named "testing_scenario.py", inside the Ubuntu VM
>> provided in the mininet website, by using the following console
>> command:
>> sudo ./testing_scenario.py
>>
>> --
>>
>> Carlos Miguel Ferreira
>> Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail
>> - c...@av.it.pt Skype & GTalk -> carlosmf...@gmail.com LinkedIn ->
>> http://www.linkedin.com/in/carlosmferreira
>> _______________________________________________
>> openflow-discuss mailing list
>> openflow-discuss@lists.stanford.edu
>> https://mailman.stanford.edu/mailman/listinfo/openflow-discuss
>>
>
>
>
> --
>
> Carlos Miguel Ferreira
> Researcher at Telecommunications Institute
> Aveiro - Portugal
> Work E-mail - c...@av.it.pt
> Skype & GTalk -> carlosmf...@gmail.com
> LinkedIn -> http://www.linkedin.com/in/carlosmferreira
>



-- 

Carlos Miguel Ferreira
Researcher at Telecommunications Institute
Aveiro - Portugal
Work E-mail - c...@av.it.pt
Skype & GTalk -> carlosmf...@gmail.com
LinkedIn -> http://www.linkedin.com/in/carlosmferreira
_______________________________________________
openflow-discuss mailing list
openflow-discuss@lists.stanford.edu
https://mailman.stanford.edu/mailman/listinfo/openflow-discuss

Reply via email to