flow_dissector: cleanup FLOW_DISSECTOR_KEY_ENC_FLAGS

Now that TCA_FLOWER_KEY_ENC_FLAGS is unused, as it's
former data is stored behind TCA_FLOWER_KEY_ENC_CONTROL,
then remove the last bits of FLOW_DISSECTOR_KEY_ENC_FLAGS.

FLOW_DISSECTOR_KEY_ENC_FLAGS is unreleased, and have been
in net-next since 2024-06-04.

Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
Tested-by: Davide Caratti <dcaratti@redhat.com>
Reviewed-by: Davide Caratti <dcaratti@redhat.com>
Link: https://patch.msgid.link/20240713021911.1631517-12-ast@fiberby.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Asbjørn Sloth Tønnesen 2024-07-13 02:19:08 +00:00 committed by Jakub Kicinski
parent 880a51a8ab
commit db5271d50e
4 changed files with 1 additions and 39 deletions

View File

@ -342,14 +342,6 @@ struct flow_dissector_key_cfm {
#define FLOW_DIS_CFM_MDL_MASK GENMASK(7, 5) #define FLOW_DIS_CFM_MDL_MASK GENMASK(7, 5)
#define FLOW_DIS_CFM_MDL_MAX 7 #define FLOW_DIS_CFM_MDL_MAX 7
/**
* struct flow_dissector_key_enc_flags: tunnel metadata control flags
* @flags: tunnel control flags
*/
struct flow_dissector_key_enc_flags {
u32 flags;
};
enum flow_dissector_key_id { enum flow_dissector_key_id {
FLOW_DISSECTOR_KEY_CONTROL, /* struct flow_dissector_key_control */ FLOW_DISSECTOR_KEY_CONTROL, /* struct flow_dissector_key_control */
FLOW_DISSECTOR_KEY_BASIC, /* struct flow_dissector_key_basic */ FLOW_DISSECTOR_KEY_BASIC, /* struct flow_dissector_key_basic */
@ -384,7 +376,6 @@ enum flow_dissector_key_id {
FLOW_DISSECTOR_KEY_L2TPV3, /* struct flow_dissector_key_l2tpv3 */ FLOW_DISSECTOR_KEY_L2TPV3, /* struct flow_dissector_key_l2tpv3 */
FLOW_DISSECTOR_KEY_CFM, /* struct flow_dissector_key_cfm */ FLOW_DISSECTOR_KEY_CFM, /* struct flow_dissector_key_cfm */
FLOW_DISSECTOR_KEY_IPSEC, /* struct flow_dissector_key_ipsec */ FLOW_DISSECTOR_KEY_IPSEC, /* struct flow_dissector_key_ipsec */
FLOW_DISSECTOR_KEY_ENC_FLAGS, /* struct flow_dissector_key_enc_flags */
FLOW_DISSECTOR_KEY_MAX, FLOW_DISSECTOR_KEY_MAX,
}; };

View File

@ -247,18 +247,6 @@ static inline bool ip_tunnel_is_options_present(const unsigned long *flags)
return ip_tunnel_flags_intersect(flags, present); return ip_tunnel_flags_intersect(flags, present);
} }
static inline void ip_tunnel_set_encflags_present(unsigned long *flags)
{
IP_TUNNEL_DECLARE_FLAGS(present) = { };
__set_bit(IP_TUNNEL_CSUM_BIT, present);
__set_bit(IP_TUNNEL_DONT_FRAGMENT_BIT, present);
__set_bit(IP_TUNNEL_OAM_BIT, present);
__set_bit(IP_TUNNEL_CRIT_OPT_BIT, present);
ip_tunnel_flags_or(flags, flags, present);
}
static inline bool ip_tunnel_flags_is_be16_compat(const unsigned long *flags) static inline bool ip_tunnel_flags_is_be16_compat(const unsigned long *flags)
{ {
IP_TUNNEL_DECLARE_FLAGS(supp) = { }; IP_TUNNEL_DECLARE_FLAGS(supp) = { };

View File

@ -385,9 +385,7 @@ skb_flow_dissect_tunnel_info(const struct sk_buff *skb,
!dissector_uses_key(flow_dissector, !dissector_uses_key(flow_dissector,
FLOW_DISSECTOR_KEY_ENC_IP) && FLOW_DISSECTOR_KEY_ENC_IP) &&
!dissector_uses_key(flow_dissector, !dissector_uses_key(flow_dissector,
FLOW_DISSECTOR_KEY_ENC_OPTS) && FLOW_DISSECTOR_KEY_ENC_OPTS))
!dissector_uses_key(flow_dissector,
FLOW_DISSECTOR_KEY_ENC_FLAGS))
return; return;
info = skb_tunnel_info(skb); info = skb_tunnel_info(skb);
@ -489,18 +487,6 @@ skb_flow_dissect_tunnel_info(const struct sk_buff *skb,
IP_TUNNEL_GENEVE_OPT_BIT); IP_TUNNEL_GENEVE_OPT_BIT);
enc_opt->dst_opt_type = val < __IP_TUNNEL_FLAG_NUM ? val : 0; enc_opt->dst_opt_type = val < __IP_TUNNEL_FLAG_NUM ? val : 0;
} }
if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_ENC_FLAGS)) {
struct flow_dissector_key_enc_flags *enc_flags;
IP_TUNNEL_DECLARE_FLAGS(flags) = {};
enc_flags = skb_flow_dissector_target(flow_dissector,
FLOW_DISSECTOR_KEY_ENC_FLAGS,
target_container);
ip_tunnel_set_encflags_present(flags);
ip_tunnel_flags_and(flags, flags, info->key.tun_flags);
enc_flags->flags = bitmap_read(flags, IP_TUNNEL_CSUM_BIT, 32);
}
} }
EXPORT_SYMBOL(skb_flow_dissect_tunnel_info); EXPORT_SYMBOL(skb_flow_dissect_tunnel_info);

View File

@ -85,7 +85,6 @@ struct fl_flow_key {
struct flow_dissector_key_l2tpv3 l2tpv3; struct flow_dissector_key_l2tpv3 l2tpv3;
struct flow_dissector_key_ipsec ipsec; struct flow_dissector_key_ipsec ipsec;
struct flow_dissector_key_cfm cfm; struct flow_dissector_key_cfm cfm;
struct flow_dissector_key_enc_flags enc_flags;
} __aligned(BITS_PER_LONG / 8); /* Ensure that we can do comparisons as longs. */ } __aligned(BITS_PER_LONG / 8); /* Ensure that we can do comparisons as longs. */
struct fl_flow_mask_range { struct fl_flow_mask_range {
@ -2223,8 +2222,6 @@ static void fl_init_dissector(struct flow_dissector *dissector,
FLOW_DISSECTOR_KEY_IPSEC, ipsec); FLOW_DISSECTOR_KEY_IPSEC, ipsec);
FL_KEY_SET_IF_MASKED(mask, keys, cnt, FL_KEY_SET_IF_MASKED(mask, keys, cnt,
FLOW_DISSECTOR_KEY_CFM, cfm); FLOW_DISSECTOR_KEY_CFM, cfm);
FL_KEY_SET_IF_MASKED(mask, keys, cnt,
FLOW_DISSECTOR_KEY_ENC_FLAGS, enc_flags);
skb_flow_dissector_init(dissector, keys, cnt); skb_flow_dissector_init(dissector, keys, cnt);
} }