2024-04-08 13:24:38

by Asbjørn Sloth Tønnesen

[permalink] [raw]
Subject: [PATCH net-next 3/6] flow_offload: add flow_rule_no_control_flags()

This helper can be used by drivers, that doesn't support
any control flags, to reject any attempt to install rules
with control flags.

This is aimed at drivers, which uses flow_rule_match_control(),
but doesn't implement any control flags.

Only compile-tested.

Signed-off-by: Asbjørn Sloth Tønnesen <[email protected]>
---
include/net/flow_offload.h | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h
index c1317b14da08c..415d225204a1f 100644
--- a/include/net/flow_offload.h
+++ b/include/net/flow_offload.h
@@ -471,6 +471,19 @@ static inline bool flow_rule_no_unsupp_control_flags(const u32 supp_flags,
return false;
}

+/**
+ * flow_rule_no_control_flags() - check for presence of any control flags
+ * @flags: flags present in rule
+ * @extack: The netlink extended ACK for reporting errors.
+ *
+ * Returns true if no control flags are set, false otherwise.
+ */
+static inline bool flow_rule_no_control_flags(const u32 flags,
+ struct netlink_ext_ack *extack)
+{
+ return flow_rule_no_unsupp_control_flags(0, flags, extack);
+}
+
struct flow_stats {
u64 pkts;
u64 bytes;
--
2.43.0



2024-04-09 02:09:56

by Baowen Zheng

[permalink] [raw]
Subject: RE: [PATCH net-next 3/6] flow_offload: add flow_rule_no_control_flags()

On April 8, 2024 9:09 PM, Asbjørn wrote:

>This helper can be used by drivers, that doesn't support any control flags, to
>reject any attempt to install rules with control flags.
>
>This is aimed at drivers, which uses flow_rule_match_control(), but doesn't
>implement any control flags.
>
>Only compile-tested.
>
>Signed-off-by: Asbjørn Sloth Tønnesen <[email protected]>
>---
> include/net/flow_offload.h | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
>diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h index
>c1317b14da08c..415d225204a1f 100644
>--- a/include/net/flow_offload.h
>+++ b/include/net/flow_offload.h
>@@ -471,6 +471,19 @@ static inline bool
>flow_rule_no_unsupp_control_flags(const u32 supp_flags,
> return false;
> }
>
>+/**
>+ * flow_rule_no_control_flags() - check for presence of any control
>+flags
>+ * @flags: flags present in rule
>+ * @extack: The netlink extended ACK for reporting errors.
>+ *
>+ * Returns true if no control flags are set, false otherwise.
>+ */
>+static inline bool flow_rule_no_control_flags(const u32 flags,
>+ struct netlink_ext_ack *extack) {
>+ return flow_rule_no_unsupp_control_flags(0, flags, extack); }
>+
How about to squash this change with series I patch since they have similar functions for driver to use.
> struct flow_stats {
> u64 pkts;
> u64 bytes;
>--
>2.43.0

2024-04-09 11:34:43

by Asbjørn Sloth Tønnesen

[permalink] [raw]
Subject: Re: [PATCH net-next 3/6] flow_offload: add flow_rule_no_control_flags()

Hi Baowen,

On 4/9/24 2:09 AM, Baowen Zheng wrote:
> On April 8, 2024 9:09 PM, Asbjørn wrote:
>
>> This helper can be used by drivers, that doesn't support any control flags, to
>> reject any attempt to install rules with control flags.
>>
>> This is aimed at drivers, which uses flow_rule_match_control(), but doesn't
>> implement any control flags.
>>
>> Only compile-tested.
>>
>> Signed-off-by: Asbjørn Sloth Tønnesen <[email protected]>
>> ---
>> include/net/flow_offload.h | 13 +++++++++++++
>> 1 file changed, 13 insertions(+)
>>
>> diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h index
>> c1317b14da08c..415d225204a1f 100644
>> --- a/include/net/flow_offload.h
>> +++ b/include/net/flow_offload.h
>> @@ -471,6 +471,19 @@ static inline bool
>> flow_rule_no_unsupp_control_flags(const u32 supp_flags,
>> return false;
>> }
>>
>> +/**
>> + * flow_rule_no_control_flags() - check for presence of any control
>> +flags
>> + * @flags: flags present in rule
>> + * @extack: The netlink extended ACK for reporting errors.
>> + *
>> + * Returns true if no control flags are set, false otherwise.
>> + */
>> +static inline bool flow_rule_no_control_flags(const u32 flags,
>> + struct netlink_ext_ack *extack) {
>> + return flow_rule_no_unsupp_control_flags(0, flags, extack); }
>> +
> How about to squash this change with series I patch since they have similar functions for driver to use.

Do you have a link to the series, couldn't find it on the netdev list.

--
Best regards
Asbjørn Sloth Tønnesen
Network Engineer
Fiberby - AS42541

2024-04-09 12:03:49

by Baowen Zheng

[permalink] [raw]
Subject: RE: [PATCH net-next 3/6] flow_offload: add flow_rule_no_control_flags()

>> On April 8, 2024 9:09 PM, Asbjørn wrote:
>>
>>> This helper can be used by drivers, that doesn't support any control
>>> flags, to reject any attempt to install rules with control flags.
>>>
>>> This is aimed at drivers, which uses flow_rule_match_control(), but
>>> doesn't implement any control flags.
>>>
>>> Only compile-tested.
>>>
>>> Signed-off-by: Asbjørn Sloth Tønnesen <[email protected]>
>>> ---
>>> include/net/flow_offload.h | 13 +++++++++++++
>>> 1 file changed, 13 insertions(+)
>>>
>>> diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h
>>> index c1317b14da08c..415d225204a1f 100644
>>> --- a/include/net/flow_offload.h
>>> +++ b/include/net/flow_offload.h
>>> @@ -471,6 +471,19 @@ static inline bool
>>> flow_rule_no_unsupp_control_flags(const u32 supp_flags,
>>> return false;
>>> }
>>>
>>> +/**
>>> + * flow_rule_no_control_flags() - check for presence of any control
>>> +flags
>>> + * @flags: flags present in rule
>>> + * @extack: The netlink extended ACK for reporting errors.
>>> + *
>>> + * Returns true if no control flags are set, false otherwise.
>>> + */
>>> +static inline bool flow_rule_no_control_flags(const u32 flags,
>>> + struct netlink_ext_ack *extack) {
>>> + return flow_rule_no_unsupp_control_flags(0, flags, extack); }
>>> +
>> How about to squash this change with series I patch since they have similar
>functions for driver to use.
>
>Do you have a link to the series, couldn't find it on the netdev list.
Sorry for confusing you. I mean if you can squash this change with your first patch which introduce the function of flow_rule_no_unsupp_control_flags.
>
>--
>Best regards
>Asbjørn Sloth Tønnesen
>Network Engineer
>Fiberby - AS42541