<project-version>${project.version}</project-version>
<project-public-version>17.07</project-public-version>
<project-version-in-jira>10701</project-version-in-jira>
- <project-branch>master</project-branch>
+ <project-branch>stable/1707</project-branch>
<project-vpp-version>17.07</project-vpp-version>
<project-vpp-snapshot-version>17.07</project-vpp-snapshot-version>
<project-snat-version>17.07</project-snat-version>
* for general tutorials on building Honeycomb agents, see https://docs.fd.io/honeycomb/{project-version}/release-notes-aggregator/release_notes.html#_tutorials[Honeycomb tutorials]
=== Samples
-* {project-git-web}/samples?h={project-branch}[Interface management sample from Honeycomb]
+* {project-git-web}/samples?h={project-branch}[Interface management sample from Hc2vpp]
** Generic(non-VPP) plugin with a custom distribution containing lots of useful information about Honeycomb and its plugins.
NOTE: Netconf and Restconf are equivalent interfaces to Honeycomb, being capable of providing the same APIs. The only difference is with notifications. Only NETCONF is capable of emitting the notifications.
-== Full working sample
+== Full working sample (outdated)
-Full working sample on github: https://github.com/marosmars/honeycomb-samples/tree/vpp-plugin
+Full working sample (hc2vpp 1.16.09) on github: https://github.com/marosmars/honeycomb-samples/tree/vpp-plugin
[NOTE]
====
== Downloading archives
In https://nexus.fd.io/#nexus-search;quick~vpp-integration-distribution[fdio's nexus] look for vpp-integration-distribution artifact with version {project-version} and download either zip or tar.gz. After extracting the archive, a folder vpp-integration-distribution-{project-version} will be created.
-== Running extracted distribution[edit]
+== Running extracted distribution
In the new folder, locate honeycomb executable shell script and run it.
-Note: sudo privileges are necessary with default configuration.
+NOTE: sudo privileges are necessary with default configuration.
== Ubuntu
=== Ubuntu 14.04 - Honeycomb Release DEB
-[CAUTION]
-====
-Add openjdk-8 repository. 1404 does not provide openjdk-8 by default
-
- According to http://stackoverflow.com/questions/32942023/ubuntu-openjdk-8-unable-to-locate-package
-====
-
-Pick Ubuntu version:
-
- export UBUNTU="trusty"
-
-Then run:
-
- sudo rm /etc/apt/sources.list.d/99fd.io.list
- echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io.ubuntu.$UBUNTU.main/ ./" | sudo tee -a /etc/apt/sources.list.d/99fd.io.list
- sudo apt-get update
- sudo apt-get install honeycomb
-
-[CAUTION]
-====
-Uninstall previously installed java 7
-
- look for packages e.g. openjdk-7-* and uninstall them
-====
+Ubuntu 14.04 packages are no longer published.
+But you can build them link:install_manual_build.html#_building_packages[manually].
=== Ubuntu 16.04 - Honeycomb Release DEB
=== Footprint
-Minimal footprint for Honeycomb infrastructure (without any plugins) at rest below 100Mb. For Honeycomb distribution with VPP related plugins, minimal footprint was observed below 150Mb.
+Minimal footprint for Honeycomb infrastructure (without any plugins) at rest below 90Mb. For Honeycomb distribution with VPP related plugins, minimal footprint was observed below 120Mb.
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. Even lower footprint numbers can be achieved by using aggressive JVM memory options: -client -Xms20m -Xmx32m -XX:MetaspaceSize=5m -XX:MaxMetaspaceSize=32m -XX:MaxMetaspaceExpansion=1m -Xss512k -XX:+UseSerialGC -Djava.compiler=NONE -Xverify:none -noverify
+* 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.
\ No newline at end of file
After the code has been built, you can build an RPM or DEB package for hc2vpp.
==== RPM
-Export build number variable:
+Export build number variable, e.g.:
export BUILD_NUMBER=33
packaging/rpm/rpmbuild.sh
==== DEB
-Export build number variable:
+Export build number variable, e.g.:
export BUILD_NUMBER=33
Run package building script from:
- packaging/deb/debuild.sh
\ No newline at end of file
+ packaging/deb/xenial/debuild.sh
+
+or
+
+ packaging/deb/trusty/debuild.sh
\ No newline at end of file
=== New features
+* https://jira.fd.io/browse/HC2VPP-168[GPE native forward paths support]
+* https://jira.fd.io/browse/HC2VPP-147[Lisp GPE entry feature support]
+* https://jira.fd.io/browse/HC2VPP-174[BGP to VPP FIB translation for IP unicast family]
+* https://jira.fd.io/browse/HC2VPP-90[Prefix based addresses as EIDs]
+* https://jira.fd.io/browse/HC2VPP-139[Sub-interface missing features]
+* https://jira.fd.io/browse/HC2VPP-148[Interface unnumbered flag]
+* https://jira.fd.io/browse/HC2VPP-180[Documentation: mapping between HC Yang models and VPP APIs]
+
=== Removed features
+ACL management in terms of ietf-acl model based on vpp classifier
+
=== Modified features
=== Deprecated features
== Backlog
-* https://jira.fd.io/projects/HONEYCOMB/versions/{project-version-in-jira}[JIRA]
+* https://jira.fd.io/projects/HC2VPP/versions/{project-version-in-jira}[JIRA]
* https://jira.fd.io/jira/secure/ReleaseNote.jspa?projectId=10601&version={project-version-in-jira}[Release notes]
include::install_guide/install_guide.adoc[]
** {project-git-web}/nat/nat-api/src/main/yang?h={project-branch}[NAT YANG models]
* iOAM plugin
** {project-git-web}/ioam/api/src/main/yang?h={project-branch}[IOAM YANG models]
+* Interface role plugin
+** {project-git-web}/interface-role/api/src/main/yang?h={project-branch}[Interface role YANG models]
* Routing plugin
** {project-git-web}/routing/routing-api/src/main/yang?h={project-branch}[Routing YANG models]
* ACL plugin
** {project-git-web}/v3po/postman_rest_collection.json?h={project-branch}[V3PO postman collection]
* LISP plugin
** {project-git-web}/lisp/lisp_postman_collection.json?h={project-branch}[LISP postman collection]
+** {project-git-web}/lisp/gpe_postman_collection.json?h={project-branch}[LISP GPE postman collection]
* NSH plugin
** {project-git-web}/nsh/nsh_postman_collection.json?h={project-branch}[NSH postman collection]
* NAT plugin
** {project-git-web}/nat/postman_rest_collection.json?h={project-branch}[NAT postman collection]
* iOAM plugin
** {project-git-web}/ioam/ioam_postman_collection.json?h={project-branch}[IOAM postman collection]
+* Interface role plugin
+** {project-git-web}/interface-role/interface_role_postman_collection.json?h={project-branch}[Interface role postman collection]
* Routing plugin
** {project-git-web}/routing/routing_postman_collection.json?h={project-branch}[Routing postman collection]
** {project-git-web}/routing/routing_adv_postman_collection.json?h={project-branch}[Routing advertisements postman collection]
[subs="+attributes"]
sudo ./vpp-integration-distribution-{project-version}/honeycomb
-This will start Honeycomb with all ODL dependencies and VPP translation code. It will automatically initialize vpp-jvpp to create interface between VPP and Honeycomb.
+This will start Honeycomb with all ODL dependencies and VPP translation code. It will automatically initialize jvpp to create interface between VPP and Honeycomb.
If Honeycomb was installed from the RPM or DEB packages, it can be started by (make sure you start vpp first):