Thanks, PSB.

> -----Original Message-----
> From: Adrien Mazarguil <adrien.mazarg...@6wind.com>
> Sent: Wednesday, April 3, 2019 12:15 PM
> To: Dekel Peled <dek...@mellanox.com>
> Cc: wenzhuo...@intel.com; jingjing...@intel.com;
> bernard.iremon...@intel.com; Yongseok Koh <ys...@mellanox.com>;
> Shahaf Shuler <shah...@mellanox.com>; dev@dpdk.org; Ori Kam
> <or...@mellanox.com>
> Subject: Re: [PATCH v2 1/3] ethdev: add actions to modify TCP header fields
> 
> Hi Dekel,
> 
> On Tue, Apr 02, 2019 at 06:13:19PM +0300, Dekel Peled wrote:
> > Add actions:
> > - INC_TCP_SEQ - Increase sequence number in the outermost TCP header.
> > - DEC_TCP_SEQ - Decrease sequence number in the outermost TCP
> header.
> > - INC_TCP_ACK - Increase acknowledgment number in the outermost TCP
> >             header.
> > - DEC_TCP_ACK - Decrease acknowledgment number in the outermost TCP
> >             header.
> >
> > Original work by Xiaoyu Min.
> >
> > Signed-off-by: Dekel Peled <dek...@mellanox.com>
> <snip>
> > +Action: ``INC_TCP_SEQ``
> > +^^^^^^^^^^^^^^^^^^^^^^^
> > +
> > +Increase sequence number in the outermost TCP header.
> > +
> > +If this action is used without a valid RTE_FLOW_ITEM_TYPE_TCP flow
> > +pattern item, behavior is unspecified, depending on PMD
> implementation.
> 
> I still don't agree with the wording as it implies one must combine this 
> action
> with the TCP pattern item or else, while one should simply ensure the
> presence of TCP traffic somehow. This may be done by a prior filtering rule.
> 
> So here's a generic suggestion which could be used with pretty much all
> modifying actions (other actions have the same problem and will have to be
> fixed as well eventually):
> 
>  Using this action on non-matching traffic results in undefined behavior.
> 
> This comment applies to all instances in this patch.
I accept your suggestion, indeed the existing actions have the problematic 
condition.
However I would like to currently leave this patch as-is for consistency.
I will send a fix patch for next release, applying the updated text to all 
modify-header actions.

> 
> <snip>
> > +/**
> > + * @warning
> > + * @b EXPERIMENTAL: this structure may change without prior notice
> > + *
> > + * RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ
> > + * RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ
> > + *
> > + * Increase/Decrease outermost TCP sequence number  */ struct
> > +rte_flow_action_modify_tcp_seq {
> > +   rte_be32_t value; /**< Value to increase/decrease by. */ };
> > +
> > +/**
> > + * @warning
> > + * @b EXPERIMENTAL: this structure may change without prior notice
> > + *
> > + * RTE_FLOW_ACTION_TYPE_INC_TCP_ACK
> > + * RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK
> > + *
> > + * Increase/Decrease outermost TCP acknowledgment number.
> > + */
> > +struct rte_flow_action_modify_tcp_ack {
> > +   rte_be32_t value; /**< Value to increase/decrease by. */ };
> 
> Thanks for adding experimental tags and comments, however you didn't
> reply anything about using a single action, or at least a single structure for
> add/sub/set? I'd like to hear your thoughts.

It's either 2 actions with 1 parameters, or 1 action with 2 parameters.
The current implementation is more straight-forward in my opinion.

> 
> --
> Adrien Mazarguil
> 6WIND

Reply via email to