Release notes for honeycomb for VPP 1.18.01. Based on VPP 18.01 and honeycomb 1.18.01.

1. Release plan

2. Features

Adding to the list of existing features: 1710 feature list:

2.1. New features

  • MPLS

  • MPLS BGP Prefix SID - translates BGP Prefix SID updates to VPP FIB, but no support for attribute announcement (HC2VPP-269).

2.2. Removed features

2.4. Deprecated features

3. Backlog

4. Install guide

Installing binaries:

4.1. Manual build

4.2. Distribution notes

Honeycomb is packaged as a static set of jars, that are loaded by Honeycomb Main class, where pre-configured plugins are then started.

4.3. Footprint

Minimal footprint for Honeycomb infrastructure (without any plugins) at rest below 80Mb. For Honeycomb distribution with VPP related plugins, minimal footprint was observed below 110Mb. The footprint varies depending on:

  • VM load. Under heavier load, JVM tends to release some unused memory used during Honeycomb initialization.

  • Northbound interface configuration (4 interfaces started by default: Restconf HTTP, HTTPS, Netconf TCP, SSH). Minimal footprint can be achieved by using only a single interface.

  • JVM configuration. Minimal footprint can be achieved by using aggressive JVM memory options, e.g.: -client -Xms20m -Xmx32m -XX:MetaspaceSize=5m -XX:MaxMetaspaceSize=32m -XX:MaxMetaspaceExpansion=1m -Xss512k -XX:+UseSerialGC -Djava.compiler=NONE -Xverify:none -noverify

  • Amount of data stored by Honeycomb.

4.4. Runtime Data

For purpose of following minimal setup, these parameters were used

java -client -Xms5m -Xmx25m -XX:MetaspaceSize=5m -XX:MaxMetaspaceSize=42m -XX:MaxMetaspaceExpansion=1m -Xss512k -XX:+UseSerialGC -Djava.compiler=NONE -Xverify:none -noverify -jar
In this setup, honeycomb is able to handle only transaction of limited size. If usecase requires writing bigger data, params -Xmx and -XX:MaxMetaspaceSize should be increased.

4.4.1. Infrastructure

Following modules enables basic honeycomb functionality and Restconf northbound interface

Configuration files

To enable just Restconf HTTP, in /config/restconf.json, set restconf-https-enabled to false

4.4.2. Plugins

Following modules enables honeycomb binding to all core vpp plugins


4.4.3. Data

In this minimal setup, honeycomb was able to handle

  • max 2940 single rule acl’s - using 120 bytes per acl

  • max 250 multi rule acl’s(20 rules per acls) - using 2688 bytes per acl

  • max 7610 classify tables - using 24 bytes per acl

  • 10000+ map resolvers - using 24 bytes per map resolver

  • 500+ interfaces(Before it reaches vpp limit for configurable interfaces) - using 42 bytes per interface

Memory consumption mentioned is size of raw objects that represents desired configuration. It does not include objects used by transaction handling to process such data.

At rest, honeycomb instance footprint was observed as ~ 95.3 MB. With any of the mentioned data samples written, footprint reaches ~ 97.5 MB till instance runs out of memory.

These values were observed while attempting to write data in "one object per tx" fashion. To be able to write mentioned data samples all at once, higher settings for -Xmx and -XX:MetaspaceSize are needed

5. User guide

5.1. Running Honeycomb

5.2. Troubleshooting

5.3. Honeycomb and ODL

5.4. Configuration files

Honeycomb’s configuration files present within its distribution:

5.5. YANG models

6. Devel guide

Hc2vpp plugin development guide.

6.1. Tutorials

6.2. Samples

7. API documentation