Hello.  Here's a couple thoughts.

#1:
This is a switch configuration thing and depends on the switch.  It's really 
outside the scope of both OpenFlow and NOX.

As an example, if the switch is Open vSwitch, there are a couple ways to make 
it talk OpenFlow to a controller.  The simpler one is using ovs-openflowd.  
This program takes the switch address as a commandline argument.  It's 
documented in the man page and there should be tutorials that demonstrate this 
(in a lot of cases it's just ovs-openflowd dp0 tcp:<address>:<port>).

For other switches, the answer will be different -- the switch documentation 
should tell you.

#2:
Opening a TCP connection is not an operation that OpenFlow supports.  You could 
forward the ARP requests to Y, but encapsulating them in TCP and IP on the 
switch is out.  What you CAN do, however, is to tell the switch to send these 
ARPs to the controller via its TCP OpenFlow connection (this is a flow with an 
output action to the special controller "port"), and then have the CONTROLLER 
send them to Y via TCP.

Given this, the second part of the question (how the switches would know the 
address of Y) is no longer an issue, but there is the question of how the 
controller would know Y's address, but this is simple.  Either hard code it 
into your NOX component or make it configurable or have Y connect to X instead 
of the other way around.

Or... I am assuming you want Y to be running some program that will answer the 
ARPs... you could just write that code in your NOX component (assuming it's not 
something that already exists).  This would seem to give you pretty much 
exactly what you wanted except that X and Y are necessarily the same machine.


Hope that helps.

-- Murphy

On Apr 3, 2011, at 7:52 AM, Ishaan Aggarwal wrote:

> Hello,
> 
> I am trying to implement the following: if any switch sees an ARP request 
> then forward it to a particular fixed IP address and port, say Server Y, 
> (over a TCP connection) except when the source address is the fixed address 
> itself.
> 
> I am new to openflow and nox and I am confused with a few points. Any help 
> with be appreciated.
> 
> 1. The nox controller will be running in server X. How would the switches 
> know what is the address of server x and that they need to create a tcp 
> connection with it? Do I write code for this in Openflow and add it to every 
> switch?
> 
> 2. How do I open a TCP connection between each switch and Server Y to forward 
> ARP requests? Also, how would the switch know the address of server Y?
> 
> Please do let me know if you have any ideas/suggestions for coding (or which 
> classes I should have a look at for reference or to use).
> 
> Thank you,
> 
> Regards,
> 
> Ishaan
> 
> _______________________________________________
> nox-dev mailing list
> nox-dev@noxrepo.org
> http://noxrepo.org/mailman/listinfo/nox-dev

_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev

Reply via email to