diff mbox series

[net-next,3/6] flow_offload: add flow_rule_no_control_flags()

Message ID 20240408130927.78594-4-ast@fiberby.net (mailing list archive)
State Superseded
Delegated to: Netdev Maintainers
Headers show
Series flower: validate control flags | expand

Checks

Context Check Description
netdev/series_format success Posting correctly formatted
netdev/tree_selection success Clearly marked for net-next
netdev/ynl success Generated files up to date; no warnings/errors; no diff in generated;
netdev/fixes_present success Fixes tag not required for -next series
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 2765 this patch: 2765
netdev/build_tools success Errors and warnings before: 0 this patch: 0
netdev/cc_maintainers success CCed 4 of 4 maintainers
netdev/build_clang success Errors and warnings before: 989 this patch: 989
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/deprecated_api success None detected
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success No Fixes tag
netdev/build_allmodconfig_warn success Errors and warnings before: 2974 this patch: 2974
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 19 lines checked
netdev/build_clang_rust success No Rust files in patch. Skipping build
netdev/kdoc fail Errors and warnings before: 2 this patch: 3
netdev/source_inline success Was 0 now: 0
netdev/contest success net-next-2024-04-09--03-00 (tests: 952)

Commit Message

Asbjørn Sloth Tønnesen April 8, 2024, 1:09 p.m. UTC
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 <ast@fiberby.net>
---
 include/net/flow_offload.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Comments

Baowen Zheng April 9, 2024, 2:09 a.m. UTC | #1
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 <ast@fiberby.net>
>---
> 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
Asbjørn Sloth Tønnesen April 9, 2024, 11:31 a.m. UTC | #2
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 <ast@fiberby.net>
>> ---
>> 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.
Baowen Zheng April 9, 2024, 11:35 a.m. UTC | #3
>> 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 <ast@fiberby.net>
>>> ---
>>> 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
diff mbox series

Patch

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;