summaryrefslogtreecommitdiffstats
path: root/src/plugins/openconfig/openconfig_local_routing.c
AgeCommit message (Collapse)AuthorFilesLines
2019-07-26vom: migration from scvpp to vomYohanPipereau1-548/+0
Change-Id: I79609f0bee9b8307da0d9bf704babe8ba06dba4d Signed-off-by: YohanPipereau <ypiperea@cisco.com> Co-authored-by: Pavel Kotucek <pavel.kotucek@pantheon.tech> Co-authored-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2019-05-22Introduce a new registration mechanism to sweetcomb.jackiechen19851-63/+61
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-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 cleanupYohanPipereau1-563/+325
-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-19Revert "Integrate interface.api changes to 3.0.0 to sweetcomb"Hongjun Ni1-2/+2
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 sweetcombYohanPipereau1-2/+2
Change-Id: If7cd04e4e699e27e9fd278a1ac1897d5f53a4345 Signed-off-by: YohanPipereau <ypiperea@cisco.com>
2019-03-08Move sys_util files to plugins root directoryAndrej Kozemcak1-1/+1
Change-Id: I2c7041fd34a99ebbe8e7a20ce87da9f39e548458 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2019-03-05Merge IETF and Openconfig to use SCVPPYohanPipereau1-12/+9
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.YohanPipereau1-0/+61
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 Kozemcak1-13/+13
Change-Id: I87be68ddad4827d6dfa04aad5ea725efae97157a Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
2018-12-20Fix compiling issueHongjun Ni1-1/+1
Change-Id: I441665fbc921bbf0840752d66af8e84a690a148c Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-12-12Openconfig local route xpath.Andrej Kozemcak1-0/+730
Change-Id: Id180b4a54ab6a67f25077120fead854da79ec2b6 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>