CLI debugging

Israel G. Lugo israel.lugo at lugosys.com
Fri Sep 2 13:59:32 CEST 2016


On 08/30/2016 02:01 PM, Bernardo Figueiredo wrote:
> In my opinion:
> debug (<protocol> | <pattern> | all) (all | off | ( "{" states | routes
> | filters | interfaces | events | packets "}" ) )  Control protocol
> debugging via BIRD logs
>
> The parethensis are to group all the various options and the "{" and "}"
> is so it's clearer that we must write { and }.


I think that explanation is better than the current one. However, it may
not play well with the CF_CLI macro that defines the grammar from the
explanation (in nest/config.Y).

Forgetting about the macro for a moment, I think we can still do a
better explanation. The | here to me indicates a choice, e.g. "either
states or routes or filters", but in reality the user can combine these
flags.

We need something that can say "one or more of: states, routes, filters,
interfaces, events, packets". It's hard to say this in a single line
without cluttering everything, though...

If we had more space, we could do something like:

debug (<protocol> | <pattern> | all) (all | off | "{" DEBUG_FLAG, [ DEBUG_FLAG, ... ] "}" ) )  Control protocol debugging via BIRD logs
  Available DEBUG_FLAGs: states, routes, filters, interfaces, events, packets

Of course, this isn't consistent with the remaining help explanations.
Not to mention we'd need a different CF_CLI* macro.

Does anyone have a better idea?

Regards,
Israel G. Lugo


More information about the Bird-users mailing list