[ovs-dev] [PATCH 1/2] ofctl: This patch add support for setting the first egress table for egress processing.

niti Rohilla niti1489 at gmail.com
Wed Jan 13 09:48:02 UTC 2016


Hi Ben,

I can incorporate the egress table implemenation in OF1.3 table features
code and will remove the implementation added for OF1.5.

I will replace the pad[5] field in of13_table_features structure with
command and features field as specified in OF1.5.1 specifications. I can
also remove the ofp15_table_feature_prop_type enums, OF1.5 protocol
definition and code implementation added for the same. Kindly suggest is
this approach is fine.

I can replace the hard coded values for OFPAT_ with OFPACT_OUTPUT and
OFPACT_GROUP.

I have created a global variable "egress_table_id" that contain the table
id of first egress table. This variable is declared as global because I
need the first egress table id to add the checks in ofp-action.c file (in
ofpact_check__()) to prevent adding the output and group action in action
set of egress tables and to disallow the ingress flow tables to direct the
packet to egress flow tables via GOTO_TABLE instruction.

We need access to the ofproto structure in ofpact_check__().
ofpact_check__() is called from various places. One scenraio is,
ofp_print_flow_mod() -> ofputil_decode_flow_mod() ->
ofpacts_check_consistency() -> ofpacts_check() -> ofpact_check__(). We
don't have access to ofproto strcuture in ofp_print_flow_mod(). Please
suggest if there is any other possible way through which I can get the
first egress table id (stored in ofproto strcuture) in ofp-actions.c file.

I want to clarify one more doubt. In the 2nd patch, when a packet start
egress processing then output port is added to the action_set and we should
also set the actset_output variable. So can we directly add the output port
in action_set and actset_output or we should call xlate_write_action() to
add the output port in action_set and actset_output variable. Please
suggest which approach should be followed for this.

Thanks
Niti Rohilla

On Mon, Jan 11, 2016 at 11:57 PM, Ben Pfaff <blp at ovn.org> wrote:

> On Wed, Dec 23, 2015 at 01:37:12PM +0530, niti1489 at gmail.com wrote:
> > From: Niti Rohilla <niti.rohilla at tcs.com>
> >
> > "ovs-ofctl set-first-egress-table <SWITCH> <table_id>" can be used to
> set first egress
> > table.
> > This patch enhances TABLE_FEATURES_REQUEST message to set the first
> egress table and
> > TABLE_FEATURES_REPLY to identify the table which is configured as first
> egress table.
> >
> > Signed-off-by: Niti Rohilla <niti.rohilla at tcs.com>
>
> This appears to completely cut and paste and modify the OF1.3 table
> features support, as well as all of the OF1.3 table features protocol
> definitions.
>
> This also hard-codes OFPAT_ values.
>
> This also adds a global variable to a utility library.
>
> None of this is acceptable.  Rejected.x
>



More information about the dev mailing list