aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-06-03[TEST] - Initialize to use of YDK in sweetcomb testAndrej Kozemcak14-142/+396
- remove netopeer client - use YDK - check result, assert when error Change-Id: Icb29dd5a35e8f7dbbeff2e44ec088b890f93b5ef Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2019-05-23Correct Makefile to let Jenkins report build errors correctlyYohanPipereau1-3/+9
Change-Id: I611cfd199415ca7776c94a154a102e4f6482db72 Signed-off-by: YohanPipereau <ypiperea@cisco.com>
2019-05-23Docker test improvementsvomPavel Kotucek5-11/+37
Small changes to enable kept running vpp and sysrepo instances after test execution. Fixed typos (file name and and method in py file). Change-Id: I32e56464e61bf1548984ea9845a8d08cf6a3917b Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
2019-05-22Introduce a new registration mechanism to sweetcomb.jackiechen198511-364/+401
Sweetcomb plugins register for various [initialization] events by placing structures and __attribute__((constructor)) functions into the library. When sysrepo plugin is initializing, the framework walks constructor-generated singly-linked structure lists, calls the indicated functions. Change-Id: I0cb078391f2662e4f6dd08c1a383173f203adf2a Signed-off-by: jackiechen1985 <xiaobo.chen@tieto.com>
2019-05-22modify api change of natJunfeng Wang1-4/+2
Change-Id: I865e619dbf494524ca7bc317abf0e082cdd7cac7 Signed-off-by: Junfeng Wang <Drenfong.Wang@intel.com>
2019-05-15Docker build improvementsPavel Kotucek4-9/+26
Additional small changes to create dev docker image. Possibility to specify vpp version (master/release) to be used. Change-Id: I2c3ea9df60a9b00fbd158f2d06192f23ecd3ee0b Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
2019-05-15Fixed ACL compiler warningsPavel Kotucek4-29/+3
Fixed warnings : - scvpp/inc/scvpp/comm.h:52:0: warning: "ARG_CHECK" redefined - comm.c:127:12: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] Change-Id: I666c0347d10435681220c451976194e655d8aa04 Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
2019-05-15Docker build improvementsPavel Kotucek8-110/+290
Added small changes to create dev docker image. Fixed checkstyle. Change-Id: I0ea1a0bad114578903073526fa12b84702072e3a Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
2019-05-14Remove "addr_only" field in NAT to adopt VPP API changeHongjun Ni1-11/+0
Change-Id: Iaa02e72eecb3b557227ca0136fb652f59185f550 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2019-04-30Update 19.04 release notesHongjun Ni1-1/+27
Change-Id: Ie5a43920001b70f614669e268a36c014460bc7c6 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com> (cherry picked from commit d3f673d929018ea74ebf51e8cdcd1026c3bfba77)
2019-04-26This patch fixes docker env and dependenciesYohanPipereau2-14/+25
-Modify Dockerfile to build our own image of sysrepo with netopeer2 -Add missing pkg-config dependency to compile netopeer2 from ubuntu -Fix typo in makefile for LIBSSH dependency -Install protobuf then grpc in install-dep-gnmi-extra in Makefile Change-Id: I5b8a64cc29cf67f7dd7ff439f80ea77844632435 Signed-off-by: YohanPipereau <ypiperea@cisco.com>
2019-04-25ACL related changesPavel Kotucek4-8/+68
Added changes related to ACL implementation for sweetcomb: Change-Id: I5e734f77f0c149fb31fdff288fb46a4ece20a870 Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
2019-04-25ACL yang modelsPavel Kotucek10-44/+2629
Added ACL openconfig yang models. Change-Id: If8075def912bfa5f980101221d781b4857d4ca45 Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
2019-04-23check vpp health and if found vpp is down/restart, will reconnect vppJunfeng Wang2-1/+63
Change-Id: I7c38d351b8016f51671a94f18ade44ef966acc04 Signed-off-by: Junfeng Wang <Drenfong.Wang@intel.com>
2019-04-18fix build number is duplicatedJunfeng Wang1-2/+2
Change-Id: Icfd709ee666b280e62c3f96513286d1fbd00b1ba Signed-off-by: Junfeng Wang <Drenfong.Wang@intel.com> (cherry picked from commit c6f8ab391afc726117f677d8c9408c5fc052284f)
2019-04-18Fix docker runtime and Makefilev19.08-rc0YohanPipereau6-253/+50
-Remove make test used in build-scvpp and add a test-scvpp instruction -Remove useless build scripts for docker build -Use sysrepo docker image to build sweetcomb docker image -Change makefile clean instruction to avoid errors -Do not put scripts in build-root directory but in sweetcomb root dir -Remove sysrepo compiled in Debug mode causing error looking for symbols Change-Id: Ie1d77f5224ad545da29c0f450403dbd47ca7c563 Signed-off-by: YohanPipereau <ypiperea@cisco.com>
2019-04-18when "make build-package", we need to "make build-scvpp" first, because we useJunfeng Wang3-3/+6
pkgconfig to find dependence(libscvpp.so). this patch will compile libscvpp.so when compile plugin,you needn't extra step. Change-Id: I9dcd733ec3535a8fa5310f75ae141712320affa5 Signed-off-by: Junfeng Wang <Drenfong.Wang@intel.com>
2019-04-16Leave docker and docker_test optionsYohanPipereau1-0/+6
Change-Id: I34b4b53a1464826d0eda4e2ca09982afc69f093e Signed-off-by: YohanPipereau <ypiperea@cisco.com>
2019-04-12Fix bugs in comm.hjackiechen19851-2/+7
1. Fix id error while pushing a new element. The new element id should indicate the stack length, not the old one; 2. Fix dump callback return VAPI_EINVAL in last call. In last call, we should ignore replication because VPP pass NULL pointer while is_last is true; Change-Id: I8b14a3fda3b168c82d28470edc8b11cad6ebadc8 Signed-off-by: jackiechen1985 <xiaobo.chen@tieto.com>
2019-04-09Modify build systemYohanPipereau5-175/+151
-Clean Makefile -Fix errors in scvpp length copies -Add testing when building scvpp Change-Id: I5a331386a1812b147dfec26310dfbd3aed327dae Signed-off-by: YohanPipereau <ypiperea@cisco.com>
2019-03-29Sweetcomb global cleanupYohanPipereau64-3040/+3811
-Merge IETF and Openconfig to use SCVPP 2 -Move L2 bridge from sc_vpp_interface to sc_vpp_v3po -Implement tav2 dump -Make openconfig-interfaces functions static -Try one more dispatch after failure in VAPI_CALL -Add error return code for scvpp -Remove unused length maccros -Return appropriate error code for interface dump when interface not found -Improve scvpp test suite -Change get_interface_id prototype -Use interface_dump_iface in openconfig_interface. -No more vapi types in openconfig_interfaces.c -Move openconfig_local_routing VAPI operations to sc_vpp_ip -Implement a multiple dump with a stack data structure -Comment out state_cb code from openconfig_local_routing to use new functions later. -Rename YANG model to their fully qualified name : <module>@<revision> -Remove headers almost empty and put registration declaration in sc_model.h -Shorten vapi context global variable name -Reorganize scvpp unit test suite -Add instructions to Makefile to install/uninstall YANG models in sysrepo. -Add this new instructions to README.md. -Reimplement interface_dump_all -Use a common message at INFO Log Level to know when sysrepo callbacks are triggered -Remove old structure to perform dump of all interfaces -Reimplement get_interface_name and add scvpp test for it -Clean sys_util -Use UNUSED maccro everywhere to have lighter prototypes -Have ietf-interfaces:interfaces-state work with new dump function -Add setup and teardown for NAT tests -Remove unused tapv2 dump -Remove useless sysrepo module callback -Remove xpath_find_first_key usage in openconfig-interfaces -Remove xpath_find_first_key in oc_local_routing and in the rest of sweetcomb -Reorganize scvpp include dir and fix scvpp_test new warnings -Fix scvpp tests for ip routes -Factorize scvpp nat and test return code of its function -Correct test_dump_if_all if there is an existing hardware interface -Implement a per-prefix dump in scvpp -free changes iterator in ietf-interfaces -Add new XPATH in oc local-routing -Introduce helper methods for sysrepo config callbacks -Factorize config callback -Refactor the openconfig-local-routing config callback -Use common foreach_change to iterate over changes in all models -Create a sample directory gathering example of configurations supposed to work with sweetcomb -Fix state callback of oc-local-routing -Add new sample for get operation on next-hop -foreach_elt maccro condition forgets to read one element Change-Id: I8e87fce577a00337977588f057a6e095a20f457c Signed-off-by: YohanPipereau <ypiperea@cisco.com>
2019-03-21SCVPP_TEST: Add NAT44 testAndrej Kozemcak4-0/+202
Change-Id: I3f5814e44126e8996c94475dd7529a75ba958b32 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2019-03-20Plugin - init NATAndrej Kozemcak8-0/+710
Change-Id: I072b3bc018812d9f51cb7269bfdbb98b19db873c Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2019-03-19Suppress compiler Warnings for scvppYohanPipereau4-149/+25
-Unused Warnings for callbacks are suppressed with UNUSED maccro -Remove unused function. Change-Id: Ic31a1b40d59a4d9c4fc638452dee36586d1dacd5 Signed-off-by: YohanPipereau <ypiperea@cisco.com>
2019-03-19Revert "Integrate interface.api changes to 3.0.0 to sweetcomb"Hongjun Ni5-74/+37
This reverts commit 4157d85b570d5da6af042758813712ae04573c8f. Change-Id: I5637ad3e994dcc63d1acd9d1f9729c0dbd2acbf4 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2019-03-18Integrate interface.api changes to 3.0.0 to sweetcombYohanPipereau5-37/+74
Change-Id: If7cd04e4e699e27e9fd278a1ac1897d5f53a4345 Signed-off-by: YohanPipereau <ypiperea@cisco.com>
2019-03-18Fix Cmake build environment and harden WarningsYohanPipereau11-125/+199
-Remove unused sweetcomb CmakeList.txt Warnings -Add more Warnings to plugins, scvpp and gNMI Cmake projects -Remove unused/useless Cmake options in CmakeList files & add comments -Improve gNMI CMakeList.txt and make it independant of a gRPC cmake build for later package integration. -Add FindGRPC.cmake -Remove the use of CXX17 variant and use a dedicated Cmake module for gRPC Change-Id: Iafa3c031d12802e8d8c914cbce6b119c2a5c4800 Signed-off-by: Yohan Pipereau <ypiperea@cisco.com>
2019-03-12Merge "scvpp - init NAT"Hongjun Ni3-0/+384
2019-03-11Add ietf NAT yang moduleAndrej Kozemcak1-0/+2368
Change-Id: I28e1ce057e9e778529e9be2f526cf8040afd8e61 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2019-03-08scvpp - init NATAndrej Kozemcak3-0/+384
Change-Id: I85bf6df0d65e95d6a785bfffc8df9bf749089412 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2019-03-08Move sys_util files to plugins root directoryAndrej Kozemcak5-5/+4
Change-Id: I2c7041fd34a99ebbe8e7a20ce87da9f39e548458 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2019-03-08Merge "Init gNMI server."Hongjun Ni21-13/+2990
2019-03-08Merge "scvpp test suite & tapv2 add/delete as dependency"Hongjun Ni4-15/+247
2019-03-07Merge "test new ci verify job"Hongjun Ni1-1/+0
2019-03-07Init gNMI server.Andrej Kozemcak21-13/+2990
Change-Id: Ie898b5385096e735bf947775e0278c3c8f4797a8 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2019-03-05scvpp test suite & tapv2 add/delete as dependencyYohanPipereau4-15/+247
Change-Id: I930026a47bbfe7a1a4fb2199ec17184f78fdb554 Signed-off-by: Yohan Pipereau <ypiperea@cisco.com>
2019-03-05Merge IETF and Openconfig to use SCVPPYohanPipereau14-820/+512
scvpp should eventually be the only interface with VAPI and should not depend on sysrepo. -All sysrepo error codes in scvpp codes have been changed for errno error codes. scvpp might eventually needs its own error codes. -All log messages in scvpp have been removed as error codes are the only way of reporting failures in a library. -Move VAPI symbol definition to SCVPP. In scvpp, unused maccros SC_VPP_VAPI_RECV and SC_REGISTER_RPC_EVT_HANDLER have been removed. Regarding plugins update: -Use Openconfig way to convert interface name to interface index. -Use Openconfig way to enable/disable an interface. -Use Openconfig way of configuring interface IPs but use more arguments like IETF. -Use Openconfig way of adding a new route. -Use Openconfig way of dumping an IP. -Use common interface dump operation for get_name and get_id. -Delete unused create loopback Change-Id: Icc513a064a2528c2b4cbda2b0dd57755a3b08ef9 Signed-off-by: Yohan Pipereau <ypiperea@cisco.com>
2019-03-03test new ci verify jobHongjun Ni1-1/+0
Change-Id: I7989d61b7a01d633e347e09ac36afd3e930a264d Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2019-02-28This commit changes the way models are registered.YohanPipereau13-604/+399
Registering a new model is now done using model_register function which is generic enough to take care of every model family (IETF, Openconfig, ...). Every model (ex: openconfig-interfaces) contain one or several xpaths. Every model (ex: openconfig-interfaces) has its own dedicated C file (ex: openconfig-interfaces.c) with its dedicated xpath_t structure in it. This structure is a mapping of all xpaths of a model to their associated callbacks. It still contains all informations needed by sr_*_subscribe functions. Thus, xpath_t is an external array used in every model, it is seen as a global symbol in shared library. And because these external arrays are passed as arguments to a function, maccros defining the size of these xpath_t arrays have been defined. datastore_e datastructure has been removed to rely on the one provided by sysrepo API. The subscription linked list which was used has been removed because sysrepo already takes care of this. Now, the same subscription_session_ctx_t is used for all subscriptions as it was the case in ietf_subscribe_events. Thus cleanup callback has been simplified to a simple sysrepo_unsubscribe instead of going through the entire Linked List. Change-Id: I43d52f619be27b6216bb3b9d197518b032306fa7 Signed-off-by: Yohan Pipereau <ypiperea@cisco.com>
2019-02-27Move bapi to scvpp plugin.Andrej Kozemcak14-264/+170
Change-Id: I87be68ddad4827d6dfa04aad5ea725efae97157a Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2019-02-26Merge "Test: Fix error in build script."Hongjun Ni1-1/+1
2019-02-26Merge "In vpp master(now is 19.04) branch newest deb package, the name has ↵Hongjun Ni2-3/+6
changed"
2019-02-26In vpp master(now is 19.04) branch newest deb package, the name has changedJunfeng Wang2-3/+6
https://packagecloud.io/app/fdio/master/search?q=19.04-rc0~266-gd7e7c2b88~b2149&filter=debs&filter=debs&dist=ubuntu%2Fbionic Revert "Fix install-vpp instructions in Makefile for debian-based machines." This reverts commit 34adbaa08710678aea59127f28becf834e29a200. Change-Id: I74a8b48b98e6cd879c45d731fcd3f0af8bb03571 Signed-off-by: Junfeng Wang <drenfong.wang@intel.com>
2019-02-25Test: Fix error in build script.Andrej Kozemcak1-1/+1
Change-Id: I53a0f903f0c3f05043437bbb1d7b06f7b7fe9963 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2019-02-25Merge "Sanitize openconfig plugin and correct unsubscription."Hongjun Ni1-77/+63
2019-02-25Merge "Fix install-vpp instructions in Makefile for debian-based machines."Hongjun Ni2-2/+5
2019-02-25Set vapi_context to NULL after trying to connect to VPP api and it failed.YohanPipereau1-1/+2
This prevents a SEGFAULT error triggered every time the connection to VPP fails. Change-Id: I2cab59168fe1479d6cbbcd8cb0645381171c527c Signed-off-by: Yohan Pipereau <ypiperea@cisco.com>
2019-02-25Fix install-vpp instructions in Makefile for debian-based machines.YohanPipereau2-2/+5
Change-Id: I154f790cfe8ce179d9dee84a56436db79f12373e Signed-off-by: Yohan Pipereau <ypiperea@cisco.com>
2019-02-25Sanitize openconfig plugin and correct unsubscription.YohanPipereau1-77/+63
Change-Id: Ifcc861dff2387e2e34446f77f31bc20cf9d3ab4c Signed-off-by: Yohan Pipereau <ypiperea@cisco.com>
2019-02-23modify the undefined symboldrenfong.wang2-3/+3
Change-Id: Id0bda4a2accde3f76e212e47385a82984ca4040c Signed-off-by: drenfong.wang <drenfong.wang@intel.com>