622 Commits

Author SHA1 Message Date
Filip Tehlar
58f886ab9a Add CLI/API for clearing all remote mappings
Change-Id: I5aef12d3a9c8daefff52e5f958c504f5d2ff9fd0
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-31 18:50:39 +00:00
Andrej Kozemcak
6a2e4392e9 ONE-15: Fix duplicate locator, refactoring locator
Check duplication locator and clean after locator when remove it.
Refactoring locator_set code.

Change-Id: Ib83cbcddc7a363a60fa5b6a366203d0dc0ea7ca6
Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-05-31 14:48:22 +02:00
Filip Tehlar
d1c5cc3930 ONE-16: Locators are not properly cleaned
Change-Id: Ia6eaaa9a741e84cbd0ff957cfd9a7143a3d0a977
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-31 11:19:39 +00:00
Hongjun Ni
0e06e2b142 Add Dump API for VxLAN-GPE tunnel
Change-Id: I4913fe6c4b1280939147887896aea9b79a9f7f10
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-05-30 03:31:13 +00:00
Chris Luke
4b46c84901 VPP-84 af_packet retry on EAGAIN, count on errors
When af_packet signals the kernel that there are packets in the tx
ring with sendto() the kernel sometimes responds with EAGAIN.
Previously the af_packet driver would treat any error from sendto()
as fatal.

Whilst there's not much we can do about this, count the errors
and let's try to not die on the spot or sit in a loop forever.

Change-Id: Id76ba5e07b744f1ed6f348ec838a1ac506a381c9
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-28 16:34:39 +00:00
John Lo
1220afe52a VPP-96 ENID driver update for rx of jumbo pkts using muliple mbuf's
Change-Id: I0e985b079da3224f4886e3ee2cece4d046e291eb
Signed-off-by: John Lo <loj@cisco.com>
2016-05-28 15:47:11 +00:00
Hongjun Ni
473ec878f9 Fix VxLAN-GPE add_del API issue
Change-Id: I4210b3320d3fe841ba7ff1349b6a52affc047338
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-05-29 01:27:14 +08:00
Chris Luke
404be66978 VPP-95 VXLAN add_del API intermittent failure
The VXLAN add_del API sometimes rejects calls with
VNET_API_ERROR_SAME_SRC_DST when the two parameters are obviously
different. This is because the API code is checking the "is_ip6" flag in
a not-yet initialized area of memory leading to random results.

Also fix help text for vxlan_add_del_tunnel in vat.

This does not change the API; it repairs intermittent failure.

Change-Id: I41863694f478c1f669078f82f69d8cca4841c989
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-27 12:13:51 -04:00
Damjan Marion
68c69d8967 Fix dpdk march/mtune defaults
Change-Id: I6e6940c8467a331b37da153bb8a2154c1d165261
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-27 10:17:45 +02:00
Filip Tehlar
f747cd8b9b Add show command for LISP map resolvers
Change-Id: I3ed6269f9a307b50b56ce04defc2576a139c6add
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-26 16:47:11 +02:00
Damjan Marion
64ae669038 Move dpdk startup config data to separate struct
This is preparation work for moving DPDK
EAL and mempool initialization to vlib.

Change-Id: I2dc35aa53edec0e07fc2650d630aa625831154c3
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-25 18:45:07 +02:00
Andrej Kozemcak
94e34764b4 ONE-14: Fix crash when re-enable Lisp
Change-Id: Ib95338d7055dea9036eddb7dff5ca7ccbcb35639
Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-05-25 13:34:53 +02:00
Hongjun Ni
df921cc65a Add Vxlan-Gpe over IPv6
PatchSet4: consolidate code as per comments.

PatchSet3: simplify the code using ip_udp_encap_one/two

PatchSet2: consolidate comments and indent style

Change-Id: Ia8b43f854a46d77e838e198566200ad28fd72472
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-05-25 10:42:43 +00:00
Marek Gradzki
c4cb44c05d VPP-86: fix array copy in generated JNI code
Change-Id: Ic67b3c0623d98c5ee3f1ffa1e1bd9cfb96b233bd
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-05-24 15:44:28 +00:00
Hongjun Ni
4a71314e0b Fix an issue in format_vxlan_gpe_tunnel
Change-Id: Ib283c75505b787f715e34f5b325dda8a6c2fa125
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-05-24 02:54:10 +08:00
Damjan Marion
b4d8927ac3 Native VPP driver for Intel Niantic family of NICs
Available only in vpp_lite platform

Change-Id: I09d112af5f7f4521ec25196ecdd8c02c20eedd5f
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-23 22:22:39 +00:00
Todd Foggoa
e3eefff5b3 Move rte_delay_us_override so it overrides DPDK
The current location in the vnet dynamic library does not override the dpdk
weak function as intented. Moving this function to the main app allows the
linker to find the non-weak symbol and override it.

Change-Id: I96c6dc5af2e511cc1f84bd66419c5a4ac96a9541
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-05-23 21:16:45 +00:00
Dave Barach
e36af5f315 Create /plugins directory, move sample-plugin
Change-Id: Ia58923c7c98dc04c027c8c5879a4dc5f5b144b8a
Signed-off-by: Dave Barach <dave@barachs.net>
2016-05-23 11:02:11 -04:00
Pierre Pfister
78ea9c2869 VPP-81: Print interface name after creating an interface with CLI
When the CLI is used to create an interface, and whend the operation
succeeds, the newly created interface name is printed-out.

The patch includes the following interfaces types:
- AF_PACKET
- Vhost User
- Netmap
- GRE
- L2TP
- MPLS-GRE
- Loopback

Change-Id: Id518c139ec63a261eae81d2ed95c4cd1f10b5157
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-05-23 14:46:13 +00:00
Filip Tehlar
53f09e36f9 Add LISP RTR support
Change-Id: I8a3770f8f1cd1fde6765b81d35aacaaf4ff98b82
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-23 09:15:39 +02:00
Tibor Sirovatka
071d610dc4 Changed JVPP interface for construction and connectivity
Simplified construction, autoconnected; possible connect/close
See updated sample test cases with changed interface usage

Change-Id: Ib53e855880bc414868aa2b9bb8f5df086917e375
Signed-off-by: Tibor Sirovatka <tsirovat@cisco.com>
2016-05-23 06:25:05 +00:00
Dave Barach
6931f59e54 Add per-thread, per-node runtime stats serialization
Change-Id: Ic4009cdbac67b7cd53c88079439496b9d9dfaa35
Signed-off-by: Dave Barach <dave@barachs.net>
2016-05-21 10:04:06 -04:00
Dave Barach
6f7b992f56 VPP-80: netmap binary API message element name collision
if_name collides w/ ietf-interfaces.yang member name, causing a build-break
in an existing yang-model-based app. Rename to "netmap_if_name".

Change-Id: Id386eacd77343dd15a868c28dacd2b0e4523bc9b
Signed-off-by: Dave Barach <dave@barachs.net>
2016-05-20 14:44:10 -04:00
Dave Barach
b635c567d1 VPP-79: fix cross-compilation build break
.../packages/dpdk.mk must not set $(TARGET). The Makefile fragment
really only needed to use a temporary variable to control the
dpdk Makefile. Simple fix: set $(DPDK_PLATFORM_TARGET) instead.

Change-Id: Ieb61b603bc36ed708a1b1237dc6bc503e90a0b7b
Signed-off-by: Dave Barach <dave@barachs.net>
2016-05-20 17:46:12 +00:00
Chris Luke
d686c632d1 VPP-77 Creating VXLAN over IPv6 via API fails
Tunnel dst is incorrectly being set to the requested src address.

Change-Id: I44e2ee475f0572e78d148951c5d4684e85e08ce7
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-20 12:15:30 -04:00
Matus Fabian
e855480acd Add policer dump API
JIRA: VPP-67

Change-Id: I8fced60a884f1585b1f51002832d47631eea9571
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-20 01:15:32 -07:00
Chris Luke
270b6dee8c VPP-74 Fix signedness issue when terminal resizes
When re-locating our current viewport into the pager buffer we need to
verify that the new viewport is within the boundaries of the index.
This condition is considered very rare, but nontheless the check is needed.

Unfortunately I assumed the variable was signed; it is not, and the
subtraction can in some cases cause the value to be negative. This is
therefore a bonafide semantic error that may cause problems.

This patch reworks the logic to avoid having to change it to be signed.

Change-Id: I26f0747d38dcc43dd9c092d50f2489b122009e7b
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-19 14:35:03 -04:00
Damjan Marion
fd9014a184 Remove unused PCI code
Change-Id: I1d91c9982823758059f9d6aa699982253930e7ba
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-19 17:57:01 +00:00
Damjan Marion
1c80e831b7 Add support for multiple microarchitectures in single binary
* compiler -march= parameter is changed from native to corei7
   so code is always genereted with instructions which are available
   on the Nehalem microarchitecture (up to SSE4.2)

 * compiler -mtune= parameter is added so code is optimized for
   corei7-avx which equals to Sandy Bridge microarchitecture

 * set of macros is added which allows run-time detection of available
   cpu instructions (e.g. clib_cpu_supports_avx())

 * set of macros is added which allows us to clone graph node funcitons
   where cloned function is optmized for different microarchitecture
   Those macros are using following attributes:
     __attribute__((flatten))
     __attribute__((target("arch=core-avx2)))

   I.e. If applied to foo_node_fn() macro will generate cloned
   functions foo_node_fn_avx2() and foo_node_fn_avx512() (future)
   It will also generate function void * foo_node_fn_multiarch_select()
   which detects available instruction set and returns pointer to the
   best matching function clone.

Change-Id: I2dce0ac92a5ede95fcb56f47f3d1f3c4c040bac0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-19 18:14:38 +02:00
Matus Fabian
82e29c4558 Add netmap API
JIRA: VPP-66

Change-Id: I421529fa8eafe5268745a34a4fcd40156defcdf8
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-18 17:14:46 +00:00
Damjan Marion
5a206eafdb Rework of the old PCI code
* adds support for VPP native PCI drivers using
   standard uio_pci_generic kernel driver
 * adds generic PCI interrupt callback
 * splits code to generic PCI handling and linux specific
 * adds new debug cli 'show pci [all]'

Change-Id: I447c2285e319e9725d70688c1b70c9dedda51fdc
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-18 13:13:27 +00:00
Ed Warnicke
a2a48305df Set java artifact versions to 16.09 for master
The nature of Java artifact versioning is different
that rpm/apt versioning in that artifacts are
traditionally numbered:

${NEXT_RELEASE_NUMBER)-SNAPSHOT

This patch sets ${NEXT_RELEASE_NUMBER) correctly for master.

Change-Id: Iab34c26c7440d5e04d6d05f46598832e9adf6920
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-17 23:57:07 +00:00
Christophe Fontaine
737547efc3 dpdk/Makefile - Allow dpdk target to be set according to the platform
Allows DPDK parameters to be overriden from the platform
definition.

$(PLATFORM)_dpdk_arch = "armv7a"
$(PLATFORM)_dpdk_target = "arm-armv7a-linuxapp-gcc"
$(PLATFORM)_dpdk_make_extra_args = "CONFIG_RTE_EAL_IGB_UIO=y"

Change-Id: I8c0f233942744cb82ca3ed2d65e33acee845cb4e
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-05-17 19:39:25 +00:00
Christophe Fontaine
95c8415531 dpdk/build - 32bits compilation
In vnet/vnet/devices/dpdk/device.c, post 2 event data instead of
merging them into 1 u64.

Change-Id: I8b1d61b894279fb6eb57bb82a05affc14360e6b8
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-05-17 19:24:17 +00:00
Christophe Fontaine
144a90f2e1 dpdk/init - Add compatibility to non numa architecture
On non numa aware platforms, the path "/sys/devices/system/node/node%u"
does not exist: the "free_hugepages" count is available in "/sys/kernel/mm/".

Change-Id: Id62018a2bd0937d267663699c620e89d02c26a72
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-05-17 19:15:15 +00:00
Damjan Marion
2df2e999fb Fix output feature issue where opque field is already used by previous node
Change-Id: I1470993668fa8c740229149bbb227bd1e410d5ab
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-17 18:34:09 +00:00
Christophe Fontaine
9341a1f850 vppinfra - ARM: cycle count 64bits register is only available on ARMv8
Change-Id: I7d622e591020a482af68667f4d1ed2056258d2c8
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-05-17 18:20:10 +00:00
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>
v16.09-rc0
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