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.

-- Murphy

On Apr 21, 2014, at 2:50 AM, Andrew Ferguson <a...@cs.brown.edu> wrote:

> 
> On Apr 21, 2014, at 3:50 PM, Murphy McCauley <murphy.mccau...@gmail.com> 
> wrote:
>> 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).
> 
> 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.
> 
> 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: 
> https://github.com/brownsys/pane-demo-vm/blob/master/demos/PaneDemo.py#L56
> 
> in the physical testbed, we just use two NIC cards.
> 
> 
> Andrew

Reply via email to