]> git.proxmox.com Git - mirror_frr.git/commit
build, vtysh: extract vtysh commands from .xref
authorDavid Lamparter <equinox@opensourcerouting.org>
Tue, 4 Oct 2022 16:44:36 +0000 (18:44 +0200)
committerDavid Lamparter <equinox@opensourcerouting.org>
Wed, 26 Oct 2022 16:12:34 +0000 (17:12 +0100)
commit89cb86aeb0262e17ee39c1d791effe9515bd0dc8
treea1643fa620a97ffdc2da9442abd7cff29d86e434
parent695f387ed872c1bc55ad4149ede95465b48697b9
build, vtysh: extract vtysh commands from .xref

Rather than running selected source files through the preprocessor and a
bunch of perl regex'ing to get the list of all DEFUNs, use the data
collected in frr.xref.

This not only eliminates issues we've been having with preprocessor
failures due to nonexistent header files, but is also much faster.
Where extract.pl would take 5s, this now finishes in 0.2s.  And since
this is a non-parallelizable build step towards the end of the build
(dependent on a lot of other things being done already), the speedup is
actually noticeable.

Also files containing CLI no longer need to be listed in `vtysh_scan`
since the .xref data covers everything.  `#ifndef VTYSH_EXTRACT_PL`
checks are equally obsolete.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
93 files changed:
Makefile.am
babeld/subdir.am
bfdd/bfdd_cli.c
bfdd/bfdd_vty.c
bfdd/subdir.am
bgpd/bgp_bmp.c
bgpd/bgp_debug.c
bgpd/bgp_evpn_vty.c
bgpd/bgp_labelpool.c
bgpd/bgp_route.c
bgpd/bgp_routemap.c
bgpd/bgp_rpki.c
bgpd/bgp_vty.c
bgpd/subdir.am
configure.ac
doc/developer/cli.rst
doc/developer/vtysh.rst
eigrpd/eigrp_cli.c
eigrpd/eigrp_vty.c
eigrpd/subdir.am
isisd/isis_cli.c
isisd/subdir.am
ldpd/ldp_vty_cmds.c
ldpd/subdir.am
lib/command.h
lib/filter_cli.c
lib/if.c
lib/log_vty.c
lib/nexthop_group.c
lib/northbound_cli.c
lib/plist.c
lib/routemap_cli.c
lib/subdir.am
lib/thread.c
lib/vty.c
lib/zebra.h
lib/zlog_5424_cli.c
nhrpd/subdir.am
ospf6d/ospf6_area.c
ospf6d/ospf6_asbr.c
ospf6d/ospf6_gr.c
ospf6d/ospf6_gr_helper.c
ospf6d/ospf6_lsa.c
ospf6d/ospf6_nssa.c
ospf6d/ospf6_route.c
ospf6d/ospf6_top.c
ospf6d/subdir.am
ospfd/ospf_dump.c
ospfd/ospf_gr.c
ospfd/ospf_ldp_sync.c
ospfd/ospf_vty.c
ospfd/subdir.am
pathd/path_cli.c
pathd/path_pcep_cli.c
pathd/path_ted.c
pathd/subdir.am
pbrd/pbr_debug.c
pbrd/pbr_vty.c
pbrd/subdir.am
pimd/pim6_cmd.c
pimd/pim6_mld.c
pimd/pim_cmd.c
pimd/pim_mroute.h
pimd/subdir.am
python/vtysh-cmd-check.py [deleted file]
python/xref2vtysh.py [new file with mode: 0644]
python/xrelfo.py
ripd/rip_cli.c
ripd/subdir.am
ripngd/ripng_cli.c
ripngd/subdir.am
sharpd/sharp_vty.c
sharpd/subdir.am
staticd/static_vty.c
staticd/subdir.am
vrrpd/subdir.am
vrrpd/vrrp_vty.c
vtysh/.gitignore
vtysh/extract.pl.in [deleted file]
vtysh/subdir.am
watchfrr/subdir.am
watchfrr/watchfrr_vty.c
zebra/debug.c
zebra/dpdk/zebra_dplane_dpdk_vty.c
zebra/interface.c
zebra/rtadv.c
zebra/subdir.am
zebra/zebra_evpn_mh.c
zebra/zebra_mlag_vty.c
zebra/zebra_routemap.c
zebra/zebra_srv6_vty.c
zebra/zebra_vrf.c
zebra/zebra_vty.c