Messages in this thread | | | From | Baowen Zheng <> | Subject | RE: [PATCH net-next 1/6] flow_offload: add flow_rule_no_unsupp_control_flags() | Date | Tue, 9 Apr 2024 01:56:57 +0000 |
| |
On April 8, 2024 9:09 PM, Asbjørn wrote:
>This helper can be used by drivers to check for the presence of unsupported >control flags. > >It mirrors the existing check done in sfc: > drivers/net/ethernet/sfc/tc.c +276 > >This is aimed at drivers, which implements some control flags. > >This should also be used by drivers that implement all current flags, so that >future flags will be unsupported by default. > >Only compile-tested. > >Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net> >--- > include/net/flow_offload.h | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > >diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h index >314087a5e1818..c1317b14da08c 100644 >--- a/include/net/flow_offload.h >+++ b/include/net/flow_offload.h >@@ -449,6 +449,28 @@ static inline bool flow_rule_match_key(const struct >flow_rule *rule, > return dissector_uses_key(rule->match.dissector, key); } > >+/** >+ * flow_rule_no_unsupp_control_flags() - check for unsupported control >+flags >+ * @supp_flags: flags supported by driver >+ * @flags: flags present in rule >+ * @extack: The netlink extended ACK for reporting errors. >+ * >+ * Returns true if only supported control flags are set, false otherwise. >+ */ >+static inline bool flow_rule_no_unsupp_control_flags(const u32 supp_flags, >+ const u32 flags, >+ Hi Asbjørn, thanks for your work, it makes sense for driver check. Will it better to name flags as "ctrl_flags" to make it more clear since it indicates the ctrl_flags in rule and you name it as control.flags in the following print message. struct >+netlink_ext_ack *extack) { >+ if (likely((flags & ~supp_flags) == 0)) >+ return true; >+ >+ NL_SET_ERR_MSG_FMT_MOD(extack, >+ "Unsupported match on control.flags %#x", >+ flags); >+ >+ return false; >+} >+ > struct flow_stats { > u64 pkts; > u64 bytes; >-- This should not be included in this patch. >2.43.0
| |