Joe,
Thanks for the summary. This is very helpful.
Kishore
>________________________________
> From: Joe Stringer <j...@wand.net.nz>
>To: K.R Kishore <krkish...@yahoo.com>
>Cc: Ben Pfaff <b...@nicira.com>; "discuss@openvswitch.org"
><discuss@openvswitch.org>
>Sent: Monday, August 5, 2013 6:28 PM
>Subject: Re: [ovs-discuss] Resubmit vs Recirculate
>
>
>
>When you install new OpenFlow rules, they are installed in the user table, but
>not in the kernel table. When a packet is received, it is parsed to gather its
>various packet attributes, and a lookup in the kernel table is performed. A
>miss here causes an upcall to userspace, which will do a lookup there and
>potentially install flows into the kernel.
>
>
>For more information on how flows are chosen to be installed in the kernel,
>there's a bit of information in ofproto-dpif-governor.h:
>http://git.openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=blob_plain;f=ofproto/ofproto-dpif-governor.h;hb=HEAD
>
>
>I put a summary of my understanding below:-
>
>
>NXAST_RESUBMIT:
>* Open vSwitch extension to OpenFlow. Doesn't require datapath support.
>* Optionally make it appear like a packet came from a different port
>* Continue processing in a table (same or different)
>* Packet modifications are committed once at the end of rule processing
>
>
>OVS_ACTION_ATTR_RECIRCULATE:
>* Open vSwitch datapath interface extension. Not exposed at the OpenFlow layer.
>* Datapath interface inserts this action when it needs more information about
>the packet, part way through rule processing.
>* Commits all packet modifications and tells the datapath to re-insert the
>packet with an ID (skb_mark) attached.
>* Re-inserted packets go through the standard parse/lookup/upcall procedure
>* Upcall uses the skb_mark to continue rule processing where the recirculate
>happened
>* This allows the datapath to re-parse a packet and provide more information
>part way through rule-processing
>
>
>
>
>
>On Tue, Aug 6, 2013 at 9:36 AM, K.R Kishore <krkish...@yahoo.com> wrote:
>
>Thanks.
>>In addition to the ovs-ofctl manpage, here is a link to a good tutorial that
>>explains this (for others who may be interested in
>>learning about how this works)
>>http://git.openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=blob_plain;f=tutorial/Tutorial;hb=HEAD
>>
>>
>>
>>I have also gathered that there is a single backing kernel table and it will
>>only contain exact match flows but user space table will
>>contain OpenFlow flows. What is the criteria to move a flow entry from user
>>table to kernel table? Is every entry advanced and
>>the less active entries simply get aged out?
>>
>>
>>I have not seen explicit information of how Recirculation support will be
>>added to the kernel table, if at all. Any info
>>on this is much appreciated.
>>
>>
>>thx,
>>Kishore
>>
>>
>>
>>
>>
>>>________________________________
>>> From: Ben Pfaff <b...@nicira.com>
>>>To: K.R Kishore <krkish...@yahoo.com>
>>>Cc: "discuss@openvswitch.org" <discuss@openvswitch.org>
>>>Sent: Monday, August 5, 2013 3:04 PM
>>>
>>>Subject: Re: [ovs-discuss] Resubmit vs Recirculate
>>>
>>>
>>>
>>>On Mon, Aug 05, 2013 at 03:01:20PM -0700, K.R Kishore wrote:
>>>>
>>>>
>>>> Maybe I am missing something basic here..can you please point me to the
>>>> documentation?
>>>
>>>ovs-ofctl(8)
>>>
>>>
>>>
>>_______________________________________________
>>discuss mailing list
>>discuss@openvswitch.org
>>http://openvswitch.org/mailman/listinfo/discuss
>>
>>
>
>
>
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss