Refactor GoVPP 54/14254/4
authorOndrej Fabry <ofabry@cisco.com>
Wed, 15 Aug 2018 10:59:25 +0000 (12:59 +0200)
committerOndrej Fabry <ofabry@cisco.com>
Thu, 16 Aug 2018 13:03:29 +0000 (15:03 +0200)
commita3bb834db727a3ac9a1ffcfeae9265e5dead851f
tree6ffe64d2dd78a4c3434c2889dd7582b74619fe2b
parentda815585c3f75c4ac073b0766dd668abf83844d8
Refactor GoVPP

Squashed commit of the following:

commit 348930db31575e9f59b3834d9fec07411f011e05
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Wed Aug 15 11:30:13 2018 +0200

    Use debug level for log about different context

commit 9fc963c559cea67a41b85c6cdadc322fb3b1fc7c
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Wed Aug 15 11:22:03 2018 +0200

    Remove annoying logs and add env vars for debugging

commit fdc9fd624d13feadb602e0d03d58f8a44b7a565f
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Wed Aug 15 11:18:47 2018 +0200

    Fix printing unknown VPPApiError

commit 8f968be36a91de4d4a8ea17593ba314f82aa9583
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Tue Aug 14 17:25:10 2018 +0200

    Refactor entire GoVPP

    - fix some cases with inconsistent VPP messages, causing messages
      to be incorrectly identified as event or request
    - simplify API, remove direct access to internal Go channels
    - add module name with message to registration of messages
    - start watching filesystem only when vpe-api file does not exist
    - simplify code in message codec and remove unneeded parts
    - retrieve IDs of all registered messages after connect to VPP
    - define fallback for control ping in core to avoid duplicate registration
    - add SetLogLevel function to set logger level more easily
    - remove lot of unused code

commit 34dd1b7e10ef0324aa8c4e4cc42375bd6021c6cb
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Mon Aug 13 11:29:54 2018 +0200

    Rename VnetError to VPPApiError

commit c6549d6f77847a1367a12ff47fb716e2955e973a
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Mon Aug 13 10:23:43 2018 +0200

    Fix examples and regenerate binapi

commit 4612e36b416779771f5efab4fc654c2766d2cb1c
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Mon Aug 13 09:51:22 2018 +0200

    Add parsing and generation for services

commit ac9c5280c5aa27e325f327609e2364cc66f3723f
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Fri Aug 10 14:30:15 2018 +0200

    Fix exit status on error and add continue-onerror flag

commit 9b3f4ef9fc7c8c62037fa107085eae18a8725314
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Thu Aug 9 15:20:56 2018 +0200

    Return VnetError when Retval != 0

commit 8fd21a907b5e628ec4d2026215b83d15da96c297
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Thu Aug 9 14:59:05 2018 +0200

    Add all missing errors from api_errno.h

commit 08450f288d3046ebaecf40203174ae342a07f1eb
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Thu Aug 9 14:29:27 2018 +0200

    Update README

commit d8dced0728dd62243539be741868fb7d9b8de4cc
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Thu Aug 9 13:59:59 2018 +0200

    Regenerate vpe in core

commit 254da7592cdbf634cf7aa46ae36ce7bb6d4ee555
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Thu Aug 9 13:37:00 2018 +0200

    Add VnetError type for Retvals

commit 4475c1087fb53ab4c788e530bc7fef7cfc89d2cd
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Thu Aug 9 13:36:07 2018 +0200

    Add registration API

commit 892a3ea5a2c703e2f7c29331663f6a6fa706bff5
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Thu Aug 9 13:30:43 2018 +0200

    Generate registration for messages and check all IDs on connect

commit 389ed03b6e7082260281866c3449d72d72347c99
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Thu Aug 9 11:32:41 2018 +0200

    Show error for empty adapter (on Darwin/Windows)

commit ef1ea040d656ade64242432dc5f06810ed8dcde6
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Thu Aug 9 11:31:37 2018 +0200

    Improve logged info

commit d4adae3b14ed54c8d693060dd857fa9ba5ec8e06
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Thu Aug 9 11:27:48 2018 +0200

    Update examples

commit 63921e1346014701a22639a2611129563bb1eb78
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Thu Aug 9 11:02:56 2018 +0200

    Generate unions and fix some issues

    - add comments between sections
    - define structs on single line if it has no fields
    - generate unions with setters/getters for each field
    - fix detection of message type

commit 6ab3e3fa590b245898306a6ffaf32c7721eab60c
Author: Ondrej Fabry <ofabry@cisco.com>
Date:   Wed Aug 8 15:37:10 2018 +0200

    Refactor binapi-generator

    - split JSON parsing from code generation
    - parse and generate enums
    - parse unions (no generation yet)
    - change output file suffix to '.ba.go'
    - cleanup and simplify code
    - split code into files
    - add flag for debug mode

Change-Id: I58f685e0d4c7a38e9a7b6ea0a1f47792d95d7399
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
45 files changed:
README.md
adapter/adapter.go
adapter/mock/mock_adapter.go
adapter/vppapiclient/empty_adapter.go
adapter/vppapiclient/vppapiclient_adapter.go
api/api.go
api/vppapi_errors.go [new file with mode: 0644]
cmd/binapi-generator/definitions.go [new file with mode: 0644]
cmd/binapi-generator/definitions_test.go [new file with mode: 0644]
cmd/binapi-generator/generate.go [new file with mode: 0644]
cmd/binapi-generator/generate_test.go [moved from cmd/binapi-generator/generator_test.go with 92% similarity]
cmd/binapi-generator/generator.go [deleted file]
cmd/binapi-generator/main.go [new file with mode: 0644]
cmd/binapi-generator/parse.go [new file with mode: 0644]
cmd/binapi-generator/parse_test.go [new file with mode: 0644]
codec/msg_codec.go
core/bin_api/vpe.api.json [deleted file]
core/bin_api/vpe/vpe.go [deleted file]
core/channel.go
core/channel_test.go
core/connection.go
core/connection_test.go
core/control_ping.go [new file with mode: 0644]
core/log.go [new file with mode: 0644]
core/notification_handler.go
core/request_handler.go
examples/bin_api/acl.api.json
examples/bin_api/acl/acl.ba.go [moved from examples/bin_api/acl/acl.go with 74% similarity]
examples/bin_api/af_packet.api.json
examples/bin_api/af_packet/af_packet.ba.go [moved from examples/bin_api/af_packet/af_packet.go with 62% similarity]
examples/bin_api/gen.go [new file with mode: 0644]
examples/bin_api/interface.api.json
examples/bin_api/interfaces/interfaces.ba.go [moved from examples/bin_api/interfaces/interfaces.go with 75% similarity]
examples/bin_api/ip.api.json
examples/bin_api/ip/ip.ba.go [moved from examples/bin_api/ip/ip.go with 63% similarity]
examples/bin_api/memif.api.json
examples/bin_api/memif/memif.ba.go [new file with mode: 0644]
examples/bin_api/memif/memif.go [deleted file]
examples/bin_api/stats.api.json
examples/bin_api/stats/stats.ba.go [moved from examples/bin_api/stats/stats.go with 60% similarity]
examples/bin_api/tap.api.json
examples/bin_api/tap/tap.ba.go [moved from examples/bin_api/tap/tap.go with 84% similarity]
examples/cmd/simple-client/simple_client.go
examples/cmd/stats-client/stats_client.go
examples/cmd/union-example/union_example.go [new file with mode: 0644]