Hi, On Thu, 27 Oct 2016 16:56:43 +0200 Phil Sutter <p...@nwl.cc> wrote: > > Actual code, since first committed, attempts to parse "index" as 1st > > argument (without success), see parse_mirred(): > > > > if (matches(*argv, "egress") == 0 || matches(*argv, "index") == 0) { > > int ret = parse_egress(a, &argc, &argv, tca_id, n); > > Oh, I missed that! But to me this looks like the author wanted to avoid > erroring out with "mirred option not supported index" in case of missing > 'egress' keyword.
Could be; Not that it matters much, but evidence in parse_egress() shows that it DOES try to parse and store "index" EVEN if no "egress" seen YET. > Yeah, I'd go with least effort approach, i.e. not adding any additional > flexibility in arg parsing. Since the docs never stated otherwise, I > don't think it was a real issue for users. Sure. It never really worked ;) If we go that way, then some code in parse_direction needs to be eliminated/restructured; So we'll end up with: - less code in parse_direction - not adding any additional flexibility in arg parsing - bigger diff than suggested Stephen, Jamal, do you have any preference here?