= Building

== Custom ODL Oxygen build:

[source]
----
git clone https://git.opendaylight.org/gerrit/netconf
cd netconf
git checkout -b honeycomb release/oxygen
----

=== <copy-config> support:

[source]
----
git fetch https://git.opendaylight.org/gerrit/netconf refs/changes/06/69606/1 && git cherry-pick FETCH_HEAD
----

=== ncclient support:

[source]
----
git fetch https://git.opendaylight.org/gerrit/netconf refs/changes/81/71181/1 && git cherry-pick FETCH_HEAD
mvn clean install -pl netconf/netconf-util,netconf/netconf-netty-util,netconf/mdsal-netconf-connector
----

=== <validate> support:

[source]
----
git fetch https://git.opendaylight.org/gerrit/netconf refs/changes/56/72756/4 && git cherry-pick FETCH_HEAD
git fetch https://git.opendaylight.org/gerrit/netconf refs/changes/34/73034/2 && git cherry-pick FETCH_HEAD
git fetch https://git.opendaylight.org/gerrit/netconf refs/changes/95/74795/3 && git cherry-pick FETCH_HEAD
mvn clean install -pl netconf/mdsal-netconf-connector
----

== Custom Honeycomb build

Clone project, checkout desired branch or use master branch:
[source]
----
git clone https://gerrit.fd.io/r/honeycomb
cd honeycomb
----

=== <validate> support:
[source]
----
git fetch ssh://mgradzki@gerrit.fd.io:29418/honeycomb refs/changes/40/14040/3 && git cherry-pick FETCH_HEAD
mvn clean install -pl infra/data-impl
----

== Custom HC2VPP build

1. Clone project, checkout desired branch or use master branch:
[source]
----
git clone https://gerrit.fd.io/r/hc2vpp
cd hc2vpp
----

2. Build vpp-integration module from hc2vpp project:
[source]
----
mvn clean install -pl vpp-integration/minimal-distribution
----

3. (optional) Build honeycomb package
[source]
----
./packaging/deb/xenial/debuild.sh
----

== Build ncclient

[source]
----
git clone https://github.com/ncclient/ncclient.git
cd ncclient
sudo python setup.py install
----

= Running examples

Start vpp.

Start honeycomb
(either from hc2vpp builddir or using package built in previous steps).

NOTE: Remember that HC by default persists config and restores it after restart.
You can disable this behaviour using config/honeycomb.json.

== <copy-config> examples

=== ACL

Example configuration of ACLs on loopback interface.

[source]
----
./acl/test_acl.sh
./acl/test_acl_updates.sh
----

=== Bridge Domain

Example configuration of loopback interface and bridge domain assignment.

[source]
----
./bd/test_bd.sh
----

=== NAT

Example configuration of NAT on loopback interface.

[source]
----
./acl/test_nat.sh
./acl/test_nat_updates.sh
----

== <validate> examples

== ACL <edit-config> + <validate>
[source]
----
./edit_config.py --validate acl/config_invalid_acl.xml
----

