aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
AgeCommit message (Collapse)AuthorFilesLines
2019-04-18when "make build-package", we need to "make build-scvpp" first, because we useJunfeng Wang1-2/+4
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-09Modify build systemYohanPipereau1-1/+1
-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 cleanupYohanPipereau30-2230/+2468
-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-20Plugin - init NATAndrej Kozemcak6-0/+687
Change-Id: I072b3bc018812d9f51cb7269bfdbb98b19db873c Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2019-03-19Revert "Integrate interface.api changes to 3.0.0 to sweetcomb"Hongjun Ni2-39/+19
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 sweetcombYohanPipereau2-19/+39
Change-Id: If7cd04e4e699e27e9fd278a1ac1897d5f53a4345 Signed-off-by: YohanPipereau <ypiperea@cisco.com>
2019-03-18Fix Cmake build environment and harden WarningsYohanPipereau1-12/+24
-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-11Add ietf NAT yang moduleAndrej Kozemcak1-0/+2368
Change-Id: I28e1ce057e9e778529e9be2f526cf8040afd8e61 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-05Merge IETF and Openconfig to use SCVPPYohanPipereau7-490/+153
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-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 Kozemcak11-801/+35
Change-Id: I87be68ddad4827d6dfa04aad5ea725efae97157a Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
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.wang1-2/+2
Change-Id: Id0bda4a2accde3f76e212e47385a82984ca4040c Signed-off-by: drenfong.wang <drenfong.wang@intel.com>
2019-02-20fix package run errordrenfong.wang1-5/+1
Change-Id: I5eb02817ad0b25649f89bfd2d8df022665baf064 Signed-off-by: drenfong.wang <drenfong.wang@intel.com>
2019-02-14change the include vapi header namedrenfong.wang1-2/+3
Change-Id: I7ac80f29421e5a7ba9daac4e07fcb425ddd7f671 Signed-off-by: drenfong.wang <drenfong.wang@intel.com>
2019-02-14fix rpm build and deb builddrenfong.wang1-3/+7
Change-Id: I6a48e0aaf6ab1fdccac30ccca7b8ac85513da2e9 Signed-off-by: drenfong.wang <drenfong.wang@intel.com>
2019-02-12fix gcc compile argsdrenfong.wang1-5/+5
Change-Id: Ib6c6042619e7afcb561300762e49dbbfd2ff57cf Signed-off-by: drenfong.wang <drenfong.wang@intel.com>
2019-02-12fix gcc compile argsdrenfong.wang1-1/+1
Change-Id: I9352e17b20d718b6385c93e4d92cb156adcca60a Signed-off-by: drenfong.wang <drenfong.wang@intel.com>
2019-02-01Fix reconnect failure issueHongjun Ni1-0/+1
Change-Id: I6b809f4f025d9b2ce3bef2ef2c1a499758883b69 Signed-off-by: Xiaobo Chen <Xiaobo.Chen@tieto.com> Signed-off-by: Hongjun Ni <hongjun.ni@intel.com> (cherry picked from commit b27867055ba3a9545824f2c48862a072175e0e21)
2019-01-23centos gcc-4.8.5 should commpile plugin with gnu99drenfong.wang1-0/+7
Change-Id: Id642632b07ce6787af364a4ea576777e3453831a Signed-off-by: drenfong.wang <drenfong.wang@intel.com>
2019-01-23add share lib install pathdrenfong.wang1-2/+2
Change-Id: I29f5a4e67afa218a55fabda4781ac6dbe5912a85 Signed-off-by: drenfong.wang <drenfong.wang@intel.com>
2019-01-22CMake, find all VPP library, add VOM libraryAndrej Kozemcak1-0/+4
Change-Id: Iee4e6dc1ec8c3000f725e656750ae121cbf370ab Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2019-01-22BAPI: Rename ERROR function.Andrej Kozemcak3-14/+14
Change-Id: I00807f9df9a6d2f5be601902651ea32b138a5ee5 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2019-01-22add option to build dependence from source and install vppdrenfong.wang1-0/+1
Change-Id: I4caa8737c9d5dd13f6d6c5e01e646801e5dab8a1 Signed-off-by: drenfong.wang <drenfong.wang@intel.com>
2019-01-11Remove not supported openconfig yang modules.Andrej Kozemcak123-56518/+0
Change-Id: I721def08356e64918424fdb889f545b64daeea88 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2019-01-04Fix head file definitionHongjun Ni2-6/+6
Change-Id: If5d675dcc2a052d0f654b3a11ed0cd0b4c109c82 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-12-29add help option for makefile and classfy yang modeldrenfong.wang4-0/+0
Change-Id: I176bdbdfed79a5fa6db840797866b2d8354778f9 Signed-off-by: drenfong.wang <drenfong.wang@intel.com>
2018-12-21Merge "Add Openconfig YANG modules."Hongjun Ni137-0/+63061
2018-12-20Add Openconfig YANG modules.Andrej Kozemcak137-0/+63061
Change-Id: I7e98bf1ca7196cff042a35b8bf096d2ea9d80028 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2018-12-20Refactor the file sc_plugins.cGao Feng1-8/+3
1. It's better to check the return value of sc_connect_vpp with 0, not -1. 2. Eliminate the warnings when compiling the file sc_plugins.c. Change-Id: I2c5b4aa4f06f9f6367bea96c26254b68b7da3a02 Signed-off-by: Gao Feng <davidfgao@tencent.com>
2018-12-19corrected functions: ietf_interface_name2index, ip_addr_str_to_binaryPavol Hanzel2-20/+35
Change-Id: Ic914d7886111307bbb87dad8553c59da2092eb49 Signed-off-by: Pavol Hanzel <pavol.hanzel@pantheon.tech>
2018-12-20Rename ietf interface function nameHongjun Ni3-28/+28
Change-Id: I3dfb859e76427e22bfe6f24a81c7b6c2b45a6ce6 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-12-20Rename ietf function nameHongjun Ni1-19/+19
Change-Id: Ic6d20458d2757e9cd3e79f443a5aac7101d625c6 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-12-20Rework ietf yang implementationHongjun Ni4-8/+4
Change-Id: I2396a1dc062a14adb7e9b60a6ea5c9491118aa20 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-12-20Fix interface build issueHongjun Ni2-41/+4
Change-Id: I7e5d4551daa73560ca37232475fdba0296bd4105 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-12-20Fix compiling issueHongjun Ni7-31/+14
Change-Id: I441665fbc921bbf0840752d66af8e84a690a148c Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-12-19Merge "Init Openconfig pluging to sysrepo."Hongjun Ni3-0/+32
2018-12-18Merge "Binary-api wrappers: IP and interfaces"Hongjun Ni7-1/+766
2018-12-18Binary-api wrappers: IP and interfacesPavol Hanzel7-1/+766
Change-Id: I3b27dae29498346bf9baccd650d5260b0bfc6491 Signed-off-by: Pavol Hanzel <pavol.hanzel@pantheon.tech>
2018-12-17Init Openconfig pluging to sysrepo.Andrej Kozemcak3-0/+32
Change-Id: Icc14fe4af468a8f895e37aa53f68e5253e52a09e Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2018-12-17Register function for openconfig modules.Andrej Kozemcak3-0/+336
Change-Id: Iaa2ad537e1665adc53df3b645c9e2c3ad3329ac3 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2018-12-12Openconfig local route xpath.Andrej Kozemcak3-0/+778
Change-Id: Id180b4a54ab6a67f25077120fead854da79ec2b6 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2018-12-12Openconfig interfaces xpath.Andrej Kozemcak5-0/+1047
Change-Id: If8af26c846ae82b7ef311e7d0b431c026ad0da25 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2018-11-28Rework vpp connection based on vapi libraryHongjun Ni5-149/+537
Change-Id: I3b41b4141fd7ef7577f4f2cc9193b9c623a9d6d7 Signed-off-by: Chuanguo Wang <wangchuanguo@huachentel.com> Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-11-20Fix comments on copyright etc.Hongjun Ni2-23/+1
Change-Id: I605d76017ba61a477532fb6ab3e4bea9b93e5119 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-11-20Initial code commit for Sweetcomb projectHongjun Ni6-0/+2576
The initial code is contruted by Cisco and HuachenTel. It supports three key features: 1). Keeps compatible with IETF Yang Model and Honeycomb Yang Model. 2). Supports mulitiple clients to configure VPP simultaneously. 3). Automatically connect to VPP. Change-Id: I3dda4fddb14062e5f113d505c6a7ee64d60c44c0 Signed-off-by: Rastislav Szabo <raszabo@cisco.com> Signed-off-by: Chuanguo Wang <wangchuanguo@huachentel.com> Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>