Commit 988f8723 authored by Asbjørn Sloth Tønnesen's avatar Asbjørn Sloth Tønnesen Committed by Jakub Kicinski
Browse files

net/sched: cls_flower: add tunnel flags to fl_{set,dump}_key_flags()



Prepare to set and dump the tunnel flags.

This code won't see any of these flags yet, as these flags
aren't allowed by the NLA_POLICY_MASK, and the functions
doesn't get called with encap set to true yet.

Signed-off-by: default avatarAsbjørn Sloth Tønnesen <ast@fiberby.net>
Tested-by: default avatarDavide Caratti <dcaratti@redhat.com>
Reviewed-by: default avatarDavide Caratti <dcaratti@redhat.com>
Link: https://patch.msgid.link/20240713021911.1631517-9-ast@fiberby.net


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 03afeb61
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -1204,6 +1204,21 @@ static int fl_set_key_flags(struct nlattr **tb, bool encap, u32 *flags_key,
			TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST,
			FLOW_DIS_FIRST_FRAG);

	fl_set_key_flag(key, mask, flags_key, flags_mask,
			TCA_FLOWER_KEY_FLAGS_TUNNEL_CSUM,
			FLOW_DIS_F_TUNNEL_CSUM);

	fl_set_key_flag(key, mask, flags_key, flags_mask,
			TCA_FLOWER_KEY_FLAGS_TUNNEL_DONT_FRAGMENT,
			FLOW_DIS_F_TUNNEL_DONT_FRAGMENT);

	fl_set_key_flag(key, mask, flags_key, flags_mask,
			TCA_FLOWER_KEY_FLAGS_TUNNEL_OAM, FLOW_DIS_F_TUNNEL_OAM);

	fl_set_key_flag(key, mask, flags_key, flags_mask,
			TCA_FLOWER_KEY_FLAGS_TUNNEL_CRIT_OPT,
			FLOW_DIS_F_TUNNEL_CRIT_OPT);

	return 0;
}

@@ -3127,6 +3142,21 @@ static int fl_dump_key_flags(struct sk_buff *skb, bool encap,
			TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST,
			FLOW_DIS_FIRST_FRAG);

	fl_get_key_flag(flags_key, flags_mask, &key, &mask,
			TCA_FLOWER_KEY_FLAGS_TUNNEL_CSUM,
			FLOW_DIS_F_TUNNEL_CSUM);

	fl_get_key_flag(flags_key, flags_mask, &key, &mask,
			TCA_FLOWER_KEY_FLAGS_TUNNEL_DONT_FRAGMENT,
			FLOW_DIS_F_TUNNEL_DONT_FRAGMENT);

	fl_get_key_flag(flags_key, flags_mask, &key, &mask,
			TCA_FLOWER_KEY_FLAGS_TUNNEL_OAM, FLOW_DIS_F_TUNNEL_OAM);

	fl_get_key_flag(flags_key, flags_mask, &key, &mask,
			TCA_FLOWER_KEY_FLAGS_TUNNEL_CRIT_OPT,
			FLOW_DIS_F_TUNNEL_CRIT_OPT);

	_key = cpu_to_be32(key);
	_mask = cpu_to_be32(mask);