api: vat2 and json autogeneration for api messages 90/29890/10
authorOle Troan <ot@cisco.com>
Wed, 18 Nov 2020 18:17:48 +0000 (19:17 +0100)
committerOle Troan <ot@cisco.com>
Thu, 19 Nov 2020 08:42:40 +0000 (09:42 +0100)
commitf6eb348a6503900eb9291b0a50df978e1e24941c
tree1d79c98e305ce65c2c5426231f65ab90c54b7e82
parent727082016f8822edcf40662d0059d3e8fab5e2ef
api: vat2 and json autogeneration for api messages

VAT2: A completely auto-generated replacement of VAT.
Reads input message in JSON from stdin and outputs received messages in JSON.

A VAT2 plugin is automatically built for a .api file.
There no longer a need for a separate _test.c.

This is the first phase and vat2 is not integrated in packaging yet.

Type: feature
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ib45ddeafb180ea7da8c5dc274a9274d7a4edc876
Signed-off-by: Ole Troan <ot@cisco.com>
46 files changed:
extras/rpm/Makefile
src/CMakeLists.txt
src/cmake/api.cmake
src/cmake/library.cmake
src/cmake/plugin.cmake
src/plugins/acl/CMakeLists.txt
src/plugins/acl/acl.api
src/plugins/acl/acl.c
src/plugins/acl/acl_test.c
src/plugins/acl/manual_fns.h [deleted file]
src/plugins/dns/dns.api
src/plugins/dns/dns.c
src/plugins/flowprobe/flowprobe.api
src/plugins/flowprobe/flowprobe.c
src/plugins/gbp/CMakeLists.txt
src/plugins/gbp/gbp.api
src/plugins/gbp/gbp_api.c
src/plugins/gbp/gbp_api_print.h [deleted file]
src/plugins/lb/api.c
src/plugins/lb/lb.api
src/plugins/map/map_api.c
src/plugins/nat/nat44.api
src/plugins/nat/nat44_api.c
src/plugins/stn/stn.api
src/plugins/stn/stn_api.c
src/tools/vppapigen/mkdep [new file with mode: 0755]
src/tools/vppapigen/vppapigen.py
src/tools/vppapigen/vppapigen_c.py
src/vat2/CMakeLists.txt [new file with mode: 0644]
src/vat2/jsonconvert.c [new file with mode: 0644]
src/vat2/jsonconvert.h [new file with mode: 0644]
src/vat2/main.c [new file with mode: 0644]
src/vat2/plugin.c [new file with mode: 0644]
src/vat2/vat2.h [new file with mode: 0644]
src/vat2/vat2_helpers.h [new file with mode: 0644]
src/vnet/CMakeLists.txt
src/vnet/ip/ip.api
src/vnet/l2/l2.api
src/vnet/l2/l2_api.c
src/vnet/mpls/mpls.api
src/vpp-api/client/client.c
src/vpp-api/client/vppapiclient.h
src/vpp/CMakeLists.txt
src/vppinfra/CMakeLists.txt
src/vppinfra/cJSON.c [new file with mode: 0644]
src/vppinfra/cJSON.h [new file with mode: 0644]