Skip to content

Commit

Permalink
README: add routing-plugin info
Browse files Browse the repository at this point in the history
Signed-off-by: Juraj Vijtiuk <[email protected]>
  • Loading branch information
jvijtiuk committed Sep 28, 2021
1 parent dfe66fd commit c052da6
Showing 1 changed file with 35 additions and 5 deletions.
40 changes: 35 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -32,7 +42,7 @@ Besides the usual C development environment, the following additional dependenci
* pthreads
* netlink

### Build
#### Build

First clone the repository:

Expand All @@ -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 ..
Expand All @@ -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]
Expand All @@ -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.
Expand All @@ -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

Expand Down

0 comments on commit c052da6

Please sign in to comment.