[ovs-dev] Query regarding OF1.5 Egress tables (EXT-306)

Jean Tourrilhes jt at hpl.hp.com
Wed Aug 19 15:46:26 UTC 2015

On Wed, Aug 19, 2015 at 01:18:37PM +0530, niti Rohilla wrote:
> Thanks Jean.
> >Capabilities are not modified by the ofp_table_mod messages,
> >either the implementation is capable, or it is not, and this does not
> >dynamically change. Don't confuse with the 'config' field in
> >ofp_table_desc that describe if the feature is enabled or not.
> >Note that this is one of the most subtle change from 1.3 to
> >1.4.
> With reference to DESIGN.md - OFPTC_* Table Configuration
> "OFPT_TABLE_MOD still controlled these settings.  The field for OFPTC_*
> values in OFPMP_TABLE_FEATURES was renamed from 'config' to
> 'capabilities'

	Be careful there. Technically, 'renamed' is correct, if you
look at the old structure and the new structure, you find that the
structure field was renamed. However, the semantic was changed along
the way, the definition is different, so it's more than a simple

> and documented as reporting the flags that are
> supported in a OFPT_TABLE_MOD message.  The OFPMP_TABLE_DESC message
> newly added in OF1.4 reported the OFPTC_* setting."
> So as per our understanding, 'config' is renamed to 'capabilities' in
> 'OFPMP_TABLE_FEATURES'. Also, OFPT_TABLE_MOD can be used to configure table
> 'config' properties, OFPMP_TABLE_DESC is used to report OFPTC_* settings


> and OFPMP_TABLE_FEATURES is used to report the flags supported in
> OFPT_TABLE_MOD messages.

	This means that in OFPMP_TABLE_FEATURES you expose all the
flags that might be set in OFPT_TABLE_MOD, i.e. all the features
supported by the implementation.
	This definition is actually consistent with the way we use the
word capability throughout the spec. The closest example are in
ofp_meter_features and ofp_bundle_features.
	If 'capabilities' was the same as 'config', I would have given
them the same name and I would have said so in the text.

> Also when these OFPTC_* flags are modified using table_mod messages we need
> to pass ofp_table_mod_prop_eviction and
> ofp_table_mod_prop_vacancy properties

	Exactly, this is why I removed 'config' from
OFPMP_TABLE_FEATURES, as it did not make sense to have it there
because you don't have the associated properties.

> along with the messages. So how can
> we modify capabilities/config(OFPTC_*) using OFPTFC_MODIFY command?

	Remember that 'capabilities' != 'config'. OFPTFC_MODIFY can
only modify 'config'. In theory, to modify 'capabilities', you would
need to use a OFPMP_TABLE_FEATURES request, but I don't know if that
would make sense.

> Kindly suggest if we are missing something regarding OFPTFC_MODIFY command.
> Thanks & Regards
> Niti Rohilla



More information about the dev mailing list