<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);">Hello,</div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);"><br></div><span style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);">I'm looking to statically configure IP and MAC on host interfaces and then set static ARP entries on each host. </span><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);"><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);">Have tried multiple variations of using h.setIP(), h.setMAC(), and setARP(), but manual ARP entries will not work after manually setting the MAC on the interface.  I've tried h.cmd() as well to config ARP entries.  If I only configure a static IP (with default MAC), the ARP entries work fine...clearly, that is unacceptable though :).  After adding the static IP+MAC, the ARP entries no longer work...have also tried placing net.start() in different locations to see if that helps...no dice there.<br><div><br></div><div>Been at this for hours, so any help would be greatly appreciated :)</div><div><br></div><div><br></div><div>I've taken a look at this and doesn't seem to be helping:</div><div><a href="https://mailman.stanford.edu/pipermail/mininet-discuss/2013-October/003258.html" target="_blank" style="color: rgb(17, 85, 204);">https://mailman.stanford.edu/<wbr>pipermail/mininet-discuss/<wbr>2013-October/003258.html</a><br></div><div><br></div></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);"><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);">Code here showing various things with some commented out as well...</div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);"><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);"><div>if __name__ == '__main__':</div><div>    setLogLevel( 'info' )</div><div>    topo = MyTopo()</div><div>    net = Mininet(topo=topo, switch=UserSwitch, controller=RemoteController)</div><div>    #net.start()</div><div>    h1, h2, h3 = net.hosts</div><div>    hosts = [h1,h2,h3]</div><div>    ip_mac = {'10.0.0.10':'00:00:00:00:00:<wbr>10','10.0.0.11':'00:00:00:00:<wbr>00:11','10.0.0.12':'00:00:00:<wbr>00:00:12'}</div><div>    c=10</div><div><br></div><div>    net.start()</div><div>    for h in hosts:</div><div>      ip, mac = "10.0.0."+str(c), "00:00:00:00:00:"+str(c)</div><div>      #h.setIP("10.0.0."+str(c)+"/<wbr>24")</div><div>      #h.setMAC("00:00:00:00:00:"+<wbr>str(c))</div><div>      h.setIP(ip+"/24")</div><div>      h.setMAC(mac)</div><div>      h.setARP('10.0.0.8', "00:00:00:00:00:02")</div><div>      '''</div><div>      for cip in ip_mac.keys(): </div><div>        if not cip == ip:</div><div>          h.setARP(cip,ip_mac[cip])</div><div>          print cip + ' ' + ip_mac[cip]</div><div>      ''' </div><div>      c+=1</div><div>    </div><div>    CLI(net)</div><div>    #h2.setARP('10.0.0.8', "00:00:00:00:00:02")</div><div>    #h2.cmd('arp -i h1-eth0 -s 1.1.1.1 00:00:00:00:00:12')</div><div>    </div><div>    </div><div>    net.stop()</div></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);"><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);">Thanks,<br>Jason</div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);"><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);"><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);"><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);">-----------</div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);">Topo detail/class:</div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);"><div>from mininet.topo import Topo</div><div>from mininet.cli import CLI</div><div>from mininet.log import setLogLevel</div><div>from mininet.node import UserSwitch, RemoteController</div><div>from mininet.topolib import TreeNet</div><div>from mininet.topo import SingleSwitchTopo</div><div>from <a href="http://mininet.net/" target="_blank" style="color: rgb(17, 85, 204);">mininet.net</a> import Mininet</div><div><br></div><div>class MyTopo( Topo ):</div><div>    "Simple topology example."</div><div><br></div><div>    def __init__( self ):</div><div>        "Create custom topo."</div><div><br></div><div>        # Initialize topology</div><div>        Topo.__init__( self )</div><div><br></div><div>        # Add hosts and switches</div><div>        leftHost1 = self.addHost( 'h1',ip="<a href="http://10.0.0.10/24" target="_blank" style="color: rgb(17, 85, 204);">10.0.0.10/24</a>")</div><div>        leftHost2 = self.addHost( 'h2' )</div><div>        rightHost = self.addHost( 'h3' )</div><div>        leftSwitch = self.addSwitch( 's3' )</div><div>        rightSwitch = self.addSwitch( 's4' )</div><div><br></div><div>        # Add links</div><div>        self.addLink( leftHost1, leftSwitch )</div><div>        self.addLink( leftHost2, leftSwitch )</div><div>        self.addLink( leftSwitch, rightSwitch )</div><div>        self.addLink( rightSwitch, rightHost )</div></div>                                      </div></body>
</html>