bgpctl help output follows no clear order. I decided to sort all
keywords and flags alphabetically. Also fixup the manpage a bit since
some additions where added in the wrong spot.

I think the output of 'bgpctl show rib help' is the worst (both before and
after). It is long and some keywords are not self-explanatory.
Still I prefer them to be alphabetically sorted.
-- 
:wq Claudio

Index: bgpctl.8
===================================================================
RCS file: /cvs/src/usr.sbin/bgpctl/bgpctl.8,v
retrieving revision 1.107
diff -u -p -r1.107 bgpctl.8
--- bgpctl.8    12 Apr 2023 17:19:16 -0000      1.107
+++ bgpctl.8    13 Apr 2023 10:21:05 -0000
@@ -180,20 +180,20 @@ can be an IP address, in which case the 
 or a flag:
 .Pp
 .Bl -tag -width tableXnumber -compact
-.It Cm connected
-Show only connected routes.
-.It Cm static
-Show only static routes.
 .It Cm bgp
 Show only routes originating from
-.Xr bgpd 8
-itself.
-.It Cm nexthop
-Show only routes required to reach a BGP nexthop.
+.It Cm connected
+Show only connected routes.
 .It Cm inet
 Show only IPv4 routes.
 .It Cm inet6
 Show only IPv6 routes.
+.It Cm nexthop
+Show only routes required to reach a BGP nexthop.
+.It Cm static
+Show only static routes.
+.Xr bgpd 8
+itself.
 .It Cm table Ar number
 Show the routing table with ID
 .Ar number
@@ -317,6 +317,7 @@ Show RIB entry for this CIDR prefix.
 .Xc
 Show all entries in the specified range.
 .\".It Ar address/len Cm longer-prefixes
+.\".It Ar address/len Cm or-longer
 .It Xo
 .Ar address Ns Li / Ns Ar len
 .Cm or-shorter
@@ -326,20 +327,24 @@ Show all entries covering and including 
 Show all entries with
 .Ar as
 anywhere in the AS path.
+.It Cm avs Pq Ic valid | unknown | invalid
+Show all entries with matching ASAP Validation State (AVS).
 .It Cm community Ar community
 Show all entries with community
 .Ar community .
+.It Cm empty-as
+Show all entries that are internal routes with no AS's in the AS path.
 .It Cm large-community Ar large-community
 Show all entries with large-community
 .Ar large-community .
-.It Cm empty-as
-Show all entries that are internal routes with no AS's in the AS path.
 .It Cm memory
 Show RIB memory statistics.
 .It Cm neighbor Ar peer
 Show only entries from the specified peer.
 .It Cm neighbor group Ar description
 Show only entries from the specified peer group.
+.It Cm ovs Pq Ic valid | not-found | invalid
+Show all entries with matching Origin Validation State (OVS).
 .It Cm path-id Ar pathid
 Show only entries which match the specified
 .Ar pathid .
@@ -365,10 +370,6 @@ Show only entries from the specified RIB
 Show all entries with
 .Ar as
 anywhere but rightmost.
-.It Cm ovs Pq Ic valid | not-found | invalid
-Show all entries with matching Origin Validation State (OVS).
-.It Cm avs Pq Ic valid | unknown | invalid
-Show all entries with matching ASAP Validation State (AVS).
 .El
 .Pp
 Additionally, the following
Index: parser.c
===================================================================
RCS file: /cvs/src/usr.sbin/bgpctl/parser.c,v
retrieving revision 1.123
diff -u -p -r1.123 parser.c
--- parser.c    12 Apr 2023 17:19:16 -0000      1.123
+++ parser.c    13 Apr 2023 10:21:05 -0000
@@ -120,12 +120,12 @@ static const struct token t_communicatio
 static const struct token t_show_rib_path[];
 
 static const struct token t_main[] = {
-       { KEYWORD,      "reload",       RELOAD,         t_communication},
-       { KEYWORD,      "show",         SHOW,           t_show},
        { KEYWORD,      "fib",          FIB,            t_fib},
+       { KEYWORD,      "log",          NONE,           t_log},
        { KEYWORD,      "neighbor",     NEIGHBOR,       t_neighbor},
        { KEYWORD,      "network",      NONE,           t_network},
-       { KEYWORD,      "log",          NONE,           t_log},
+       { KEYWORD,      "reload",       RELOAD,         t_communication},
+       { KEYWORD,      "show",         SHOW,           t_show},
        { ENDTOKEN,     "",             NONE,           NULL}
 };
 
@@ -133,17 +133,17 @@ static const struct token t_show[] = {
        { NOTOKEN,      "",             NONE,           NULL},
        { KEYWORD,      "fib",          SHOW_FIB,       t_show_fib},
        { KEYWORD,      "interfaces",   SHOW_INTERFACE, NULL},
+       { KEYWORD,      "ip",           NONE,           t_show_ip},
+       { KEYWORD,      "metrics",      SHOW_METRICS,   NULL},
+       { KEYWORD,      "mrt",          SHOW_MRT,       t_show_mrt},
        { KEYWORD,      "neighbor",     SHOW_NEIGHBOR,  t_show_neighbor},
        { KEYWORD,      "network",      NETWORK_SHOW,   t_network_show},
        { KEYWORD,      "nexthop",      SHOW_NEXTHOP,   NULL},
        { KEYWORD,      "rib",          SHOW_RIB,       t_show_rib},
-       { KEYWORD,      "tables",       SHOW_FIB_TABLES, NULL},
-       { KEYWORD,      "ip",           NONE,           t_show_ip},
-       { KEYWORD,      "summary",      SHOW_SUMMARY,   t_show_summary},
-       { KEYWORD,      "sets",         SHOW_SET,       NULL},
        { KEYWORD,      "rtr",          SHOW_RTR,       NULL},
-       { KEYWORD,      "mrt",          SHOW_MRT,       t_show_mrt},
-       { KEYWORD,      "metrics",      SHOW_METRICS,   NULL},
+       { KEYWORD,      "sets",         SHOW_SET,       NULL},
+       { KEYWORD,      "summary",      SHOW_SUMMARY,   t_show_summary},
+       { KEYWORD,      "tables",       SHOW_FIB_TABLES, NULL},
        { ENDTOKEN,     "",             NONE,           NULL}
 };
 
@@ -155,10 +155,10 @@ static const struct token t_show_summary
 
 static const struct token t_show_fib[] = {
        { NOTOKEN,      "",             NONE,           NULL},
-       { FLAG,         "connected",    F_CONNECTED,    t_show_fib},
-       { FLAG,         "static",       F_STATIC,       t_show_fib},
        { FLAG,         "bgp",          F_BGPD,         t_show_fib},
+       { FLAG,         "connected",    F_CONNECTED,    t_show_fib},
        { FLAG,         "nexthop",      F_NEXTHOP,      t_show_fib},
+       { FLAG,         "static",       F_STATIC,       t_show_fib},
        { KEYWORD,      "table",        NONE,           t_show_fib_table},
        { FAMILY,       "",             NONE,           t_show_fib},
        { ADDRESS,      "",             NONE,           NULL},
@@ -168,60 +168,60 @@ static const struct token t_show_fib[] =
 static const struct token t_show_rib[] = {
        { NOTOKEN,      "",             NONE,           NULL},
        { ASTYPE,       "as",           AS_ALL,         t_show_rib_as},
-       { ASTYPE,       "source-as",    AS_SOURCE,      t_show_rib_as},
-       { ASTYPE,       "transit-as",   AS_TRANSIT,     t_show_rib_as},
-       { ASTYPE,       "peer-as",      AS_PEER,        t_show_rib_as},
-       { ASTYPE,       "empty-as",     AS_EMPTY,       t_show_rib},
-       { KEYWORD,      "community",    NONE,           t_show_community},
-       { KEYWORD,      "ext-community", NONE,          t_show_extcommunity},
-       { KEYWORD,      "large-community", NONE,        t_show_largecommunity},
+       { KEYWORD,      "avs",          NONE,           t_show_avs},
        { FLAG,         "best",         F_CTL_BEST,     t_show_rib},
-       { FLAG,         "selected",     F_CTL_BEST,     t_show_rib},
+       { KEYWORD,      "community",    NONE,           t_show_community},
        { FLAG,         "detail",       F_CTL_DETAIL,   t_show_rib},
+       { ASTYPE,       "empty-as",     AS_EMPTY,       t_show_rib},
        { FLAG,         "error",        F_CTL_INVALID,  t_show_rib},
+       { KEYWORD,      "ext-community", NONE,          t_show_extcommunity},
+       { FLAG,         "in",           F_CTL_ADJ_IN,   t_show_rib},
        { FLAG,         "invalid",      F_CTL_INELIGIBLE, t_show_rib},
+       { KEYWORD,      "large-community", NONE,        t_show_largecommunity},
        { FLAG,         "leaked",       F_CTL_LEAKED,   t_show_rib},
-       { FLAG,         "in",           F_CTL_ADJ_IN,   t_show_rib},
-       { FLAG,         "out",          F_CTL_ADJ_OUT,  t_show_rib},
-       { FLAG,         "ssv"   ,       F_CTL_SSV,      t_show_rib},
+       { KEYWORD,      "memory",       SHOW_RIB_MEM,   NULL},
        { KEYWORD,      "neighbor",     NONE,           t_show_rib_neigh},
-       { KEYWORD,      "avs",          NONE,           t_show_avs},
+       { FLAG,         "out",          F_CTL_ADJ_OUT,  t_show_rib},
        { KEYWORD,      "ovs",          NONE,           t_show_ovs},
        { KEYWORD,      "path-id",      NONE,           t_show_rib_path},
-       { KEYWORD,      "table",        NONE,           t_show_rib_rib},
+       { ASTYPE,       "peer-as",      AS_PEER,        t_show_rib_as},
+       { FLAG,         "selected",     F_CTL_BEST,     t_show_rib},
+       { ASTYPE,       "source-as",    AS_SOURCE,      t_show_rib_as},
+       { FLAG,         "ssv",          F_CTL_SSV,      t_show_rib},
        { KEYWORD,      "summary",      SHOW_SUMMARY,   t_show_summary},
-       { KEYWORD,      "memory",       SHOW_RIB_MEM,   NULL},
+       { KEYWORD,      "table",        NONE,           t_show_rib_rib},
+       { ASTYPE,       "transit-as",   AS_TRANSIT,     t_show_rib_as},
        { FAMILY,       "",             NONE,           t_show_rib},
        { PREFIX,       "",             NONE,           t_show_prefix},
        { ENDTOKEN,     "",             NONE,           NULL}
 };
 
 static const struct token t_show_avs[] = {
-       { FLAG,         "valid" ,       F_CTL_AVS_VALID,        t_show_rib},
        { FLAG,         "invalid",      F_CTL_AVS_INVALID,      t_show_rib},
        { FLAG,         "unknown",      F_CTL_AVS_UNKNOWN,      t_show_rib},
+       { FLAG,         "valid" ,       F_CTL_AVS_VALID,        t_show_rib},
        { ENDTOKEN,     "",             NONE,           NULL}
 };
 
 static const struct token t_show_ovs[] = {
-       { FLAG,         "valid" ,       F_CTL_OVS_VALID,        t_show_rib},
        { FLAG,         "invalid",      F_CTL_OVS_INVALID,      t_show_rib},
        { FLAG,         "not-found",    F_CTL_OVS_NOTFOUND,     t_show_rib},
+       { FLAG,         "valid" ,       F_CTL_OVS_VALID,        t_show_rib},
        { ENDTOKEN,     "",             NONE,           NULL}
 };
 
 static const struct token t_show_mrt[] = {
        { NOTOKEN,      "",             NONE,           NULL},
-       { ASTYPE,       "as",           AS_ALL,         t_show_mrt_as},
-       { ASTYPE,       "source-as",    AS_SOURCE,      t_show_mrt_as},
-       { ASTYPE,       "transit-as",   AS_TRANSIT,     t_show_mrt_as},
-       { ASTYPE,       "peer-as",      AS_PEER,        t_show_mrt_as},
-       { ASTYPE,       "empty-as",     AS_EMPTY,       t_show_mrt},
        { FLAG,         "detail",       F_CTL_DETAIL,   t_show_mrt},
-       { FLAG,         "ssv",          F_CTL_SSV,      t_show_mrt},
-       { KEYWORD,      "neighbor",     NONE,           t_show_mrt_neigh},
        { FLAG,         "peers",        F_CTL_NEIGHBORS,t_show_mrt},
+       { FLAG,         "ssv",          F_CTL_SSV,      t_show_mrt},
+       { ASTYPE,       "as",           AS_ALL,         t_show_mrt_as},
+       { ASTYPE,       "empty-as",     AS_EMPTY,       t_show_mrt},
        { KEYWORD,      "file",         NONE,           t_show_mrt_file},
+       { KEYWORD,      "neighbor",     NONE,           t_show_mrt_neigh},
+       { ASTYPE,       "peer-as",      AS_PEER,        t_show_mrt_as},
+       { ASTYPE,       "source-as",    AS_SOURCE,      t_show_mrt_as},
+       { ASTYPE,       "transit-as",   AS_TRANSIT,     t_show_mrt_as},
        { FAMILY,       "",             NONE,           t_show_mrt},
        { PREFIX,       "",             NONE,           t_show_prefix},
        { ENDTOKEN,     "",             NONE,           NULL}
@@ -256,9 +256,9 @@ static const struct token t_show_rib_rib
 
 static const struct token t_show_neighbor_modifiers[] = {
        { NOTOKEN,      "",             NONE,                   NULL},
-       { KEYWORD,      "timers",       SHOW_NEIGHBOR_TIMERS,   NULL},
        { KEYWORD,      "messages",     SHOW_NEIGHBOR,          NULL},
        { KEYWORD,      "terse",        SHOW_NEIGHBOR_TERSE,    NULL},
+       { KEYWORD,      "timers",       SHOW_NEIGHBOR_TIMERS,   NULL},
        { ENDTOKEN,     "",             NONE,                   NULL}
 };
 
@@ -301,11 +301,11 @@ static const struct token t_communicatio
 };
 
 static const struct token t_neighbor_modifiers[] = {
-       { KEYWORD,      "up",           NEIGHBOR_UP,            NULL},
-       { KEYWORD,      "down",         NEIGHBOR_DOWN,          
t_communication},
-       { KEYWORD,      "clear",        NEIGHBOR_CLEAR,         
t_communication},
-       { KEYWORD,      "refresh",      NEIGHBOR_RREFRESH,      NULL},
+       { KEYWORD,      "clear",        NEIGHBOR_CLEAR, t_communication},
        { KEYWORD,      "destroy",      NEIGHBOR_DESTROY,       NULL},
+       { KEYWORD,      "down",         NEIGHBOR_DOWN,  t_communication},
+       { KEYWORD,      "refresh",      NEIGHBOR_RREFRESH,      NULL},
+       { KEYWORD,      "up",           NEIGHBOR_UP,            NULL},
        { ENDTOKEN,     "",             NONE,                   NULL}
 };
 
@@ -346,8 +346,8 @@ static const struct token t_show_extcomm
        { EXTCOM_SUBTYPE,       "l2vid",        NONE,   t_show_ext_subtype},
        { EXTCOM_SUBTYPE,       "mac-mob",      NONE,   t_show_ext_subtype},
        { EXTCOM_SUBTYPE,       "odi",          NONE,   t_show_ext_subtype},
-       { EXTCOM_SUBTYPE,       "ort",          NONE,   t_show_ext_subtype},
        { EXTCOM_SUBTYPE,       "ori",          NONE,   t_show_ext_subtype},
+       { EXTCOM_SUBTYPE,       "ort",          NONE,   t_show_ext_subtype},
        { EXTCOM_SUBTYPE,       "ovs",          NONE,   t_show_ext_subtype},
        { EXTCOM_SUBTYPE,       "rt",           NONE,   t_show_ext_subtype},
        { EXTCOM_SUBTYPE,       "soo",          NONE,   t_show_ext_subtype},
@@ -368,11 +368,11 @@ static const struct token t_show_largeco
 
 static const struct token t_network[] = {
        { KEYWORD,      "add",          NETWORK_ADD,    t_prefix},
+       { KEYWORD,      "bulk",         NONE,           t_bulk},
        { KEYWORD,      "delete",       NETWORK_REMOVE, t_prefix},
        { KEYWORD,      "flush",        NETWORK_FLUSH,  NULL},
-       { KEYWORD,      "show",         NETWORK_SHOW,   t_network_show},
        { KEYWORD,      "mrt",          NETWORK_MRT,    t_show_mrt},
-       { KEYWORD,      "bulk",         NONE,           t_bulk},
+       { KEYWORD,      "show",         NETWORK_SHOW,   t_network_show},
        { ENDTOKEN,     "",             NONE,           NULL}
 };
 
@@ -428,8 +428,8 @@ static const struct token t_extcommunity
        { EXTCOM_SUBTYPE,       "l2vid",        NONE,   t_ext_subtype},
        { EXTCOM_SUBTYPE,       "mac-mob",      NONE,   t_ext_subtype},
        { EXTCOM_SUBTYPE,       "odi",          NONE,   t_ext_subtype},
-       { EXTCOM_SUBTYPE,       "ort",          NONE,   t_ext_subtype},
        { EXTCOM_SUBTYPE,       "ori",          NONE,   t_ext_subtype},
+       { EXTCOM_SUBTYPE,       "ort",          NONE,   t_ext_subtype},
        { EXTCOM_SUBTYPE,       "ovs",          NONE,   t_ext_subtype},
        { EXTCOM_SUBTYPE,       "rt",           NONE,   t_ext_subtype},
        { EXTCOM_SUBTYPE,       "soo",          NONE,   t_ext_subtype},
@@ -484,8 +484,8 @@ static const struct token t_weight[] = {
 };
 
 static const struct token t_log[] = {
-       { KEYWORD,      "verbose",      LOG_VERBOSE,    NULL},
        { KEYWORD,      "brief",        LOG_BRIEF,      NULL},
+       { KEYWORD,      "verbose",      LOG_VERBOSE,    NULL},
        { ENDTOKEN,     "",             NONE,           NULL}
 };
 

Reply via email to