mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 21:33:52 +00:00
net/sched: act_tunnel_key: add support for "don't fragment"
extend "act_tunnel_key" to allow specifying TUNNEL_DONT_FRAGMENT. Suggested-by: Ilya Maximets <i.maximets@ovn.org> Reviewed-by: Pedro Tammela <pctammela@mojatatu.com> Acked-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: Davide Caratti <dcaratti@redhat.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
46e9acb7ae
commit
2384127e98
2 changed files with 6 additions and 0 deletions
|
@ -34,6 +34,7 @@ enum {
|
||||||
*/
|
*/
|
||||||
TCA_TUNNEL_KEY_ENC_TOS, /* u8 */
|
TCA_TUNNEL_KEY_ENC_TOS, /* u8 */
|
||||||
TCA_TUNNEL_KEY_ENC_TTL, /* u8 */
|
TCA_TUNNEL_KEY_ENC_TTL, /* u8 */
|
||||||
|
TCA_TUNNEL_KEY_NO_FRAG, /* flag */
|
||||||
__TCA_TUNNEL_KEY_MAX,
|
__TCA_TUNNEL_KEY_MAX,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -420,6 +420,9 @@ static int tunnel_key_init(struct net *net, struct nlattr *nla,
|
||||||
nla_get_u8(tb[TCA_TUNNEL_KEY_NO_CSUM]))
|
nla_get_u8(tb[TCA_TUNNEL_KEY_NO_CSUM]))
|
||||||
flags &= ~TUNNEL_CSUM;
|
flags &= ~TUNNEL_CSUM;
|
||||||
|
|
||||||
|
if (nla_get_flag(tb[TCA_TUNNEL_KEY_NO_FRAG]))
|
||||||
|
flags |= TUNNEL_DONT_FRAGMENT;
|
||||||
|
|
||||||
if (tb[TCA_TUNNEL_KEY_ENC_DST_PORT])
|
if (tb[TCA_TUNNEL_KEY_ENC_DST_PORT])
|
||||||
dst_port = nla_get_be16(tb[TCA_TUNNEL_KEY_ENC_DST_PORT]);
|
dst_port = nla_get_be16(tb[TCA_TUNNEL_KEY_ENC_DST_PORT]);
|
||||||
|
|
||||||
|
@ -747,6 +750,8 @@ static int tunnel_key_dump(struct sk_buff *skb, struct tc_action *a,
|
||||||
key->tp_dst)) ||
|
key->tp_dst)) ||
|
||||||
nla_put_u8(skb, TCA_TUNNEL_KEY_NO_CSUM,
|
nla_put_u8(skb, TCA_TUNNEL_KEY_NO_CSUM,
|
||||||
!(key->tun_flags & TUNNEL_CSUM)) ||
|
!(key->tun_flags & TUNNEL_CSUM)) ||
|
||||||
|
((key->tun_flags & TUNNEL_DONT_FRAGMENT) &&
|
||||||
|
nla_put_flag(skb, TCA_TUNNEL_KEY_NO_FRAG)) ||
|
||||||
tunnel_key_opts_dump(skb, info))
|
tunnel_key_opts_dump(skb, info))
|
||||||
goto nla_put_failure;
|
goto nla_put_failure;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue