From: "Eelco Chaudron" <echaudro@redhat.com>
To: "Jakub Kicinski" <kuba@kernel.org>
Cc: netdev@vger.kernel.org, davem@davemloft.net, dev@openvswitch.org,
pshelar@ovn.org, bindiyakurle@gmail.com, i.maximets@ovn.org,
mcroce@linux.microsoft.com
Subject: Re: [PATCH net] net: openvswitch: fix TTL decrement action netlink message format
Date: Tue, 24 Nov 2020 12:18:25 +0100 [thread overview]
Message-ID: <4829A14E-DA37-49F0-9FED-F69D8E6A3C54@redhat.com> (raw)
In-Reply-To: <20201120131228.489c3b52@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
On 20 Nov 2020, at 22:12, Jakub Kicinski wrote:
> On Thu, 19 Nov 2020 04:04:04 -0500 Eelco Chaudron wrote:
>> Currently, the openvswitch module is not accepting the correctly
>> formated
>> netlink message for the TTL decrement action. For both setting and
>> getting
>> the dec_ttl action, the actions should be nested in the
>> OVS_DEC_TTL_ATTR_ACTION attribute as mentioned in the openvswitch.h
>> uapi.
>
> IOW this change will not break any known user space, correct?
It will not as there isn’t any yet. Unfortunately, the original patch
was sent out without a userspace part. It was internally tested by the
original authors and not properly reviewed to bring forward the issue.
They did add some weird code to work around it.
> But existing OvS user space already expects it to work like you
> make it work now?
>
> What's the harm in leaving it as is?
Without this change, the different Datapaths in OVS behave differently,
making the code to be datapath agnostic having to do all kinds of weird
tricks to work around it.
But even worse, the patch in the current format could interpret
additional options/attributes as actions, due to the actions not being
encapsulated/nested within the actual attribute.
>> Fixes: 744676e77720 ("openvswitch: add TTL decrement action")
>> Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
>
> Can we get a review from OvS folks? Matteo looks good to you (as the
> original author)?
See Matteo’s reply, looks like he is ok with this change.
>> - err = __ovs_nla_copy_actions(net, attr, key, sfa, eth_type,
>> + err = __ovs_nla_copy_actions(net, actions, key, sfa, eth_type,
>> vlan_tci, mpls_label_count, log);
>> if (err)
>> return err;
>
> You're not canceling any nests on error, I assume this is normal.
Yes, on error the sfa actions are not used.
>> + add_nested_action_end(*sfa, action_start);
>> add_nested_action_end(*sfa, start);
>> return 0;
>> }
next prev parent reply other threads:[~2020-11-24 11:18 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-19 9:04 [PATCH net] net: openvswitch: fix TTL decrement action netlink message format Eelco Chaudron
2020-11-20 21:12 ` Jakub Kicinski
2020-11-23 19:36 ` Matteo Croce
2020-11-24 1:57 ` Jakub Kicinski
2020-11-24 11:20 ` Eelco Chaudron
2020-11-24 11:19 ` Eelco Chaudron
2020-11-24 11:18 ` Eelco Chaudron [this message]
2020-11-20 22:16 ` Pravin Shelar
2020-11-24 10:51 ` Eelco Chaudron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4829A14E-DA37-49F0-9FED-F69D8E6A3C54@redhat.com \
--to=echaudro@redhat.com \
--cc=bindiyakurle@gmail.com \
--cc=davem@davemloft.net \
--cc=dev@openvswitch.org \
--cc=i.maximets@ovn.org \
--cc=kuba@kernel.org \
--cc=mcroce@linux.microsoft.com \
--cc=netdev@vger.kernel.org \
--cc=pshelar@ovn.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.