diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2020-05-14 03:48:17 +0200 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2020-06-28 15:38:47 +0200 |
commit | c26c6bc2d78a2fe76f27dcc9fbb5afc95c3a7626 (patch) | |
tree | b9058f04982a155d2a214e488e143bf1fac36597 /nest/protocol.h | |
parent | a948cf9a5c338518773e6c98e895c829c469f56b (diff) |
Show info from multiple protocols when protocol is not specified
Most commands like 'show ospf neighbors' fail when protocol is not
specified and there are multiple instances of given protocol type.
This is annoying in BIRD 2, as many protocols have IPv4 and IPv6
instances. The patch changes that by showing output from all protocol
instances of appropriate type.
Note that the patch also removes terminating cli_msg() call from these
commands and moves it to the common iterating code.
Diffstat (limited to 'nest/protocol.h')
-rw-r--r-- | nest/protocol.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/nest/protocol.h b/nest/protocol.h index a934c047..14b6123a 100644 --- a/nest/protocol.h +++ b/nest/protocol.h @@ -292,6 +292,10 @@ void proto_cmd_mrtdump(struct proto *, uintptr_t, int); void proto_apply_cmd(struct proto_spec ps, void (* cmd)(struct proto *, uintptr_t, int), int restricted, uintptr_t arg); struct proto *proto_get_named(struct symbol *, struct protocol *); +struct proto *proto_iterate_named(struct symbol *sym, struct protocol *proto, struct proto *old); + +#define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) + #define CMD_RELOAD 0 #define CMD_RELOAD_IN 1 |