-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Juraj Vijtiuk <[email protected]>
- Loading branch information
Showing
1 changed file
with
35 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,7 +21,17 @@ The goal of this project is to provide a method of configuring networking on gen | |
|
||
## About this component | ||
|
||
This Sysrepo plugin is based on the `ietf-interfaces` YANG module which contains "a collection of YANG definitions for managing network interfaces". More information about the specific YANG module can be found in [RFC 7223: A YANG Data Model for Interface Management](https://datatracker.ietf.org/doc/html/rfc7223). | ||
This repository contains several Sysrepo plugins related to newtork management. | ||
|
||
The first, sysrepo-plugin-interfaces is based on the `ietf-interfaces` YANG module which contains | ||
"a collection of YANG definitions for managing network interfaces". | ||
More information about the specific YANG module can be found in | ||
[RFC 7223: A YANG Data Model for Interface Management](https://datatracker.ietf.org/doc/html/rfc7223). | ||
|
||
The second, sysrepo-plugin-routing is based on the `ietf-routing` YANG module which contains | ||
"generic components of a routing data model" and `ietf-ipv4-unicast-routing` and `ietf-ipv6-unicast-routing` | ||
which augment `ietf-routing` with IPv4 and IPv6 specific data. | ||
More information about `ietf-routing` is available in [RFC 8022: A YANG Data Model for Routing Management](https://datatracker.ietf.org/doc/html/rfc8022) | ||
|
||
## Development | ||
|
||
|
@@ -32,7 +42,7 @@ Besides the usual C development environment, the following additional dependenci | |
* pthreads | ||
* netlink | ||
|
||
### Build | ||
#### Build | ||
|
||
First clone the repository: | ||
|
||
|
@@ -48,7 +58,14 @@ $ cd build | |
$ cmake .. | ||
``` | ||
|
||
The default configuration builds the plugin as a stand-alone foreground application. To build the plugin as a shared object file for use with `sysrepo-plugind`, run the following instead: | ||
By default both plugins will be built, but either of them can be disabled by setting the appropriate CMake plugin option to `OFF`. | ||
For example, to build only the routing plugin the following command should be executed instead: | ||
``` | ||
$ cmake -DINTERFACES_PLUGIN=OFF .. | ||
``` | ||
|
||
The default configuration builds the plugins as stand-alone foreground applications. | ||
To build the plugins as shared object files for use with `sysrepo-plugind`, run the following instead: | ||
|
||
``` | ||
$ cmake -DPLUGIN=ON .. | ||
|
@@ -60,7 +77,8 @@ Lastly, invoke the build and install using `make`: | |
$ make -j$(nproc) install | ||
``` | ||
|
||
The plugin requires the several YANG modules to be loaded into the Sysrepo datastore. This can be achieved by invoking the following commands: | ||
The plugins require several YANG modules to be loaded into the Sysrepo datastore. | ||
For the interfaces plugin this can be achieved by invoking the following commands: | ||
|
||
``` | ||
$ sysrepoctl -i ./yang/[email protected] | ||
|
@@ -71,6 +89,18 @@ $ sysrepoctl -i ./yang/ieee802-dot1q-types.yang | |
$ sysrepoctl -i ./yang/[email protected] | ||
``` | ||
|
||
For the routing plugin, the following models have to be installed: | ||
``` | ||
$ sysrepoctl -i ./yang/[email protected] | ||
$ sysrepoctl -i ./yang/[email protected] | ||
$ sysrepoctl -i ./yang/[email protected] | ||
$ sysrepoctl -i ./yang/[email protected] | ||
$ sysrepoctl -i ./yang/[email protected] | ||
``` | ||
|
||
|
||
### Routing plugin | ||
|
||
## Code of Conduct | ||
|
||
This project has adopted the [Contributor Covenant](https://www.contributor-covenant.org/) in version 2.0 as our code of conduct. Please see the details in our [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md). All contributors must abide by the code of conduct. | ||
|
@@ -83,7 +113,7 @@ Consequently, all content will be made available primarily in English. We also a | |
|
||
## Documentation | ||
|
||
The full documentation for the Sysrepo interfaces plugin can be found in the [documentation directory](../docs). | ||
The full documentation for the Sysrepo interfaces and routing plugins can be found in the [documentation directory](../docs). | ||
|
||
## Support and Feedback | ||
|
||
|