HI Ayush > I am under an impression that in real scenarios with complex typologies, not > all switches have direct connection to a controller. And, they are connect > to a controller through other switches (which become OpenFlow 'proxy', like > S1 in our example). So, I am trying to connect to S2 through S1.
You are right. But, those 'other switches' traditionally aren't OF switches. They are 'ordinary switches' (I mean, learning switches) creating a 'management network'. This is the topology frequently seen (at least by myself). So, if you are using 'learning switches' on top layer they wouldn't be a 'proxy' because your layer 3 connection is direct from controller to bottom layer switches through the ' top switches'. Top switches are simply switching layer 2 frames from controller to bottom switches, they do not know that these frames are OF messages. You can make top switches 'learning switches' by controlling them with the 'forwarding.l2_learning' Pox's component. In order words, top switches' control plane would be the same (or similar) to 'commercial available' learning switches. > My main goal is to have hierarchy in data plane, where the top layer of > switches is just used for communication between controller and bottom layer; > whereas, the bottom layer of switches is used to connect to the hosts and > other network components. > > Is this feasible with POX and mininet? Sure it is! Just make top switches be controlled by 'forwarding.l2_learning' component and bottom switches be controlled by your component. -- Att Lucas Brasilino MSc Student @ Federal University of Pernambuco (UFPE) / Brazil twitter: @lucas_brasilino > > On Thu, Apr 23, 2015 at 9:21 PM, Lucas Brasilino <lr...@cin.ufpe.br> wrote: >> >> Hi Ayush: >> >> > I have installed a permanent rule in S1 to forward the packets to S2 >> > that have destination address of S2. >> >> Forwarding at L2, right ? Or are you doing some kind of NAT ? >> >> > Topology: C0 - S1 - S2 >> > Now, when I want to install rules in S2, how should I go about it? >> > >> > 1) Should I create a ofp_packet_out with destination of S2, attached >> > ofp_flow_mod packet (rules for S2) as data to it and send it to S1? >> > >> > 2) Should I create a ofp_flow_mod packet which has destination address >> > of S2 and send it to S1? >> >> Assuming S1 are forwarding at L2, S1 will not be an OpenFlow 'proxy' >> for S2. You just need to make S2 connect to C0's IP address. For >> instance. if S2 is an Open vSwitch, you just do: >> >> $ sudo ovs-vsctl set-controller s2 tcp:192.168.56.1:6633 >> >> Where 192.168.56.1 is the controller's IP address. >> >> -- >> Att >> Lucas Brasilino >> MSc Student @ Federal University of Pernambuco (UFPE) / Brazil >> twitter: @lucas_brasilino >> >> > On Wed, Apr 22, 2015 at 8:19 AM, Lucas Brasilino <lr...@cin.ufpe.br> >> > wrote: >> >> >> >> Hi Ayush, >> >> >> >> Since controller connects to switch using a TCP session, if S1 acts >> >> like a learning switch or already has rules on its flow table >> >> allowing TCP connections from C0 to S2, C0 will control S2. >> >> >> >> Just be aware that if S1 is an OF switch and those rules mentioned >> >> above expires, you will lost control over S2, even for a while. >> >> What I mean is that until you restore S1 rules, some >> >> switch-to-controller messages like 'Packet In', 'Port Status', >> >> 'FlowRemoved' >> >> and >> >> so forth can be lost, leading for a network's state mismatch. >> >> >> >> -- >> >> Att >> >> Lucas Brasilino >> >> MSc Student @ Federal University of Pernambuco (UFPE) / Brazil >> >> twitter: @lucas_brasilino >> >> >> >> >> >> >> >> 2015-04-22 0:10 GMT-03:00 Ayush Dusia <adu...@udel.edu>: >> >> >> >>> Hello Everyone, >> >>> >> >>> I have a question regarding installation of actions in switches. >> >>> >> >>> If I assume that a controller does not have direct connections to all >> >>> the switches in a network. In that case how can a controller install >> >>> actions >> >>> in a switch to which it is not directly connected? >> >>> >> >>> e.g. for a topology like: C0 - S1 - S2 >> >>> >> >>> How can C0 install actions in S2 through S1? >> >>> >> >>> Thanks, >> >>> Ayush >> >> >> >> >> >> >> >> >> >> >> > > >