<div dir="ltr"><div>>>>however, I don't put 
that host in a separate namespace, which means that its loopback 
interface is in the same namespace as all the switches (and gets used as
 the "control-plane" in mininet). the regular eth-pair device gets 
attached to the switch ("data-plane").<br><br></div><div>Actually the loopback interface of those switches and the panebrain and the real machine refer to the *same* thing, right?<br><br></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">2014-04-21 21:08 GMT+08:00 Shiyao Ma <span dir="ltr"><<a href="mailto:i@introo.me" target="_blank">i@introo.me</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div><div><div><div><div>I should have waited till I found this reply instead of rushing through my packet-in based ugly method. :)<br><br></div>I am a bit confused about how the switch/interfaces are connected internally.<br>

<br></div>If I do a `sudo ifconfig -a`. I could see some switches (those defined in mininet.topo) and their interfaces.<br></div>By setting `innamespace=Flalse`, I do see panebrain-eth0.  But how does it connect to the bridge(switch) defined in mininet.topo?<br>

</div>I'd like learn more about the underlying mechanism.<br><br></div>Thanks.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-04-21 18:00 GMT+08:00 Murphy McCauley <span dir="ltr"><<a href="mailto:murphy.mccauley@gmail.com" target="_blank">murphy.mccauley@gmail.com</a>></span>:<div>
<div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Good point -- I should have mentioned the two NIC option!  I skipped it because I've never found it practical/desirable myself, but it is certainly the simplest conceptually.<br>


<span><font color="#888888"><br>
-- Murphy<br>
</font></span><div><div><br>
On Apr 21, 2014, at 2:50 AM, Andrew Ferguson <<a href="mailto:adf@cs.brown.edu" target="_blank">adf@cs.brown.edu</a>> wrote:<br>
<br>
><br>
> On Apr 21, 2014, at 3:50 PM, Murphy McCauley <<a href="mailto:murphy.mccauley@gmail.com" target="_blank">murphy.mccauley@gmail.com</a>> wrote:<br>
>> A more straightforward approach is to actually have the controller machine exist on the data network.  This is always the case when doing "in-band control".  If your switches are, for example, Open vSwitch, the most straightforward way is using the "local" interface of the OVS instance.  This interface is usually down by default, but you can up it.  This connects the switch machine's local networking stack (which can obviously reach the controller because this is how the switch reaches the controller!) to the data network.  Obviously, you'll need to install appropriate table entries to allow communication between the controller machine (via the local port) and the host (via whatever port it's connected to).<br>


><br>
> or you can just add a second interface to your controller, placing it on the data-plane. :-)  this keeps the simplicity and isolation of out-of-band networking, while giving our controller and hosts easy communication.<br>


><br>
> I usually do this by creating a "controller host" in Mininet where I run my controller (in your case, it would be POX). however, I don't put that host in a separate namespace, which means that its loopback interface is in the same namespace as all the switches (and gets used as the "control-plane" in mininet). the regular eth-pair device gets attached to the switch ("data-plane"). see, for example: <a href="https://github.com/brownsys/pane-demo-vm/blob/master/demos/PaneDemo.py#L56" target="_blank">https://github.com/brownsys/pane-demo-vm/blob/master/demos/PaneDemo.py#L56</a><br>


><br>
> in the physical testbed, we just use two NIC cards.<br>
><br>
><br>
> Andrew<br>
<br>
</div></div></blockquote></div></div></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><br>-- <br><div dir="ltr"><div><br></div><div>$B8cGZ$OG-$G$"$k!#%[!<%`!<%Z!<%8$O(B<a href="http://introo.me" target="_blank">http://introo.me</a>$B!#(B<br>
</div></div>
</font></span></div>
</blockquote></div><br><br clear="all"><br>-- <br><div dir="ltr"><div><br></div><div>$B8cGZ$OG-$G$"$k!#%[!<%`!<%Z!<%8$O(B<a href="http://introo.me" target="_blank">http://introo.me</a>$B!#(B<br></div></div>
</div>