From: "Yang, Yi" <yi.y.yang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: Eric Garver <e@erig.me>
Cc: "dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org"
<dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org>,
"netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"jbenc-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
<jbenc-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH net-next v4] openvswitch: enable NSH support
Date: Mon, 21 Aug 2017 14:21:16 +0800 [thread overview]
Message-ID: <20170821062116.GA73069@cran64.bj.intel.com> (raw)
In-Reply-To: <20170818190947.GA1479@dev-rhel7>
On Sat, Aug 19, 2017 at 03:09:47AM +0800, Eric Garver wrote:
> On Fri, Aug 18, 2017 at 03:24:31PM +0800, Yi Yang wrote:
> > v3->v4
> > - Add new NSH match field ttl
> > - Update NSH header to the latest format
> > which will be final format and won't change
> > per its author's confirmation.
> > - Fix comments for v3.
>
> Hi Yi,
> Only a few comments below since Jiri already supplied lots of feedback.
>
Eric, thank you for your comments, I have fixed them in v5, please help
review v5, thanks a lot.
> > @@ -1210,6 +1373,20 @@ static int do_execute_actions(struct datapath *dp, struct sk_buff *skb,
> > case OVS_ACTION_ATTR_POP_ETH:
> > err = pop_eth(skb, key);
> > break;
> > +
> > + case OVS_ACTION_ATTR_PUSH_NSH: {
> > + u8 buffer[256];
>
> Use NSH_M_TYPE2_MAX_LEN
Replaced 256 to NSH_M_TYPE2_MAX_LEN in v5.
> > + case OVS_NSH_KEY_ATTR_MD1: {
> > + const struct ovs_nsh_key_md1 *md1 =
> > + (struct ovs_nsh_key_md1 *)nla_data(a);
> > +
> > + has_md1 = true;
> > + memcpy(nsh->context, md1->context, sizeof(*md1));
> > + break;
> > + }
> > + case OVS_NSH_KEY_ATTR_MD2:
> > + /* Not supported yet */
>
> return -ENOTPSUPP if it's not supported.
Did that way in v5.
> > + case OVS_NSH_KEY_ATTR_MD1: {
> > + const struct ovs_nsh_key_md1 *md1 =
> > + (struct ovs_nsh_key_md1 *)nla_data(a);
> > +
> > + has_md1 = true;
> > + for (i = 0; i < NSH_MD1_CONTEXT_SIZE; i++)
> > + SW_FLOW_KEY_PUT(match, nsh.context[i],
> > + md1->context[i], is_mask);
> > + break;
> > + }
> > + case OVS_NSH_KEY_ATTR_MD2:
> > + /* Not supported yet */
>
> return -ENOTPSUPP if it's not supported.
Done in v5.
> > @@ -2636,6 +2984,17 @@ static int __ovs_nla_copy_actions(struct net *net, const struct nlattr *attr,
> > mac_proto = MAC_PROTO_ETHERNET;
> > break;
> >
> > + case OVS_ACTION_ATTR_PUSH_NSH:
>
> You need to some validation here, especially the metadata lengths.
> Relying on action_lens is not enough because it's variable.
>
Good point, I added validate_nsh for this.
prev parent reply other threads:[~2017-08-21 6:21 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-18 7:24 [PATCH net-next v4] openvswitch: enable NSH support Yi Yang
2017-08-18 13:26 ` Jiri Benc
2017-08-18 13:31 ` Jiri Benc
2017-08-21 6:31 ` Yang, Yi
2017-08-21 6:11 ` Yang, Yi
[not found] ` <20170821061109.GA72656-re2EX8HDrk21gSHoDXDV2kEOCMrvLtNR@public.gmane.org>
2017-08-21 8:19 ` Jiri Benc
2017-08-21 8:39 ` Yang, Yi
2017-08-21 9:04 ` Jan Scheurich
[not found] ` <CFF8EF42F1132E4CBE2BF0AB6C21C58D727494F3-hqolJogE5njKJFWPz4pdheaU1rCVNFv4@public.gmane.org>
2017-08-21 9:31 ` Jan Scheurich
2017-08-21 9:35 ` Jiri Benc
2017-08-21 9:42 ` Jan Scheurich
2017-08-21 9:51 ` Jiri Benc
2017-08-21 10:10 ` Jan Scheurich
[not found] ` <CFF8EF42F1132E4CBE2BF0AB6C21C58D7274A5C7-hqolJogE5njKJFWPz4pdheaU1rCVNFv4@public.gmane.org>
2017-08-21 11:50 ` Jiri Benc
2017-08-22 8:32 ` Jan Scheurich
[not found] ` <CFF8EF42F1132E4CBE2BF0AB6C21C58D7274C9FB-hqolJogE5njKJFWPz4pdheaU1rCVNFv4@public.gmane.org>
2017-08-22 17:35 ` Ben Pfaff
2017-08-23 15:27 ` David Laight
[not found] ` <20170821083900.GA74649-re2EX8HDrk21gSHoDXDV2kEOCMrvLtNR@public.gmane.org>
2017-08-21 9:18 ` Jiri Benc
2017-08-21 9:15 ` Yang, Yi
2017-08-21 9:47 ` Jiri Benc
2017-08-21 11:11 ` Yang, Yi
2017-08-22 9:38 ` Yang, Yi
2017-08-23 7:26 ` Jiri Benc
2017-08-18 19:09 ` Eric Garver
2017-08-21 6:21 ` Yang, Yi [this message]
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=20170821062116.GA73069@cran64.bj.intel.com \
--to=yi.y.yang-ral2jqcrhueavxtiumwx3w@public.gmane.org \
--cc=dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org \
--cc=e@erig.me \
--cc=jbenc-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.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.