From: Phil Sutter <phil@nwl.cc>
To: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: shemming@brocade.com, netdev@vger.kernel.org
Subject: Re: [net-next PATCH iproute2 v2 1/1] tc: introduce IFE action
Date: Thu, 10 Mar 2016 14:12:40 +0100 [thread overview]
Message-ID: <20160310131240.GA19221@orbyte.nwl.cc> (raw)
In-Reply-To: <56E16BB5.4070802@mojatatu.com>
On Thu, Mar 10, 2016 at 07:42:29AM -0500, Jamal Hadi Salim wrote:
> On 16-03-09 08:12 AM, Phil Sutter wrote:
> > On Wed, Mar 09, 2016 at 07:04:36AM -0500, Jamal Hadi Salim wrote:
> >> +static void ife_explain(void)
> >> +{
> >> + fprintf(stderr,
> >> + "Usage:... ife {decode|encode} {ALLOW|USE} [dst DMAC] [src SMAC] [type TYPE] [CONTROL] [index INDEX]\n");
> >
> > I'm just nitpicking here, but this syntax implies that ALLOW and USE are
> > mandatory and mutually exclusive. Looking at the code they're neither
> > (although specifying both might not make sense). OTOH you could probably
> > 'use mark' and 'allow prio'. So I'd suggest '[ALLOW] [USE]' instead.
> >
>
> Maybe we need to come up with some consistent regex/bnf
> scheme. And then lets review all usage code and fix. Here are the rules
> for this case:
> Default: "allow" will be used for all metadata.
> You can specify zero or more "allows", one per metadata
> You can specify zero or more "use", one per metadata.
>
> This is why my thinking was it was going to read
> [ALLOW|USE] which needed to read as [ALLOW|USE]*
Sure, this is still overly simplified. Using syntactically correct BNF
in help texts though is not worth the effort IMHO, as readability will
suffer tremendously.
> Example, I dont see "{..}" making good sense in any bnf/regex scheme.
They way I interpreted it so far (and is apparently used) is as a way of
having an XOR. E.g. 'bla { foo | bar }' is valid for 'bla foo' and 'bla
bar', but not just 'bla' or 'bla foo bar'.
Assuming that it's possible for allow/use statements to override
previous ones (the code permits that), correct BNF would probably look
like this:
| ife {decode|encode} [AULIST] [dst DMAC] [src SMAC] [type TYPE] [CONTROL] [index INDEX]
|
| AULIST := [AULIST] AU
| AU := {allow|use} {mark|prio}
Of course there are different BNF variants and AFAICT the syntax used in
iproute2 doesn't cleanly stick to any of them. So speaking of 'correct'
is somewhat nonsensical when I define the rules at the same time. :)
> > I'm missing a list of what actual keywords can be given, but after all
> > this is just a help text and a man page will provide much more detail
> > anyway (which you are about to submit too, are you? :).
> >
>
> Phil, Phil - someday, yes ;->
I'll keep that in mind! But seriously, if we treated man page (updates)
as a substantial part of new features or code changes in general,
quality was higher - not only of documentation, but code as well.
> > Apart from that:
> >
> > Acked-by: Phil Sutter <phil@nwl.cc>
> >
>
> Lets please get this in and we can then do a general check on all.
Famous last words? *SCNR*
Thanks, Phil
next prev parent reply other threads:[~2016-03-10 13:12 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-09 12:04 [net-next PATCH iproute2 v2 0/1] tc ife action Jamal Hadi Salim
2016-03-09 12:04 ` [net-next PATCH iproute2 v2 1/1] tc: introduce IFE action Jamal Hadi Salim
2016-03-09 13:12 ` Phil Sutter
2016-03-10 12:42 ` Jamal Hadi Salim
2016-03-10 13:12 ` Phil Sutter [this message]
2016-03-14 6:26 ` Stephen Hemminger
2016-04-21 21:27 ` Jamal Hadi Salim
[not found] ` <e6070b054b0748f48991187bb4ccfccd@HQ1WP-EXMB11.corp.brocade.com>
2016-04-21 21:36 ` Stephen Hemminger
2016-04-21 21:41 ` Jamal Hadi Salim
2016-04-21 22:09 ` Jamal Hadi Salim
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=20160310131240.GA19221@orbyte.nwl.cc \
--to=phil@nwl.cc \
--cc=jhs@mojatatu.com \
--cc=netdev@vger.kernel.org \
--cc=shemming@brocade.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).