[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