Yes, it's possible.

Insert a flow in the switch that matches whatever packet you're interested in.  
The action for this flow should be to send to controller (output to the 
OFPP_CONTROLLER virtual port).  Then in your packet_in handler on the 
controller, you have to check to see if you get such a packet.  When you do, 
send back a packet_out.

Off the top of my head, I think the discovery component should do both of those 
things (install a flow with send-to-controller and sending packets) if you want 
an example.

-- Murphy

On Apr 25, 2012, at 12:02 PM, Weiyang Mo wrote:

> Thanks very much for your quick reply.
>  
> But I am still confused. do you mean that "the controller instruct a switch 
> to send a packet" is not an OpenFlow feature? Or I misunderstand what you 
> mean.
>  
> I am sending packets from a client to a server through multiple OpenFlow 
> switches. I already have this functionality that the controller inserts 
> flow-entries and then the packets can be sent to the server.
>  
> Now, I want to have another action that  " when the controller receives the 
> first packet-in message, it can instruct a switch to send a packet which 
> contains some data(e.g, hello). And this new packet can be sent to another 
> host. If so, the host can run other applications automatically upon receving 
> the packet "hello".
>  
> Is it possible?( Packet in->controller       controller-> instrucrt the 
> switch to create a new packet     new packet(Hello) ->host). How should I 
> write the pseudo code.
>  
> Thanks
>  
> Weiyang
> 
> 2012/4/25 Murphy McCauley <[email protected]>
> There are no examples of this because this is not an OpenFlow feature -- only 
> the controller can instruct a switch to send a packet.
> 
> Unless maybe there is some vendor extension for some switches…
> 
> -- Murphy
> 
> On Apr 25, 2012, at 11:28 AM, Weiyang Mo wrote:
> 
>> BTW,any example code for this? For instance, the controller wishes to send a 
>> packet which contains the data "Hello" through the switch to the Output.
>>  
>> How should I write the code? Is it like "actions=[openflow.ofp_packet_out, 
>> ...]" ?
>>  
>> I am not clear because I don't find sample codes.  Could anyone provides a 
>> simple sample code?
>>  
>> Regards
>>  
>> Weiyang
>> ---------- Forwarded message ----------
>> From: Weiyang Mo <[email protected]>
>> Date: 2012/4/25
>> Subject: instruct the swtich to create a new packet.
>> To: [email protected]
>> 
>> 
>> Hi,all,
>>  
>> I want to insert an action in to flow entry. The action can tell the switch 
>> to create a new arbitary packet. What command should I use?
>>  
>> Thanks a lot
>>  
>> Weiyang
>> 
> 
> 

Reply via email to