summaryrefslogtreecommitdiffstats
path: root/doc/user/grpc.rst
blob: d6767fc866602a0e76a49c954e83e85e18032807 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
.. _grpc:

***************
Northbound gRPC
***************

.. program:: configure

*gRPC* provides a combined front end to all FRR daemons using the YANG
northbound. It is currently disabled by default due its experimental
stage, but it can be enabled with :option:`--enable-grpc` option in the
configure script.


.. _grpc-features:

Northbound gRPC Features
========================

* Get/set configuration using JSON/XML/XPath encondings.
* Execute YANG RPC calls.
* Lock/unlock configuration.
* Create/edit/load/update/commit candidate configuration.
* List/get transactions.


.. note::

   There is currently no support for YANG notifications.


.. note::

   You can find more information on how to code programs to interact
   with FRR by reading the gRPC Programming Language Bindings section
   in the `developer's documentation
   <http://docs.frrouting.org/projects/dev-guide/en/latest/grpc.html>`_.


.. _grpc-config:

Daemon gRPC Configuration
=========================

The *gRPC* module accepts the following run time option:

- ``port``: the port to listen to (defaults to ``50051``).


.. note::

   At the moment only localhost connections with no SSL/TLS are
   supported.


To configure FRR daemons to listen to gRPC you need to append the
following parameter to the daemon's command line: ``-M grpc``
(optionally ``-M grpc:PORT`` to specify listening port).

To do that in production you need to edit the ``/etc/frr/daemons`` file
so the daemons get started with the command line argument. Example:

::

   # other daemons...
   bfdd_options="  --daemon -A 127.0.0.1 -M grpc"