[ovs-dev] Openflow 1.4: Eviction mechanism implementation

Saloni Jain saloni.jain at tcs.com
Thu Sep 18 12:51:11 UTC 2014


Thanks for the suggestion and we have done more investigation on code.

We are thinking of implementing eviction on the basis of importance as 
done in current ovs code for lifetime by following the same algorithm as 
mentioned in conf.db(5)(Page 33).

As suggested by you we can enable eviction by both ovs-vsctl 
create...overflow-policy=evict and through ovs-ofctl mod-table...evict 
commands. Our understanding is that ovs-vsctl command does changes in 
bridge configuration present in conf.db where as ovs-ofctl mod-table 
command changes table state.

Currently ovs-vsctl create...overflow-policy=evict command has following 
flow:
bridge_run()-> bridge_run__ -> ofproto_run() which differentiates between 
OPENFLOW and EVICT state.
Then bridge_reconfigure() (which is called when there is a database 
change)-> bridge_configure_tables() -> ofproto_configure_tables() -> 
ofproto_enable_eviction() which sets eviction fields for a table

But mod-table is an openflow request having openflow handler and does not 
change any of bridge configuration so bridge_reconfigure() is not called 
and so the eviction fields cannot be set.

As per our understanding it is not correct to change db through ofctl 
commands i.e. to call bridge_reconfigure() through mod-table.

Query 1 - Is the above understanding correct?

Query 2 - Should we come up with a new approach or can you provide any 
inputs on how can we configure table eviction_fields without calling 
bridge_reconfigure() via ofctl command?

Thanks and Regards,
Saloni Jain
Tata Consultancy Services
Mailto: saloni.jain at tcs.com
Website: http://www.tcs.com
____________________________________________
Experience certainty.   IT Services
                        Business Solutions
                        Consulting
____________________________________________



From:   Ben Pfaff <blp at nicira.com>
To:     Saloni Jain <saloni.jain at tcs.com>
Cc:     dev at openvswitch.org, Deepankar Gupta <deepankar.gupta at tcs.com>, 
Hiteshi Madan <hiteshi.madan at tcs.com>, Sanjay6 Singh 
<sanjay6.singh at tcs.com>
Date:   09/15/2014 08:54 PM
Subject:        Re: Fw: Re: [ovs-dev] Openflow 1.4: Eviction mechanism 
implementation



At this point I think you should invest time in reading and
understanding code instead of asking more questions.  I have already
answered many questions.

On Mon, Sep 15, 2014 at 05:55:01PM +0530, Saloni Jain wrote:
>  It would be great help if someone could provide the inputs asap.
> Thanks in advance for your inputs and suggestions.
> 
> Thanks and Regards,
> Saloni Jain
>  Tata Consultancy Services
>  Mailto: saloni.jain at tcs.com
>  Website: http://www.tcs.com
>  ____________________________________________
>  Experience certainty.                 IT Services
>                                                Business Solutions
>                                                Consulting
>  ____________________________________________
> 
> 
> 
> -----Forwarded by Saloni Jain/DEL/TCS on 09/15/2014 05:51PM -----
> To: Ben Pfaff <blp at nicira.com>, dev at openvswitch.org
> From: Saloni Jain/DEL/TCS
> Date: 09/12/2014 05:00PM
> Cc: Deepankar Gupta <deepankar.gupta at tcs.com>, Hiteshi Madan 
<hiteshi.madan at tcs.com>, Sanjay6 Singh <sanjay6.singh at tcs.com>
> Subject: Re: [ovs-dev] Openflow 1.4: Eviction mechanism implementation
> 
> Hi Ben/Team,
> 
> >?I would enable eviction if it is configured through the database or 
through the OpenFlow connection.
> 
> In current implementation, to enable eviction using create table ... 
overflow-policy=evict, oftable_enable_eviction() in ofproto.c is called 
which sets table->eviction fields.
> 
> I've been trying to do the same using table-mod command implementation 
but haven't been successful. It would be of great help if you could point 
me to some piece of code through ?which I can call 
oftable_enable_eviction() or can set table->eviction_fields using 
mod_table command.
> 
> Thanks in advance for you suggestion and support.
> 
> Thanks and Regards,
> Saloni Jain
> Tata Consultancy Services
> Mailto: saloni.jain at tcs.com
> Website: http://www.tcs.com
> ____________________________________________
> Experience certainty.          IT Services
>                                                Business Solutions
>                                                Consulting
> ____________________________________________
> 
> To: Saloni Jain <saloni.jain at tcs.com>
> From: Ben Pfaff <blp at nicira.com>
> Date: 09/11/2014 11:03PM
> Cc: dev at openvswitch.org, Hiteshi Madan <hiteshi.madan at tcs.com>, 
Deepankar Gupta <deepankar.gupta at tcs.com>, Sanjay6 Singh 
<sanjay6.singh at tcs.com>
> Subject: Re: [ovs-dev] Openflow 1.4: Eviction mechanism implementation
> 
> On Thu, Sep 11, 2014 at 05:34:34PM +0530, Saloni Jain wrote:
> > 1. As per current implementation, "ovs-vsctl create table ... 
overflow-policy=evict" command, configures openvswitch database(conf.db) 
and sets table structure eviction fields and eviction groups.
> > ?
> > 2. As per our understanding, the implementation of eviction for 
importance as per openflow specification 1.4, should be in parallel with 
existing functionality, i.e. if eviction for importance is set through 
mod-table command and importance parameter is given by the user,then we 
must create the eviction groups(eviction_group_add_rule) and at the time 
of eviction, obtain the value on basis of importance from this group. 
> > 
> > 3. This approach requires table->eviction_field which is set only when 
create table command with overflow-policy=evict is given. 
> > 
> > 4. mod-table command for setting the eviction parameter as importance 
will only set the table config parameter as "importance" and will not set 
the table->eviction fields.
> > 
> > 5. So as per our understanding this should be mandatory to first 
enable eviction on the complete table using create table ... 
overflow-policy=evict and then change the mode of eviction as importance 
using mod-table command.
> 
> I would enable eviction if it is configured through the database or
> through the OpenFlow connection.
> 
> 
> Saloni Jain ---09/11/2014 05:35:44 PM--- Hi Ben/Team, We have started 
with the implementation of eviction feature as per openflow specificat
> 
> From:          Saloni Jain <saloni.jain at tcs.com>
> To:            Ben Pfaff <blp at nicira.com>, dev at openvswitch.org
> Cc:            Deepankar Gupta <deepankar.gupta at tcs.com>, Hiteshi Madan 
<hiteshi.madan at tcs.com>, Sanjay6 Singh <sanjay6.singh at tcs.com>
> Date:          09/11/2014 05:35 PM
> Subject:               Re: [ovs-dev] Openflow 1.4: Eviction mechanism 
implementation
> Sent by:               "dev" <dev-bounces at openvswitch.org>
> 
> 
> 
> ?Hi Ben/Team,
> 
> We have started with the implementation of eviction feature as per 
openflow specification 1.4. Following points needs discussion:
> 
> 1. As per current implementation, "ovs-vsctl create table ... 
overflow-policy=evict" command, configures openvswitch database(conf.db) 
and sets table structure eviction fields and eviction groups.
> ?
> 2. As per our understanding, the implementation of eviction for 
importance as per openflow specification 1.4, should be in parallel with 
existing functionality, i.e. if eviction for importance is set through 
mod-table command and importance parameter is given by the user,then we 
must create the eviction groups(eviction_group_add_rule) and at the time 
of eviction, obtain the value on basis of importance from this group. 
> 
> 3. This approach requires table->eviction_field which is set only when 
create table command with overflow-policy=evict is given. 
> 
> 4. mod-table command for setting the eviction parameter as importance 
will only set the table config parameter as "importance" and will not set 
the table->eviction fields.
> 
> 5. So as per our understanding this should be mandatory to first enable 
eviction on the complete table using create table ... 
overflow-policy=evict and then change the mode of eviction as importance 
using mod-table command.
> 
> Kindly comment on the above mentioned approach.
> 
> Thanks in advance for your suggestions/feedback.
> 
> Thanks and Regards,
> Saloni Jain
> Tata Consultancy Services
>  Mailto: saloni.jain at tcs.com
>  Website: http://www.tcs.com
>  ____________________________________________
>  Experience certainty.                                  IT Services
>                 Business Solutions
>                 Consulting
>  ____________________________________________
> 
> -----Ben Pfaff <blp at nicira.com> wrote: -----
> To: Saloni Jain <saloni.jain at tcs.com>
> From: Ben Pfaff <blp at nicira.com>
> Date: 09/09/2014 08:25PM
> Cc: dev at openvswitch.org, Hiteshi Madan <hiteshi.madan at tcs.com>, 
Deepankar Gupta <deepankar.gupta at tcs.com>
> Subject: Re: [ovs-dev] Openflow 1.4: Eviction mechanism implementation
> 
> On Tue, Sep 09, 2014 at 05:15:06PM +0530, Saloni Jain wrote:
> > 1. If eviction on the switch is set on the basis of "lifetime" by
> > create table command and then the command for "importance" (mod-table
> > command) is given then what will be the basis of eviction in this
> > case. Will in this case, eviction will be performed on the basis of
> > importance only and not lifetime i.e, second value will overwrite the
> > previously configured eviction policy?
> 
> I'd expect it to consider one of those policies first and then use the
> other as a tie-breaker, e.g. consider importance first, then use
> lifetime for entries of equal importance.
> 
> However, this might turn out to be difficult or not useful, and if so
> then using just one of the policies would make sense (probably
> importance in this case).
> 
> > 3. If eviction performed on basis of "lifetime" using create table
> > command, we can disable it using create table command setting
> > overflow-policy=refuse. Similarly if eviction is done for importance
> > using mod-table command, then how it can be disabled?
> 
> Also using mod-table to turn the eviction flag off.
> =====-----=====-----=====
> Notice: The information contained in this e-mail
> message and/or attachments to it may contain 
> confidential or privileged information. If you are 
> not the intended recipient, any dissemination, use, 
> review, distribution, printing or copying of the 
> information contained in this e-mail message 
> and/or attachments to it are strictly prohibited. If 
> you have received this communication in error, 
> please notify us by reply e-mail or telephone and 
> immediately and permanently delete the message 
> and any attachments. Thank you
> 
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev




More information about the dev mailing list