Sweetcomb ======================== ## 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 Make sure you have added FD.io repository using https://packagecloud.io/fdio/release/ installation script. You should have a sight on the release package, the package name may be different depending on the distribution. (ex: vpp-plugins.deb for VPP 19.01 and vpp-plugin-core.deb and vpp-plugin-dpdk.deb in 19.04) 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-plugins ``` Next, install YANG models in sysrepo: ``` make install-models ``` 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. Notice: if you install from package, you should import module by youself. ## 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 ``` ``` <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.