summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2018-06-01 12:48:27 +0200
committerHongjun Ni <hongjun.ni@intel.com>2018-06-05 07:17:36 +0000
commit7d6c038cb30b933582d15fb6ab92fed60ce8092f (patch)
tree9878983f61c2898936af346d4b91ad89fe0fa45a
parentc46a97f716e6c5c4fed9f52f66f0847e2cefaf59 (diff)
HC2VPP-336: reenable NSH plugin
This patch reverts https://gerrit.fd.io/r/#/c/12822/ and bumps jvpp nsh_sfc dependency to 18.07-SNAPSHOT. Change-Id: Idce70d39c9c273b7db3c771430ef5af58417b43b Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
-rw-r--r--it/api-test/pom.xml6
-rw-r--r--nsh/impl/pom.xml8
-rw-r--r--pom.xml3
-rw-r--r--vpp-integration/api-docs/docs/pom.xml1
-rw-r--r--vpp-integration/api-docs/scripts/pom.xml5
-rw-r--r--vpp-integration/api-docs/scripts/src/main/groovy/io/fd/hc2vpp/docs/scripts/ApiDocsIndexGenerator.groovy3
-rw-r--r--vpp-integration/api-docs/scripts/src/main/java/io/fd/hc2vpp/docs/core/mock/binding/MockNshModule.java48
-rw-r--r--vpp-integration/minimal-distribution/pom.xml7
8 files changed, 71 insertions, 10 deletions
diff --git a/it/api-test/pom.xml b/it/api-test/pom.xml
index b40c5af49..28263ec0d 100644
--- a/it/api-test/pom.xml
+++ b/it/api-test/pom.xml
@@ -87,6 +87,12 @@
<!-- Open source plugins -->
<dependency>
+ <groupId>io.fd.hc2vpp.nsh</groupId>
+ <artifactId>vppnsh-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
<groupId>io.fd.hc2vpp.ioam</groupId>
<artifactId>vppioam-api</artifactId>
<version>${project.version}</version>
diff --git a/nsh/impl/pom.xml b/nsh/impl/pom.xml
index 0b8cd1fc2..38038a42d 100644
--- a/nsh/impl/pom.xml
+++ b/nsh/impl/pom.xml
@@ -86,13 +86,7 @@
<dependency>
<groupId>io.fd.nsh_sfc</groupId>
<artifactId>nsh-sfc</artifactId>
- <version>18.04-SNAPSHOT</version>
- <exclusions>
- <exclusion>
- <groupId>io.fd.vpp</groupId>
- <artifactId>jvpp-registry</artifactId>
- </exclusion>
- </exclusions>
+ <version>18.07-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.fd.hc2vpp.common</groupId>
diff --git a/pom.xml b/pom.xml
index 851beb518..e5f7b7fc8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,8 +39,7 @@
<module>vpp-common</module>
<module>v3po</module>
<module>ioam</module>
- <!-- TODO(HC2VPP-336): reenable after NSH build issues are resolved -->
- <!--<module>nsh</module>-->
+ <module>nsh</module>
<module>routing</module>
<module>nat</module>
<module>lisp</module>
diff --git a/vpp-integration/api-docs/docs/pom.xml b/vpp-integration/api-docs/docs/pom.xml
index 03ebbc5c3..6545ed671 100644
--- a/vpp-integration/api-docs/docs/pom.xml
+++ b/vpp-integration/api-docs/docs/pom.xml
@@ -46,6 +46,7 @@
io.fd.hc2vpp.dhcp.DhcpModule,
io.fd.hc2vpp.policer.PolicerModule,
io.fd.hc2vpp.mpls.MplsModule,
+ io.fd.hc2vpp.docs.core.mock.binding.MockNshModule,
io.fd.hc2vpp.docs.core.mock.binding.MockIoamModule,
io.fd.hc2vpp.bgp.inet.BgpInetModule,
io.fd.hc2vpp.bgp.prefix.sid.BgpPrefixSidModule
diff --git a/vpp-integration/api-docs/scripts/pom.xml b/vpp-integration/api-docs/scripts/pom.xml
index c24fcac6a..cdc05e876 100644
--- a/vpp-integration/api-docs/scripts/pom.xml
+++ b/vpp-integration/api-docs/scripts/pom.xml
@@ -86,6 +86,11 @@
<version>${project.version}</version>
</dependency>
<dependency>
+ <groupId>io.fd.hc2vpp.nsh</groupId>
+ <artifactId>vppnsh-impl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
<groupId>io.fd.hc2vpp.v3po</groupId>
<artifactId>v3po2vpp</artifactId>
<version>${project.version}</version>
diff --git a/vpp-integration/api-docs/scripts/src/main/groovy/io/fd/hc2vpp/docs/scripts/ApiDocsIndexGenerator.groovy b/vpp-integration/api-docs/scripts/src/main/groovy/io/fd/hc2vpp/docs/scripts/ApiDocsIndexGenerator.groovy
index 0cd528992..65ee2ed1e 100644
--- a/vpp-integration/api-docs/scripts/src/main/groovy/io/fd/hc2vpp/docs/scripts/ApiDocsIndexGenerator.groovy
+++ b/vpp-integration/api-docs/scripts/src/main/groovy/io/fd/hc2vpp/docs/scripts/ApiDocsIndexGenerator.groovy
@@ -26,6 +26,7 @@ import io.fd.vpp.jvpp.core.future.FutureJVppCore
import io.fd.vpp.jvpp.ioamexport.future.FutureJVppIoamexport
import io.fd.vpp.jvpp.ioampot.future.FutureJVppIoampot
import io.fd.vpp.jvpp.ioamtrace.future.FutureJVppIoamtrace
+import io.fd.vpp.jvpp.nsh.future.FutureJVppNsh
import io.fd.vpp.jvpp.nat.future.FutureJVppNat
import java.nio.charset.StandardCharsets
@@ -44,7 +45,7 @@ class ApiDocsIndexGenerator {
private static def NL = System.lineSeparator()
// TODO - check if list of plugin classes can be generated based on list of modules enabled for doc generation
private static
- def PLUGIN_CLASSES = [FutureJVppCore.class, FutureJVppAcl.class, FutureJVppNat.class,
+ def PLUGIN_CLASSES = [FutureJVppCore.class, FutureJVppAcl.class, FutureJVppNat.class, FutureJVppNsh.class,
FutureJVppIoamexport.class, FutureJVppIoampot.class, FutureJVppIoamtrace.class]
private static def TABLE_PART_MARK = "|"
diff --git a/vpp-integration/api-docs/scripts/src/main/java/io/fd/hc2vpp/docs/core/mock/binding/MockNshModule.java b/vpp-integration/api-docs/scripts/src/main/java/io/fd/hc2vpp/docs/core/mock/binding/MockNshModule.java
new file mode 100644
index 000000000..dace214e8
--- /dev/null
+++ b/vpp-integration/api-docs/scripts/src/main/java/io/fd/hc2vpp/docs/core/mock/binding/MockNshModule.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017 Cisco and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.fd.hc2vpp.docs.core.mock.binding;
+
+import static io.fd.hc2vpp.docs.core.mock.binding.MockBindingModule.noOpProxy;
+
+import com.google.inject.Provider;
+import io.fd.hc2vpp.vppnsh.impl.VppNshModule;
+import io.fd.vpp.jvpp.JVpp;
+import io.fd.vpp.jvpp.JVppRegistry;
+import io.fd.vpp.jvpp.nsh.future.FutureJVppNshFacade;
+import java.io.IOException;
+
+/**
+ * Use to bypass jvpp registration
+ */
+public class MockNshModule extends VppNshModule {
+
+ public MockNshModule() {
+ super(MockJVppNshProvider.class);
+ }
+
+ private static class MockJVppNshProvider implements Provider<FutureJVppNshFacade> {
+
+ @Override
+ public FutureJVppNshFacade get() {
+ try {
+ return new FutureJVppNshFacade(noOpProxy(JVppRegistry.class), noOpProxy(JVpp.class));
+ } catch (IOException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+ }
+}
diff --git a/vpp-integration/minimal-distribution/pom.xml b/vpp-integration/minimal-distribution/pom.xml
index 791ad9515..8399ff27e 100644
--- a/vpp-integration/minimal-distribution/pom.xml
+++ b/vpp-integration/minimal-distribution/pom.xml
@@ -65,6 +65,8 @@
io.fd.hc2vpp.dhcp.DhcpModule,
io.fd.hc2vpp.policer.PolicerModule,
io.fd.hc2vpp.mpls.MplsModule,
+ <!-- Nsh module by default disabled, because it needs vpp-nsh plugin, which is not part of vpp codebase.-->
+ // io.fd.hc2vpp.vppnsh.impl.VppNshModule,
<!-- iOAM module by default disabled, because it needs ioam plugin (not part of vpp codebase.)-->
// io.fd.hc2vpp.vppioam.impl.VppIoamModule,
<!-- Bgp modules disabled by default, because it BGP northbound interface is not enabled by default -->
@@ -128,6 +130,11 @@
<version>${lisp.version}</version>
</dependency>
<dependency>
+ <groupId>io.fd.hc2vpp.nsh</groupId>
+ <artifactId>vppnsh-impl</artifactId>
+ <version>${vppnsh.version}</version>
+ </dependency>
+ <dependency>
<groupId>io.fd.hc2vpp.nat</groupId>
<artifactId>nat2vpp</artifactId>
<version>${nat.version}</version>