As you do not have a flow to match the packet in the flow table, yes. Or
you will cause a loop.

Regards,
Eder.


On 18 December 2012 03:17, Mrinmoy Das <mrinmoy.bluem...@gmail.com> wrote:

> Hi Eder,
>
> So, after getting packet-in message, controller needs to add a matching
> flow entry before sending a packet-out message with OFPP_TABLE. Is this
> what you are saying?
> So, the spec lines what I had mentioned assumes that before sending a
> packet-out message controller will send a matching flow entry. Right?
>
> Thanks & Regards,
> Mrinmoy
>
>
> On Mon, Dec 17, 2012 at 8:19 PM, Eder Leão Fernandes <
> ederleaofernan...@gmail.com> wrote:
>
>> Hi,
>>
>> Your scenario only makes sense if you install a flow to match the packet
>> after you receive it in the controller, just sending the packet-out will
>> cause a loop. However OpenFlow messages are not guaranteed to be processed
>> in order,  so you will need to prevent the processing of the packet-out
>> before the flow-mod. It's written in the spec, page '89', as follows.
>>
>> "In some cases, packets sent to OFPP_TABLE may be forwarded back to the
>> controller as the result of a  flow entry action or table miss. Detecting
>> and taking action for such controller-to-switch loops is outside the scope
>> of this speci cation.In general, OpenFlow messages are not guaranteed to be
>> processed in order, therefore if a OFPT_PACKET_OUT message using OFPP_TABLE
>> depends on a  flow that was recently sent to the switch (with a
>> OFPT_FLOW_MOD message), a OFPT_BARRIER_REQUEST message may be required
>> prior to the OFPT_PACKET_OUT message to make sure the flow entry was
>> committed to the flow table prior to execution of OFPP_TABLE."
>>
>> Regards,
>> Eder.
>>
>>
>> On 17 December 2012 02:53, Mrinmoy Das <mrinmoy.bluem...@gmail.com>wrote:
>>
>>> Hi All,
>>>
>>> In section 4.5 (Reserved Ports) of OpenFlow 1.3.1 Spec says:
>>>
>>> "Required: TABLE: Represents the start of the OpenFlow pipeline. This
>>> port is only valid in an
>>> output action in the action list of a packet-out message, and *submits
>>> the packet to the first
>>> flow table* so that the packet can be processed through the regular
>>> OpenFlow pipeline."
>>>
>>> When packet comes to switch and don't find any matching flow, switch
>>> sends the packet to controller encapsulated in a packet-in message. So,
>>> switch already consult its first table to match the packet. Now, in
>>> response to the packet-in message, controller sends a packet-out message
>>> which may contain output action & output port may be mentioned as TABLE.
>>>
>>> According to the spec, switch will submit the packet to the first flow
>>> table for processing. My question is, what is the logic in putting the
>>> packet again in the first table? It seems that the switch
>>> may consult the tables again where it can't find the match last time.
>>>
>>> Could anyone please explain the scenario and validate the spec lines?
>>>
>>> Thanks & Regards,
>>> Mrinmoy
>>>
>>> _______________________________________________
>>> openflow-discuss mailing list
>>> openflow-discuss@lists.stanford.edu
>>> https://mailman.stanford.edu/mailman/listinfo/openflow-discuss
>>>
>>>
>>
>>
>> --
>> Eder Leão Fernandes
>>
>> Bacharelado em Ciências de Computação
>> Instituto de Ciências Matemáticas e de Computação
>> Universidade de São Paulo
>>
>>
>


-- 
Eder Leão Fernandes

Bacharelado em Ciências de Computação
Instituto de Ciências Matemáticas e de Computação
Universidade de São Paulo
_______________________________________________
openflow-discuss mailing list
openflow-discuss@lists.stanford.edu
https://mailman.stanford.edu/mailman/listinfo/openflow-discuss

Reply via email to