These 32 commits are when the Protocol Buffers files have changed:
Commit: | 5b21964 | |
---|---|---|
Author: | Igor Ryzhov | |
Committer: | Igor Ryzhov |
mgmtd: add backend xpath map for RPC Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
The documentation is generated from this commit.
Commit: | 7052c94 | |
---|---|---|
Author: | Carmine Scarpitta | |
Committer: | Carmine Scarpitta |
fpm: Add SRv6 Local SIDs to `fpm.proto` Add several protobuf messages to support the installation and removal of SRv6 Local SIDs via FPM protobuf. This is a preliminary commit to support sending SRv6 Local SIDs and VPN SIDs via protobuf. Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Commit: | 4ec8ef5 | |
---|---|---|
Author: | Carmine Scarpitta | |
Committer: | Carmine Scarpitta |
fpm: Add SRv6 VPN SIDs to `fpm.proto` Add two optional fields to the AddRoute protobuf message to support SRv6 VPN use cases: * `srv6_vpn_sid`: used to associate an SRv6 VPN SID to a route; if present, the router will steer the traffic that matches the prefix by encapsulating the payload in an outer IPv6 header where the destination address is the SRv6 VPN SID provided * `srv6_encap_source_address`: source Address of outer encapsulating IPv6 header This is a preliminary commit to support sending SRv6 Local SIDs and VPN SIDs via protobuf. Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Commit: | 1e884ba | |
---|---|---|
Author: | Christian Hopps | |
Committer: | Christian Hopps |
mgmtd: backend subscriptions to notifications Signed-off-by: Christian Hopps <chopps@labn.net>
Commit: | 76e4eb8 | |
---|---|---|
Author: | Igor Ryzhov | |
Committer: | Igor Ryzhov |
mgmtd, lib: implement CREATE_EXCL operation Currently, there's no difference between CREATE and MODIFY operations. To be compatible with NETCONF/RESTCONF, add new CREATE_EXCL operation that throws an error if the configuration data already exists. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Commit: | 3c2598a | |
---|---|---|
Author: | Igor Ryzhov | |
Committer: | Igor Ryzhov |
mgmt, lib: differentiate DELETE and REMOVE operations Currently, there's a single operation type which doesn't return error if the object doesn't exists. To be compatible with NETCONF/RESTCONF, we should support differentiate between DELETE (fails when object doesn't exist) and REMOVE (doesn't fail if the object doesn't exist). Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Commit: | d726114 | |
---|---|---|
Author: | Igor Ryzhov | |
Committer: | Igor Ryzhov |
mgmt, lib: implement REPLACE operation Replace operation removes the current data node configuration and sets the provided value. As current northbound code works only with one xpath at a time, the operation only makes sense to clear the config of a container without deleting it itself. However, the next step is to allow passing JSON-encoded complex values to northbound operations which will make replace operation much more useful. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Commit: | 9cd8693 | |
---|---|---|
Author: | Christian Hopps | |
Committer: | Christian Hopps |
mgmtd: step 6: remove old unfinished get-data code Signed-off-by: Christian Hopps <chopps@labn.net>
Commit: | b3b5951 | |
---|---|---|
Author: | Igor Ryzhov | |
Committer: | Igor Ryzhov |
mgmtd, lib: remove batch ids from all messages Batch IDs are only used to verify that all messages were received and processed by a backend. It's not necessary to do that as we use reliable stream transport - messages can't be dropped or received out of order. This commit also fixes possible race condition that can happen if one backend process messages slower than other backends. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Commit: | d2977d5 | |
---|---|---|
Author: | Igor Ryzhov | |
Committer: | Igor Ryzhov |
mgmtd, lib: remove batch ids from cfg apply reply The config is always applied fully, all batches are included. There's no need to pass a list of applied batches as it always contains all of them. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Commit: | 25582f3 | |
---|---|---|
Author: | Christian Hopps | |
Committer: | Mergify |
mgmtd: remove unused "placeholder" code. We don't need un-run/un-tested placeholder code we may never need. Signed-off-by: Christian Hopps <chopps@labn.net> (cherry picked from commit 70fb3910dbe81c8d44dcfa77c070b0a6e83d3607)
Commit: | caae820 | |
---|---|---|
Author: | Christian Hopps | |
Committer: | Mergify |
mgmtd: consolidate getcfg and getdata msgs into "get" eliminates tons of copy and paste code. Signed-off-by: Christian Hopps <chopps@labn.net> (cherry picked from commit dbb1bc6f355ae53ce1f2402a1ac196e9f9e18a42)
Commit: | 70fb391 | |
---|---|---|
Author: | Christian Hopps | |
Committer: | Christian Hopps |
mgmtd: remove unused "placeholder" code. We don't need un-run/un-tested placeholder code we may never need. Signed-off-by: Christian Hopps <chopps@labn.net>
Commit: | dbb1bc6 | |
---|---|---|
Author: | Christian Hopps | |
Committer: | Christian Hopps |
mgmtd: consolidate getcfg and getdata msgs into "get" eliminates tons of copy and paste code. Signed-off-by: Christian Hopps <chopps@labn.net>
Commit: | c10f8e6 | |
---|---|---|
Author: | Christian Hopps | |
Committer: | Christian Hopps |
mgmtd: KISS the locking code Move away from things like "lock if not locked" type code, require the user has locked prior to geting to that point. For now we warn if we are taking a lock we already had; however, this should really be a failure point. New requirements: SETCFG - not implicit commit - requires user has locked candidate DS and they must unlock after implicit commit - requires user has locked candidate and running DS both locks will be unlocked on reply to the SETCFG COMMITCFG - requires user has locked candidate and running DS and they must unlock after rollback - this code now get both locks and then does an unlock and early return thing on the adapter side. It needs to be un-special cased in follow up work that would also include tests for this functionality. Signed-off-by: Christian Hopps <chopps@labn.net>
Commit: | df0173c | |
---|---|---|
Author: | Christian Hopps | |
Committer: | Christian Hopps |
mgmtd: KISS the locking code Move away from things like "lock if not locked" type code, require the user has locked prior to geting to that point. For now we warn if we are taking a lock we already had; however, this should really be a failure point. New requirements: SETCFG - not implicit commit - requires user has locked candidate DS and they must unlock after implicit commit - requires user has locked candidate and running DS both locks will be unlocked on reply to the SETCFG COMMITCFG - requires user has locked candidate and running DS and they must unlock after rollback - this code now get both locks and then does an unlock and early return thing on the adapter side. It needs to be un-special cased in follow up work that would also include tests for this functionality. Signed-off-by: Christian Hopps <chopps@labn.net>
Commit: | ef43a63 | |
---|---|---|
Author: | Christian Hopps | |
Committer: | Christian Hopps |
mgmtd: Add MGMT Frontend Interface Framework This commit introduces the Frontend Interface which can be used by front-end management clients like Netconf server, Restconf Server and CLI to interact with new FRR Management daemon (MGMTd) to access and sometimes modify FRR management data. This commit includes the following functionalities in the changeset: 1. Add new Frontend server for clients connect to. 2. Add a C-based Frontend client library which can be used by Frontend clients to communicate with MGMTd via the Frontend interface. 3. Maintain a frontend adapter for each connection from an appropriate Frontend client to facilitate client requests and track one or more client sessions across it. 4. Define the protobuf message format for messages to be exchanged between MGMTd Frontend module and the Frontend client. 5. This changeset also introduces an instance of MGMT Frontend client embedded within the lib/vty module that can be leveraged by any FRR daemon to connect to MGMTd's Frontend interface. The same has been integrated with and initialized within the MGMTd daemon's process context to implement a bunch of 'set-config', 'commit-apply', 'get-config' and 'get-data' commands via VTYSH Co-authored-by: Pushpasis Sarkar <pushpasis@gmail.com> Co-authored-by: Abhinay Ramesh <rabhinay@vmware.com> Co-authored-by: Ujwal P <ujwalp@vmware.com> Signed-off-by: Yash Ranjan <ranjany@vmware.com>
Commit: | 7d65b7b | |
---|---|---|
Author: | Christian Hopps | |
Committer: | Christian Hopps |
mgmtd: Add MGMT Backend Interface Framework This commit introduces the MGMT Backend Interface which can be used by back-end management client daemons like BGPd, Staticd, Zebra to connect with new FRR Management daemon (MGMTd) and utilize the new FRR Management Framework to let any Frontend clients to retrieve any operational data or manipulate any configuration data owned by the individual Backend daemon component. This commit includes the following functionalities in the changeset: 1. Add new Backend server for Backend daemons connect to. 2. Add a C-based Backend client library which can be used by daemons to communicate with MGMTd via the Backend interface. 3. Maintain a backend adapter for each connection from an appropriate Backend client to facilitate client requests and track one or more transactions initiated from Frontend client sessions that involves the backend client component. 4. Add the following commands to inspect various Backend client related information a. show mgmt backend-adapter all b. show mgmt backend-yang-xpath-registry c. show mgmt yang-xpath-subscription Co-authored-by: Pushpasis Sarkar <pushpasis@gmail.com> Co-authored-by: Abhinay Ramesh <rabhinay@vmware.com> Co-authored-by: Ujwal P <ujwalp@vmware.com> Signed-off-by: Yash Ranjan <ranjany@vmware.com>
Commit: | 47a3a82 | |
---|---|---|
Author: | David Lamparter | |
Committer: | David Lamparter |
*: manual SPDX License ID conversions The files converted in this commit either had some random misspelling or formatting weirdness that made them escape automated replacement, or have a particularly "weird" licensing setup (e.g. dual-licensed.) This also marks a bunch of "public domain" files as SPDX License "NONE". Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Commit: | 17bfa8e | |
---|---|---|
Author: | Yash Ranjan | |
Committer: | Christian Hopps |
mgmtd: Add MGMT Frontend Interface Framework This commit introduces the Frontend Interface which can be used by front-end management clients like Netconf server, Restconf Server and CLI to interact with new FRR Management daemon (MGMTd) to access and sometimes modify FRR management data. This commit includes the following functionalities in the changeset: 1. Add new Frontend server for clients connect to. 2. Add a C-based Frontend client library which can be used by Frontend clients to communicate with MGMTd via the Frontend interface. 3. Maintain a frontend adapter for each connection from an appropriate Frontend client to facilitate client requests and track one or more client sessions across it. 4. Define the protobuf message format for messages to be exchanged between MGMTd Frontend module and the Frontend client. 5. This changeset also introduces an instance of MGMT Frontend client embedded within the lib/vty module that can be leveraged by any FRR daemon to connect to MGMTd's Frontend interface. The same has been integrated with and initialized within the MGMTd daemon's process context to implement a bunch of 'set-config', 'commit-apply', 'get-config' and 'get-data' commands via VTYSH Co-authored-by: Pushpasis Sarkar <pushpasis@gmail.com> Co-authored-by: Abhinay Ramesh <rabhinay@vmware.com> Co-authored-by: Ujwal P <ujwalp@vmware.com> Signed-off-by: Yash Ranjan <ranjany@vmware.com>
Commit: | 0fe5b90 | |
---|---|---|
Author: | Renato Westphal | |
Committer: | Renato Westphal |
lib: don't ignore error messages generated during the commit apply phase While a configuration transaction can't be rejected once it reaches the APPLY phase, we should allow NB callbacks to generate error or warning messages when a configuration change is being applied. That should be useful, for example, to return warnings back to the user informing that the applied configuration has some kind of inconsistency or is missing something in order to be effectively activated. The infrastructure for this was already present, but the northbound layer was ignoring all errors/warnings generated during the apply/abort phases instead of returning them to the user. This commit changes that. In the gRPC plugin, extend the Commit() RPC adding a new "error_message" field to the response type. This is necessary to allow errors/warnings to be returned even when the commit operation succeeds (since grpc::Status::OK doesn't support error messages like the other status codes). Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Commit: | 4049b01 | |
---|---|---|
Author: | Renato Westphal | |
Committer: | Renato Westphal |
grpc: relicense the northbound service description file The GPL license is too restrictive and can "contaminate" client scripts using language bindings auto-generated from this file. We don't want this to happen. Adopt the BSD-2-Clause license to avoid any problem of this nature. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Commit: | e05ab0b | |
---|---|---|
Author: | Satheesh Kumar K | |
Committer: | Satheesh Kumar K |
lib,mlag : Defining MLAG Proto file Defining the message structures between Zebra & MLAG Signed-off-by: Satheesh Kumar K <sathk@cumulusnetworks.com>
Commit: | 6a59722 | |
---|---|---|
Author: | Quentin Young |
Revert "Merge pull request #4885 from satheeshkarra/pim_mlag" This reverts commit d563896dada99f3474d428f928786cbfde936fee, reversing changes made to 09ea1a40386f02a13cdb0462cc55af0d03f0c277.
Commit: | 40e79e9 | |
---|---|---|
Author: | Satheesh Kumar K | |
Committer: | Satheesh Kumar K |
Zebra: Fixing Review comments in Zebra_MLAG Signed-off-by: Satheesh Kumar K <sathk@cumulusnetworks.com>
Commit: | 9918b45 | |
---|---|---|
Author: | Satheesh Kumar K | |
Committer: | Satheesh Kumar K |
lib,mlag : Defining MLAG Proto file Defining the message structures between Zebra & MLAG Signed-off-by: Satheesh Kumar K <sathk@cumulusnetworks.com>
Commit: | ec2ac5f | |
---|---|---|
Author: | Renato Westphal | |
Committer: | Renato Westphal |
lib: add new gRPC-based northbound plugin This is an experimental plugin for now. Full documentation will come later. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Commit: | a805d3b | |
---|---|---|
Author: | David Lamparter | |
Committer: | David Lamparter |
protobuf: fix build Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Commit: | fc5300b | |
---|---|---|
Author: | Martin Winter | |
Committer: | Martin Winter |
Protobuf: Update library name to reflect name change to FRR Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
Commit: | dad253b | |
---|---|---|
Author: | Avneesh Sachdev | |
Committer: | Donald Sharp |
qpb: Add support for protobuf. Infrastructure that allows protocol buffers to be used in Quagga. The changes below comprise of: - Build hooks - Protobuf definitions for common types. - Library routines for working with protobuf, including functions that help translate between common quagga types and their protobuf equivalents. Changes: * qpb/{Makefile.am,README.txt,qpb.h,.gitignore} Add the qpb library, which provides shared code and definitions for using protocol buffers in quagga code. * qpb/qpb.proto Protobuf definitions that can be shared by all of quagga. * qpb/linear_allocator.h An allocator that allocates memory by walking down towards the end of a buffer. This is used to cheaply allocate/deallocate memory on the stack for protobuf operations. * qpb/qpb_allocator.[ch] Thin layer that allows a linear allocator to be used with the protobuf-c library. * common.am This is an automake fragment that is intended to be shared by Makefile.am files in the tree. It currently includes definitions related to protobuf. * configure.ac - Add logic to optionally build protobuf code. By default, protobuf support is enabled if the protobuf C compiler (protoc-c) is available, and the associated header files/library can be found. The user can choose to override this behavior via the new --disable-protobuf/--enable-protobuf flags. - Include the quagga protobuf library (qpb) in the build. * .gitignore Ignore source code generated by protobuf compiler. * Makefile.am Add 'qpb' to the list of subdirectories. Signed-off-by: Avneesh Sachdev <avneesh@sproute.com> Edited: Paul Jakma <paul.jakma@hpe.com>: Change the sense of the configure enable option to require explicit specifying, as an experimental feature.
Commit: | 93c7bed | |
---|---|---|
Author: | Avneesh Sachdev | |
Committer: | Donald Sharp |
fpm: Add protobuf support for FPM. Code that allows a client to convey routes to a Forwarding Plane Manager component using protobuf instead of netlink.. * fpm/fpm.proto Protobuf definitions pertaining to the Forwarding Plane Manager. In particular, this file defines the AddRoute and DeleteRoute messages. * fpm/fpm.h Tweak FPM message header definition to also allow messages to be encoded in protobuf format. * fpm/{fpm_pb.h,.gitignore,.Makefile.am} Add the fpm_pb library, which contains code for interfacing with the FPM using protobuf. * configure.ac Generate fpm/Makefile. * Makefile.am Add fpm subdirectory to build. * common.am Add flags to be used by clients of the fpm_pb library. Signed-off-by: Avneesh Sachdev <avneesh@sproute.com>
Commit: | 4087409 | |
---|---|---|
Author: | Avneesh Sachdev | |
Committer: | Donald Sharp |
Use only the ISC license for .proto files. Simplify licensing for protobuf files based on discussion on the quagga-dev mailing list. Previously, users could choose between the GPL and the ISC license. Signed-off-by: Avneesh Sachdev <avneesh@sproute.com> Signed-off-by: Avneesh Sachdev <avneesh@sproute.com>