diff options
-rw-r--r-- | README.md | 81 |
1 files changed, 76 insertions, 5 deletions
@@ -1,8 +1,79 @@ -# Sweetcomb Guide +Sweetcomb +======================== -This repository contains a work-in-progress code of the integration of [Sysrepo datastore](https://github.com/sysrepo/sysrepo/) with [VPP](https://fd.io/). +## Introduction + +Sweetcomb is a management agent that runs on the same host as a VPP instance, +and exposes yang models via NETCONF or RESTCONF or gRPC to allow the management of that VPP instance from out-of-box. + +For more information on VPP and its features please visit the +[Sweetcomb website](https://wiki.fd.io/view/Sweetcomb) + + +## Changes + +Details of the changes leading up to this version of Sweetcomb can be found under +@ref release notes. + + +## Directory layout + +| Directory name | Description | +| ---------------------- | ------------------------------------------- | +| build-root | Build output directory | +| @ref src/plugins | Sweetcomb bundled plugins directory | +| @ref src/scvpp | Sweetcomb to VPP communication | + +## Getting started + +Firstly, please follow below steps to install dependencies and build code: + cd $/sweetcomb/ + make install-dep + make install-dep-extra + make install-vpp + make build-scvpp + make build + +Then, please start each daemon one by one: + start vpp (for example on Ubuntu: systemctl start vpp) + sysrepod + sysrepo-plugind + netopeer2-server + netopeer2-cli + +Now you can utilize Sweetcomb. + +## Manual Test +For example, if you want to configure ipv4 address on HW interface TenGigabitEthernet5/0/0, +You can follow below steps to verify if Sweetcomb is working well. + +Firstly, set interface up: + vppctl set interface state TenGigabitEthernet5/0/0 up + +Then, starting netopeer2-cli on any host: + netopeer2-cli +> connect --host <ip address running Sweetcomb> --login <user> +> edit-config --target running --config +## Press Enter and then past below XML example into the editor and quit +<interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"> + <interface> + <name>TenGigabitEthernet5/0/0</name> + <description>eth0</description> + <type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:ethernetCsmacd</type> + <ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip"> + <enabled>true</enabled> + <mtu>1514</mtu> + <address> + <ip>192.168.50.72</ip> + <prefix-length>24</prefix-length> + </address> + </ipv4> + <enabled>true</enabled> + </interface> +</interfaces> + +Finally, check the configuration result. + vppctl show interface address +If you configure above successfully, you will get ip address set up on interface TenGigabitEthernet5/0/0. -It consists of two components: -- [srvpp](srvpp/) library that provides convenient API for managing VPP from Sysrepo plugins, -- [plugins](plugins/) for Sysrepo that provide the VPP management functionality. |