aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: abf6f87ec0f9b9c9176caeadb2ec40f5809cedc4 (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
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         |

## 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-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.