[v2] ethdev: fix comments of packet integrity flow item
Checks
Commit Message
The Doxygen comments are placed before the related lines,
but the markers were /**< instead of /**
The struct rte_flow_item_integrity did not appear in Doxygen output
because there was no general comment for the struct.
Fixes: b10a421a1f3b ("ethdev: add packet integrity check flow rules")
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
v2: add general comment for the struct (thanks Ferruh for the catch)
---
lib/ethdev/rte_flow.h | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
Comments
On 5/19/2021 6:33 PM, Thomas Monjalon wrote:
> The Doxygen comments are placed before the related lines,
> but the markers were /**< instead of /**
>
> The struct rte_flow_item_integrity did not appear in Doxygen output
> because there was no general comment for the struct.
>
> Fixes: b10a421a1f3b ("ethdev: add packet integrity check flow rules")
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
btw, there are some related issues for other structs, do you think should we fix
them in this release?
Following are missing doxygen comment for its item:
* "struct rte_flow_item_conntrack"
* "struct rte_flow_item_ecpri"
* Following are missing doxygen comments for its items, and missing experimental
tag.
* "struct rte_flow_item_geneve_opt"
* "struct rte_flow_item_ipv6_frag_ext"
And I suspect we can see similar issues with more structs as we check them all.
19/05/2021 19:47, Ferruh Yigit:
> On 5/19/2021 6:33 PM, Thomas Monjalon wrote:
> > The Doxygen comments are placed before the related lines,
> > but the markers were /**< instead of /**
> >
> > The struct rte_flow_item_integrity did not appear in Doxygen output
> > because there was no general comment for the struct.
> >
> > Fixes: b10a421a1f3b ("ethdev: add packet integrity check flow rules")
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> > Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
>
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
>
>
> btw, there are some related issues for other structs, do you think should we fix
> them in this release?
>
> Following are missing doxygen comment for its item:
> * "struct rte_flow_item_conntrack"
> * "struct rte_flow_item_ecpri"
>
> * Following are missing doxygen comments for its items, and missing experimental
> tag.
> * "struct rte_flow_item_geneve_opt"
> * "struct rte_flow_item_ipv6_frag_ext"
>
> And I suspect we can see similar issues with more structs as we check them all.
Except GENEVE, they are singleton (one member in the struct),
so it is not a big deal.
Given they are missing comment (not wrong), I propose to wait the next release
for making rte_flow doxygen more complete.
I plan to have a look at the rst doc as well.
On 5/19/2021 6:59 PM, Thomas Monjalon wrote:
> 19/05/2021 19:47, Ferruh Yigit:
>> On 5/19/2021 6:33 PM, Thomas Monjalon wrote:
>>> The Doxygen comments are placed before the related lines,
>>> but the markers were /**< instead of /**
>>>
>>> The struct rte_flow_item_integrity did not appear in Doxygen output
>>> because there was no general comment for the struct.
>>>
>>> Fixes: b10a421a1f3b ("ethdev: add packet integrity check flow rules")
>>>
>>> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>>> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
>>> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
>>
>> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
>>
>>
>> btw, there are some related issues for other structs, do you think should we fix
>> them in this release?
>>
>> Following are missing doxygen comment for its item:
>> * "struct rte_flow_item_conntrack"
>> * "struct rte_flow_item_ecpri"
>>
>> * Following are missing doxygen comments for its items, and missing experimental
>> tag.
>> * "struct rte_flow_item_geneve_opt"
>> * "struct rte_flow_item_ipv6_frag_ext"
>>
>> And I suspect we can see similar issues with more structs as we check them all.
>
> Except GENEVE, they are singleton (one member in the struct),
> so it is not a big deal.
> Given they are missing comment (not wrong), I propose to wait the next release
> for making rte_flow doxygen more complete.
> I plan to have a look at the rst doc as well.
>
>
OK
19/05/2021 19:47, Ferruh Yigit:
> On 5/19/2021 6:33 PM, Thomas Monjalon wrote:
> > The Doxygen comments are placed before the related lines,
> > but the markers were /**< instead of /**
> >
> > The struct rte_flow_item_integrity did not appear in Doxygen output
> > because there was no general comment for the struct.
> >
> > Fixes: b10a421a1f3b ("ethdev: add packet integrity check flow rules")
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> > Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
>
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Applied
@@ -1707,8 +1707,16 @@ rte_flow_item_geneve_opt_mask = {
};
#endif
+/**
+ * @warning
+ * @b EXPERIMENTAL: this structure may change without prior notice
+ *
+ * RTE_FLOW_ITEM_TYPE_INTEGRITY
+ *
+ * Match on packet integrity check result.
+ */
struct rte_flow_item_integrity {
- /**< Tunnel encapsulation level the item should apply to.
+ /** Tunnel encapsulation level the item should apply to.
* @see rte_flow_action_rss
*/
uint32_t level;
@@ -1716,21 +1724,21 @@ struct rte_flow_item_integrity {
union {
__extension__
struct {
- /**< The packet is valid after passing all HW checks. */
+ /** The packet is valid after passing all HW checks. */
uint64_t packet_ok:1;
- /**< L2 layer is valid after passing all HW checks. */
+ /** L2 layer is valid after passing all HW checks. */
uint64_t l2_ok:1;
- /**< L3 layer is valid after passing all HW checks. */
+ /** L3 layer is valid after passing all HW checks. */
uint64_t l3_ok:1;
- /**< L4 layer is valid after passing all HW checks. */
+ /** L4 layer is valid after passing all HW checks. */
uint64_t l4_ok:1;
- /**< L2 layer CRC is valid. */
+ /** L2 layer CRC is valid. */
uint64_t l2_crc_ok:1;
- /**< IPv4 layer checksum is valid. */
+ /** IPv4 layer checksum is valid. */
uint64_t ipv4_csum_ok:1;
- /**< L4 layer checksum is valid. */
+ /** L4 layer checksum is valid. */
uint64_t l4_csum_ok:1;
- /**< The l3 length is smaller than the frame length. */
+ /** L3 length is smaller than frame length. */
uint64_t l3_len_ok:1;
uint64_t reserved:56;
};