Re: [PATCH v1 net-next] dissector: Use 64bits for used_keys

From: Petr Machata
Date: Thu Jul 27 2023 - 12:21:17 EST



Ratheesh Kannoth <rkannoth@xxxxxxxxxxx> writes:

> As 32bit of dissectory->used_keys are exhausted,

But s/dissectory/dissector/.

Also the subject should probably be:

net: flow_dissector: ...

> increase the size to 64bits.
>
> This is base changes for ESP/AH flow dissector patch.
>
> Please find patch and discussions at
> https://lore.kernel.org/netdev/ZMDNjD46BvZ5zp5I@xxxxxxxxxxxx/T/#t
>
> Signed-off-by: Ratheesh Kannoth <rkannoth@xxxxxxxxxxx>

> diff --git a/include/net/flow_dissector.h b/include/net/flow_dissector.h
> index 8664ed4fbbdf..830f06b2f36d 100644
> --- a/include/net/flow_dissector.h
> +++ b/include/net/flow_dissector.h
> @@ -370,7 +370,8 @@ struct flow_dissector_key {
> };
>
> struct flow_dissector {
> - unsigned int used_keys; /* each bit repesents presence of one key id */
> + unsigned long long used_keys;
> + /* each bit represents presence of one key id */

This unnecessarily adds an extra space before the field name.

> unsigned short int offset[FLOW_DISSECTOR_KEY_MAX];
> };
>
> @@ -430,7 +431,7 @@ void skb_flow_get_icmp_tci(const struct sk_buff *skb,
> static inline bool dissector_uses_key(const struct flow_dissector *flow_dissector,
> enum flow_dissector_key_id key_id)
> {
> - return flow_dissector->used_keys & (1 << key_id);
> + return flow_dissector->used_keys & (1ULL << key_id);
> }
>
> static inline void *skb_flow_dissector_target(struct flow_dissector *flow_dissector,