Compare commits

..

17 Commits

Author SHA1 Message Date
Chris Luke
862623da6e VPP-23 Re-work pager line collation
To better handle lines longer than the terminal width, re-work how
the pager collates lines. We still store each output line in a vector
or lines; additionally we index the start and end of displayable lines.

The index then becomes the data to work out what to display.

If the terminal is resized this index is rebuilt and the current page
redisplayed and an attempt made to keep the current top-of-screen line
in place.

Change-Id: Icc6f4f72dabad89682cd82be88adb03eadb7811d
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-16 21:37:00 +00:00
Keith Burns (alagalah)
e7a40e86b1 VPP-61 Patch2/2 Removing NSH from VPP for move to NSH_SFC
Change-Id: I76359b621b2edc599cf2e9ee845d97293a5d46f7
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-16 11:54:01 -07:00
Keith Burns (alagalah)
72a7ded376 VPP-61 Patch1/2 - Remove NSH from VPP
- Had issues with original patch and CSIT, breaking into
-- Makefile and API changes
-- Follow up patch removing NSH directory

Change-Id: I6c2f49a74d59b97ce4ea43799cc6f01f5cb1d5a2
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-16 16:52:57 +00:00
Damjan Marion
793b18de05 VPP-58: Fix build on AMD Opteron
Change-Id: Ib3e10fd4c27dde4f90b8d156f0c8547787ad46e2
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-16 16:52:55 +02:00
Damjan Marion
4e6be6847f Add build number to VPP version if BUILD_NUMBER var is set
Change-Id: I73ecc12224fdfb08b7aa6118761b368577ce33d5
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-16 14:43:20 +00:00
Matus Fabian
65fcd4d737 Add configure policer API
JIRA: VPP-67

Change-Id: I04560d78e2eb131cd6cc31472b70b3d3e8fdd79a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-16 13:30:40 +00:00
Pierre Pfister
6b70c213ee VPP-68: L2 Rewrite: Support for chained classify tables
The classifying capabilities are pretty limited if only a single table can be used.
This patch adds support for chained classify tables to L2 Rewrite feature.

Change-Id: Ib678fe2028f17b441adb75d85bf3e31185e42c59
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-05-16 12:12:01 +00:00
Pierre Pfister
530bd8e1e6 VPP-69: Create fib or bridge domain with arbitrary ID
It appeared to me that it might be usefull
to allow users to create fibs or bridge domains without
a complete knowledge of the current used IDs.

These changes define fib and bridge domain constructors
when the provided ID is ~0. In such a case, an unused ID is
used to create a new fib or bridge domain.

Change-Id: Iaba69a023296e6d17bdde45980f9db84832a3995
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-05-16 12:07:04 +00:00
Chris Luke
aa761e1281 VPP-57 Add missing license headers in doc files
Change-Id: Icd1f8952f66d3cee027c59f3148c67f1839de306
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-16 11:48:16 +00:00
Dave Wallace
9c5b2b301c VPP-64: Fix top-level "make pkg-deb" which breaks if CDPATH is set in the user's
bash environment.

Change-Id: Ib13e6fdafa67175937e57fad4e75e553cb1e08a3
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2016-05-16 11:47:05 +00:00
Dave Wallace
ed18a1c840 VPP-65: Fix top-level "make install-dep" to work behind a firewall /
proxy-server on Ubuntu.


Change-Id: I3f662455728adb81ca5a079540d8a9c615a5b977
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2016-05-16 11:46:28 +00:00
Filip Tehlar
195bceec56 ONE-13: Add CLI/API for LISP static remote mappings
Change-Id: Ic4c717af9629541bac0a0e6c65d0157619c8f578
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-15 15:02:51 +00:00
Chris Luke
75a37b372e VPP-62 Add a doxy filter to enable vpe.api doc
This makes Doxygen think the API definitions are structs which is close
enough to be able to document the API methods.

It also has logic to create an indexed API page but that's disabled for
now because it duplicates the "brief" text twice in the struct doc.

Fixes a minor line numbering issue in filter_c.py.

Change-Id: If380160b73e7c10d999b35a76f55d0e27cbc91cc
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-15 13:22:54 +00:00
Dave Barach
7e55d364fd VPP-63: clean up config scripts, remove specific hostnames
Change-Id: Ifb77256fa691b1a90045a10448835c09b764e74f
Signed-off-by: Dave Barach <dave@barachs.net>
2016-05-14 18:39:11 -04:00
Chris Luke
1d1644c260 VPP-57 Add doxygen build dependencies
Change-Id: I764d8a440c050d753e0380e139f489d3085f17f4
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-13 19:28:39 +00:00
Florin Coras
ddfafb82ec ONE-7: Fix map-request encapsulation
We now try to find the first map-resolver IP we have a route to and
decide the ip lookup node according to map-resolver IP.

Change-Id: I68fc12861dc1e9a203ebf6caefd4f053a741a785
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-13 19:14:47 +00:00
Ed Warnicke
a20935192a Whitespace probe for CI
Change-Id: I3744ee19a21dcea2885aef2800244c93aa19763a
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-13 13:49:34 -05:00
80 changed files with 1569 additions and 1449 deletions

View File

@ -30,6 +30,7 @@ OS_VERSION_ID= $(shell grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed
DEB_DEPENDS = curl build-essential autoconf automake bison libssl-dev ccache
DEB_DEPENDS += debhelper dkms git libtool libganglia1-dev libapr1-dev dh-systemd
DEB_DEPENDS += libconfuse-dev git-review exuberant-ctags cscope
DEB_DEPENDS += doxygen graphviz
ifeq ($(OS_VERSION_ID),14.04)
DEB_DEPENDS += openjdk-8-jdk-headless
else
@ -39,9 +40,8 @@ endif
RPM_DEPENDS_GROUPS = 'Development Tools'
RPM_DEPENDS = redhat-lsb glibc-static java-1.8.0-openjdk-devel yum-utils
RPM_DEPENDS += openssl-devel https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm apr-devel
#RPM_DEPENDS += doxygen # TODO
RPM_DEPENDS += doxygen graphviz
EPEL_DEPENDS = libconfuse-devel ganglia-devel
#EPEL_DEPENDS += graphviz # TODO
ifneq ($(wildcard $(STARTUP_DIR)/startup.conf),)
STARTUP_CONF ?= $(STARTUP_DIR)/startup.conf
@ -53,7 +53,7 @@ endif
.PHONY: help bootstrap wipe wipe-release build build-release rebuild rebuild-release
.PHONY: run run-release debug debug-release build-vat run-vat pkg-deb pkg-rpm
.PHONY: ctags cscope
.PHONY: ctags cscope doxygen wipe-doxygen
help:
@echo "Make Targets:"
@ -75,6 +75,8 @@ help:
@echo " pkg-rpm - build RPM packages"
@echo " ctags - (re)generate ctags database"
@echo " cscope - (re)generate cscope database"
@echo " doxygen - (re)generate documentation"
@echo " wipe-doxygen - wipe all generated documentation"
@echo ""
@echo "Make Arguments:"
@echo " V=[0|1] - set build verbosity level"
@ -126,11 +128,11 @@ bootstrap: $(BR)/.bootstrap.ok
install-dep:
ifeq ($(OS_ID),ubuntu)
ifeq ($(OS_VERSION_ID),14.04)
@sudo apt-get $(CONFIRM) install software-properties-common
@sudo add-apt-repository $(CONFIRM) ppa:openjdk-r/ppa
@sudo apt-get update
@sudo -E apt-get $(CONFIRM) install software-properties-common
@sudo -E add-apt-repository $(CONFIRM) ppa:openjdk-r/ppa
@sudo -E apt-get update
endif
@sudo apt-get $(CONFIRM) install $(DEB_DEPENDS)
@sudo -E apt-get $(CONFIRM) install $(DEB_DEPENDS)
else ifneq ("$(wildcard /etc/redhat-release)","")
@sudo yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS)
@sudo yum install $(CONFIRM) $(RPM_DEPENDS)
@ -212,6 +214,10 @@ cscope: cscope.files
@cscope -b -q -v
#
# Build the documentation
#
DOXY_INPUT = \
README.md \
vppinfra \
@ -222,7 +228,6 @@ DOXY_INPUT = \
vpp \
vpp-api
.PHONY: doxygen
doxygen:
@mkdir -p "$(BR)/docs"
ROOT="$(WS_ROOT)" \

View File

@ -5,6 +5,15 @@ rm -rf dpdk-includes
mkdir dpdk-includes
(cd $1/dpdk/include; tar cfh - . | (cd ../../../dpdk-includes; tar xf -))
# If CDPATH is set, the "Change Directory" builtin (cd) will output the
# destination directory when a relative path is passed as an argument.
# In this case, this has the negative side effect of polluting the "paths"
# variable with the destination directory, breaking the package generation.
#
# Patient: Doctor! Doctor! It hurts when I do this...
# Doctor: Don't do that!
#
unset CDPATH
paths=`cd dpdk-includes; find . -type f -print`
rm -f $2

View File

@ -4,6 +4,10 @@ TAG=$(git describe | cut -d- -f1 | sed -e 's/^v//')
ADD=$(git describe | cut -s -d- -f2)
CMT=$(git describe --dirty --match 'v*'| cut -s -d- -f3,4)
if [ -n "${BUILD_NUMBER}" ]; then
BLD="~b${BUILD_NUMBER}"
fi
if [ "$1" = "rpm-version" ]; then
echo ${TAG}
exit
@ -12,12 +16,12 @@ fi
if [ "$1" = "rpm-release" ]; then
[ -z "${ADD}" ] && echo release && exit
CMT=$(git describe --dirty --match 'v*'| cut -s -d- -f3,4 | sed 's/-/_/')
echo ${ADD}~${CMT}
echo ${ADD}~${CMT}${BLD}
exit
fi
if [ -n "${ADD}" ]; then
echo ${TAG}-${ADD}~${CMT}
echo ${TAG}-${ADD}~${CMT}${BLD}
else
echo ${TAG}
fi

View File

@ -1,6 +1,28 @@
/*
* Copyright (c) <YEAR> <YOUR AFFILIATION HERE>
*
* 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.
*/
/* Doxygen directory documentation */
/**
@dir
@brief Someone please fix this description
@todo This directory needs a description.
This is where you would document the contents of a directory.
This looks like a C file but it is not part of the build; it is purely
for documentation.
*/

View File

@ -281,7 +281,7 @@ OPTIMIZE_OUTPUT_VHDL = NO
# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
# the files are not read by doxygen.
EXTENSION_MAPPING = def=C
EXTENSION_MAPPING = def=C api=C
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
# according to the Markdown format, which allows for more readable
@ -796,7 +796,7 @@ INPUT_ENCODING = UTF-8
# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f, *.for, *.tcl,
# *.vhd, *.vhdl, *.ucf, *.qsf, *.as and *.js.
FILE_PATTERNS = *.md *.c *.h *.def *.inc *.S *.dox
FILE_PATTERNS = *.md *.c *.h *.def *.inc *.S *.dox *.api
# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.
@ -898,7 +898,9 @@ INPUT_FILTER =
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
# properly processed by doxygen.
FILTER_PATTERNS = *.c=$(ROOT)/doxygen/filter_c.py
FILTER_PATTERNS = \
*.c=$(ROOT)/doxygen/filter_c.py \
*.api=$(ROOT)/doxygen/filter_api.py
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
# INPUT_FILTER) will also be used to filter the input files that are used for

45
doxygen/filter_api.py Executable file
View File

@ -0,0 +1,45 @@
#!/usr/bin/env python
# Copyright (c) 2016 Comcast Cable Communications Management, LLC.
#
# 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.
# Filter for vpe.api to make it Doxygenish.
import sys, re
if len(sys.argv) < 2:
sys.stderr.write("Usage: %s <filename>\n" % (sys.argv[0]))
sys.exit(1)
patterns = [
# Search for "define" blocks and treat them as structs
( re.compile(r"^.*(manual_.[^\s]+\s+)?define\s+(?P<name>[^\s]+)"), r"typedef struct vl_api_\g<name>_t"),
# For every "brief" statement at the start of a comment block, add an
# xref with whatever is on the same line. This gives us an index page
# with all the API methods in one place.
# XXX Commented out for now; works but duplicates the brief text in the
# struct documentation
#( re.compile(r"/\*\*\s*(?P<b>[\\@]brief)\s+(?P<c>.+)(\*/)$"), r'/** @xrefitem api "" "VPP API" \g<c> \g<b> \g<c>'), # capture inline comment close
#( re.compile(r"/\*\*\s*(?P<b>[\\@]brief)\s+(?P<c>.+)$"), r'/** @xrefitem api "" "VPP API" \g<c> \g<b> \g<c>'),
# Since structs don't have params, replace @param with @tparam
( re.compile("[\\@]param\\b"), "@tparam"),
]
with open(sys.argv[1]) as fd:
for line in fd:
str = line[:-1] # strip \n
for p in patterns:
str = p[0].sub(p[1], str)
sys.stdout.write(str+"\n")

View File

@ -1,4 +1,19 @@
#!/usr/bin/env python
# Copyright (c) 2016 Comcast Cable Communications Management, LLC.
#
# 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.
# Filter for .c files to make various preprocessor tricks Doxygenish
import sys, re
@ -31,7 +46,7 @@ patterns = [
with open(sys.argv[1]) as fd:
for line in fd:
str = line
str = line[:-1] # filter \n
for p in patterns:
str = p[0].sub(p[1], str)
sys.stdout.write(str)
sys.stdout.write(str+"\n")

View File

@ -1,3 +1,19 @@
/*
* Copyright (c) 2016 Cisco and/or its affiliates.
* Copyright (c) 2016 Comcast Cable Communications Management, LLC.
*
* 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.
*/
/* Doxygen directory documentation */
/**
@dir

View File

@ -1,3 +1,19 @@
/*
* Copyright (c) 2016 Cisco and/or its affiliates.
* Copyright (c) 2016 Comcast Cable Communications Management, LLC.
*
* 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.
*/
/* Doxygen directory documentation */
/**
@dir

View File

@ -1,3 +1,19 @@
/*
* Copyright (c) 2016 Cisco and/or its affiliates.
* Copyright (c) 2016 Comcast Cable Communications Management, LLC.
*
* 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.
*/
/* Doxygen directory documentation */
/**
@dir

View File

@ -1,3 +1,19 @@
/*
* Copyright (c) 2016 Cisco and/or its affiliates.
* Copyright (c) 2016 Comcast Cable Communications Management, LLC.
*
* 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.
*/
/* Doxygen directory documentation */
/**
@dir

File diff suppressed because it is too large Load Diff

View File

@ -58,6 +58,8 @@ libvnet_la_SOURCES += \
nobase_include_HEADERS += \
vnet/policer/police.h \
vnet/policer/policer.h \
vnet/policer/fix_types.h \
vnet/policer/xlate.h
########################################
@ -396,30 +398,6 @@ nobase_include_HEADERS += \
vnet/mpls-gre/error.def
########################################
# NSH Map: nsh
########################################
libvnet_la_SOURCES += \
vnet/nsh/nsh.c
nobase_include_HEADERS += \
vnet/nsh/nsh_packet.h \
vnet/nsh/nsh.h \
vnet/nsh/nsh_error.def
########################################
# Tunnel protocol: nsh-gre
########################################
# libvnet_la_SOURCES += \
# vnet/nsh-gre/nsh_gre.c \
# vnet/nsh-gre/encap.c \
# vnet/nsh-gre/decap.c
# nobase_include_HEADERS += \
# vnet/nsh-gre/nsh_gre.h
########################################
# Tunnel protocol: vxlan-gpe
########################################

View File

@ -0,0 +1,4 @@
#!/bin/bash
# to obtain dhcp address from leftpeer
dhclient -d -v eth1

View File

@ -1,4 +0,0 @@
#!/bin/bash
# to obtain dhcp address from ludd-cluster-1
dhclient -d -v eth1

View File

@ -1,3 +0,0 @@
# add eth6 to interfaces
INTERFACES="eth6"

View File

@ -1,8 +1,8 @@
comment { connects to ludd-cluster-2 eth1 addr db02::2/64 }
comment { connects to linux ping source eth1 addr db02::2/64 }
set int ip address GigabitEthernet2/2/0 db02::1/64
set int state GigabitEthernet2/2/0 up
comment { connects to ioam domain ludd-cluster-3 eth2 addr db03::3/64 }
comment { connects to ioam domain rightpeer eth2 addr db03::3/64 }
set int ip address GigabitEthernet2/3/0 db03::1/64
set int state GigabitEthernet2/3/0 up

View File

@ -1,4 +1,4 @@
comment { tunnel to ludd-cluster-3 6.0.3.3 on vlan 101 }
comment { tunnel to rightpeer 6.0.3.3 on vlan 101 }
set int ip address GigabitEthernet2/3/0 6.0.3.1/24
set int state GigabitEthernet2/3/0 up

View File

@ -6,7 +6,7 @@ comment { configure lc2 eth1 at e.g. 6.0.2.2/24 }
set int ip address GigabitEthernet2/2/0 6.0.2.1/24
set int state GigabitEthernet2/2/0 up
comment { tunnel to ludd-cluster-3 on vlan 101 }
comment { tunnel to rightpeer on vlan 101 }
set int ip address GigabitEthernet2/3/0 6.0.3.1/24
set int state GigabitEthernet2/3/0 up

View File

@ -7,7 +7,7 @@ set int ip table GigabitEthernet2/2/0 1
set int ip address GigabitEthernet2/2/0 6.0.2.1/24
set int state GigabitEthernet2/2/0 up
comment { tunnel to ludd-cluster-3 on vlan 101 }
comment { tunnel to rightpeer on vlan 101 }
set int ip address GigabitEthernet2/3/0 6.0.3.1/24
set int state GigabitEthernet2/3/0 up

View File

@ -1,12 +1,12 @@
comment { test sr segment chunk-offset on }
test sr hmac validate on
comment { trunk to ludd-cluster-3 }
comment { trunk to rightpeer }
set int ip address GigabitEthernet2/3/0 db03::2/64
enable ip6 interface GigabitEthernet2/3/0
set int state GigabitEthernet2/3/0 up
comment { subscriber ludd-cluster-2 }
comment { subscriber linux-ping-source }
set int ip address GigabitEthernet2/2/0 db02::2/64
enable ip6 interface GigabitEthernet2/2/0
set int state GigabitEthernet2/2/0 up

View File

@ -1,9 +1,9 @@
comment { tunnel to ludd-cluster-3 6.0.3.3 on vlan 101 }
comment { tunnel to rightpeer 6.0.3.3 on vlan 101 }
set int ip address GigabitEthernet2/3/0 6.0.3.1/24
set int state GigabitEthernet2/3/0 up
comment { tunnel to ludd-cluster-5 6.0.5.5 on vlan 105 }
comment { tunnel to thirdpeer 6.0.5.5 on vlan 105 }
set int ip address GigabitEthernet2/7/0 6.0.5.1/24
set int state GigabitEthernet2/7/0 up

View File

@ -1,18 +0,0 @@
comment { vpe_phase2 configuration }
comment { local client facing interface on vlan 100 }
comment { configure lc2 eth1 at e.g. 6.0.2.2/24 }
set int ip address GigabitEthernet2/2/0 6.0.2.1/24
set int state GigabitEthernet2/2/0 up
comment { tunnel to ludd-cluster-3 on vlan 101 }
set int ip address GigabitEthernet2/3/0 6.0.3.1/24
set int state GigabitEthernet2/3/0 up
nsh gre tunnel src 6.0.3.1 dst 6.0.3.3 c1 1 c2 2 c3 3 c4 4 spi 1133 si 0 next-ip4
set int ip address nsh_gre_tunnel0 6.0.4.1/24
set int state nsh_gre_tunnel0 up
nsh gre tunnel src 6.0.3.3 dst 6.0.3.1 c1 1 c2 2 c3 3 c4 4 spi 3311 si 0 next-ip4
set int stat nsh_gre_tunnel1 up

Some files were not shown because too many files have changed in this diff Show More