14028 Commits

Author SHA1 Message Date
Jean-Mickael Guerin
433688dbdc build: fix call to mkdir
Seen during build:
/bin/bash: line 1: @mkdir: command not found

Remove the extra prefix '@', this line is part of a
single operation actually.

Change-Id: I5fc265ae7c2dda01c61b369803d3c30a42a91f70
Signed-off-by: Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
2016-03-07 10:52:58 +01:00
Bud Grise
02301ef863 Allow dpdk linkstate and stat polling intervals to be set dynamically.
Change-Id: I6aa662e060f7ce01a4dd80ae2498dc91a8b65a8e
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-03-04 22:08:53 +00:00
rangan
2375fbd89d Modified ioam CLI syntax to conform with other CLIs
Change-Id: I384d7b2cdbb63b5ca904db5a11c8b8748f7197b9
Signed-off-by: rangan <rangan@cisco.com>
2016-03-04 20:50:24 +00:00
Shesha Sreenivasamurthy
9455084c7f Collect per Q stats for vhost-user interface
Change-Id: I394960c300ff7a81c4c8e05afd5a4175e66666eb
Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-03-04 20:49:08 +00:00
Jean-Mickael Guerin
8e94c2a080 vppinfra: remove generated config.h.in
Change-Id: I04f53789bf1f39fdf16bc813280b24144fedd020
Signed-off-by: Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
2016-03-04 19:23:07 +00:00
Maros Marsalek
ccda178868 gitignore
Change-Id: I59c4711fce1999b4bd23f0a0bac41aa14ca716f5
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-03-04 16:36:59 +00:00
Damjan Marion
522e4864b9 Add CPU detection functions
Change-Id: Id7ea0410d6a789000c747c36a7e50076e31dc29a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-04 15:02:27 +01:00
Damjan Marion
196cb3d82a Use xxhash in map code when SSE4.2 not available
Change-Id: If4fb86cfeeaf35f3ae89946b437ce5160adbce94
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-04 13:47:01 +00:00
Damjan Marion
01be6a0cb1 Refuse to start if binary requires unavailable CPU extensions
Change-Id: I4d0d152b6f5d4ba566398fcccaa6a1f96625f864
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-03 21:22:03 +00:00
John Lo
73f7ef8ab7 Change default L3 MTU to allow jumbo packets for non-DPDK interfaces.
Note that L3 MTU for DPDK interfaces is derived from DPDK port_conf
in vnet/devices/dpdk/init.c.

Change-Id: I9633a1887347a18d05598435baceb6a62cd7b19a
Signed-off-by: John Lo <loj@cisco.com>
2016-03-03 19:29:31 +00:00
Nikhil P Rao
8a33f31baa Copy flags when cloning next_frames
The VLIB_FRAME_NO_FREE_AFTER_DISPATCH flag is not preserved when cloning
next_frames, as a result VLIB_FRAME_FREE_AFTER_DISPATCH can
erroneously be set for a frame (see vlib_get_next_frame_internal())

Change-Id: Ice1d7ddcb807e1168aa0c157d9474be492d102c2
Signed-off-by: Nikhil P Rao <nikhil.rao@intel.com>
2016-03-03 19:12:06 +00:00
Damjan Marion
7e437bce90 Use CRC32 instruction only when build for SSE4.2 enabled platforms
This fixes SIGILL crash observed on Penryn CPU

Change-Id: I960878d88f0f088847d4d86605ef082f6600e2c7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-03 18:42:44 +01:00
John Lo
76f78ec39a Fix UDP length check for local IP/UDP lookup and error handling.
Change-Id: If6695e19e5a1e5471e56099e2cf31794c73f3303
Signed-off-by: John Lo <loj@cisco.com>
2016-03-03 00:25:54 -05:00
Ole Troan
2df2e3d7d5 TAP: Jumbo-frame support.
Change-Id: I3a0726d7645f775738253d0a47ee04d94d138c9a
Signed-off-by: Ole Troan <ot@cisco.com>
2016-03-02 22:26:41 +00:00
Todd Foggoa
287d53f44d Always showing DPDK physical memory on bootup
Fixing a previous commit to remove the commandline option and just
always display the DPDK physical memory on startup. Also remove
the DPDK args for the dbeug image.

Change-Id: I9336a2a26ebab84c3b50ae0610025c29da7995f2
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-03-02 13:58:28 -05:00
Bud Grise
8fbd37edac Add rotates to v6 worker hash to prevent SIP/DIP synchronizing.
Change-Id: Ibe8ec6271b3f04290a60c0145e59a01d3130500f
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-03-02 17:23:29 +00:00
Dave Barach
dc03cf4eb4 Remove spurious call to unix_physmem_init(...)
It turns out that unix_physmem_init(...) has been effectively disabled
for a very long time. The vnet library supplied a weak symbol override
for the vlib_app_physmem_init(...) which returned 1, meaning "do
nothing." When we switched libvnet.a -> libvnet.so, the symbol
override stopped working.

Presto: unix_physmem_init(...) romps all over the data set up by
vlib_buffer_pool_create(...), leading to ASSERT failures and/or bus
errors, but only when using worker threads. Even then, the failure
depended in some complicated way on library dynamic load order.

We should remove .../vlib/vlib/unix/physmem.c entirely once we're sure
we'll never want it back.

Change-Id: I27747edbeb0de88d2f2d8728f7f8eb3135e7f0cf
Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-02 09:48:19 -05:00
Sean Hope
98efd02119 Dump DPDK physmem to stdout before allocating mbufs
Change-Id: I9dac27dc8b6b95cfb0ee77e3cff18240b4ec21d6
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-03-01 10:16:42 -05:00
Christian Dechamplain
2073cfe1e6 Add ability to filter and change MACs
Added new functions to change the MAC address and filter multicast MAC
addresses.

Change-Id: Iddf518e57dc889800a2f706fda51ee4e5c5142f2
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-03-01 09:52:15 +00:00
Georgi Savov
3a03598aab Fix for TX and RX descriptor queue lockup
On admin up/down changes the TX and RX queues were getting locked
up for VNET_DPDK_PMD_VMXNET3 interfaces. The fix is to ensure the
interface is in admin down before touching the hardware.

Change-Id: Ia264d95355a860607bff7ada00d2be48f91e6dd9
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-03-01 01:22:42 +00:00
Sean Hope
679ea79515 Add ability to override the interface name.
Export interface format functions to plugin and allow ability to
show a single hardware interface index.

Change-Id: If52fae2d63e97da91e1ac9a9a6fb73389b526ebc
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-02-29 15:41:33 -05:00
Pavel Kotucek
988a7c482c Fixed vxlan link status.
Vxlan interface link status corresponds to admin status.
When vxlan interfcae is set "admin-up" link status is "link-up" and if interface is set "admin-down" link status is "link-down" also.

Change-Id: Iaa85fa8dcd672519312cc7ee6a17df6f4498259d
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-02-29 19:05:09 +00:00
Dave Barach
8a4a781e96 -O3 warnings be gone
Note that compiling -O3 doesn't improve performance as of this
writing, might as well clean up warnings in any event.

Change-Id: Ic2f4982d12fbbf36f5324075183982731759dc94
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-29 09:45:28 -05:00
Damjan Marion
802c7fae4d Invert matching logic for *_uses_dpdk in build-data/packages/*.mk
Change-Id: If07a74afd92196c035d720cedaac36493a09e400
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-27 00:13:18 +01:00
Bud Grise
d56a6f59e9 Add packet tracing hint
This avoids checking the buffer flags bit if tracing is not enabled.

Change-Id: I32e1a90b5fd10318254c611344488bc2a441c71e
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-02-26 21:01:17 +00:00
Pavel Kotucek
060c6fc0b5 Fixed issue with json output in vpp_api_test.
When it runs 'exec' command string "(nil)" is appended to the end of the
console output.

Change-Id: I7cdae78b2166829dd2160e92ed8181203eb491ed
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-02-26 20:48:04 +00:00
John Lo
8b4d82cd4f Fix ENIC PMD not sending the first packet on TX.
Change-Id: I615e9ca6f445092baa211098eb64f9553dd4c407
Signed-off-by: John Lo <loj@cisco.com>
2016-02-26 20:42:04 +00:00
John Lo
a0fac5ac19 Fix link bonding PMD slave status polling path used by VIC ENIC driver.
Change-Id: Ic9fc952b618477beb246974b33d753bf6fd47dde
Signed-off-by: John Lo <loj@cisco.com>
2016-02-26 20:42:04 +00:00
Damjan Marion
308fb98220 Update PowerPC (qppc) platform to build with Ubuntu cross-tools
Standard Ubuntu PowerPC toolchain can be installed with:

  apt-get install crossbuild-essential-powerpc

And code can be built with:

  make PLATFORM=qppc TAG=qppc ...

Change-Id: I247355fc89fd61aedb8693156e84c454ca86eb75
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-26 19:48:10 +01:00
Damjan Marion
e936bbe594 Add support for native vpp_lite (non-dpdk) platform
Change-Id: Icaa71957f67b923bc9795baa78c7495055615672
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-26 13:17:30 +01:00
Damjan Marion
7f620976e2 Move dpdk (un)format functions to separate c file
Change-Id: Idb1b1bf6c1b3b3d66672cc715e45aec299fb7592
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-26 00:16:33 +01:00
John Lo
d9bf9abbab Add support of Ethernet link bonding utilizing DPDK link bonding
poll mode driver library. The bonded interfaces to be created on
VPP startup is specified in the dpdk section of startup.conf
or qn.conf, using DPDK EAL command. Following is an example of a
dpdk section white listing PCI addressses of 4 ethernet interfacess
to be under VPP control plus two bonded interface and the PCI addresses
of the slaves in each:
dpdk { socket-mem 1024,1024
dev 0000:0f:00.0 dev 0000:10:00.0 dev 0000:11:00.0 dev 0000:12:00.0
vdev eth_bond0,mode=2,slave=0000:0f:00.0,slave=0000:11:00.0,xmit_policy=l34
vdev  eth_bond1,mode=2,slave=0000:10:00.0,slave=0000:12:00.0,xmit_policy=l34
}
Note that only balance XOR (mode 2) is supported and "xmit_policy=l34"
specifies to use layer 3 SIP/DIP and layer 4 Sport/Dport for load
balance. Using "xmit_policy=l2" for SMAC/DMAC or "xmit_policy=l23" for
SMAC/DMAC and SIP/DIP should also work.

Change-Id: Iaf6438686fa20cce893cb5a823b76e2886b4360b
Signed-off-by: John Lo <loj@cisco.com>
2016-02-25 17:55:16 +00:00
Damjan Marion
ebb27fb480 add install-dep target to toplevel Makefile
Change-Id: I9dbe6676086ef083729bec1774f544498d1ec3e5
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-25 15:55:23 +00:00
John Lo
1c32a89ea4 Fix indexing error in init.c for vnet dpdk.
Change-Id: I1bab9e8cf428b0d27edf98fa54ffc3edc32fd4f5
Signed-off-by: John Lo <loj@cisco.com>
2016-02-25 10:22:59 -05:00
Yoann Desmouceaux
4667c229a0 Add live migration support to (non-dpdk) vhost-user driver
This patch adds live migration support to vhost interfaces, by supporting the VHOST_F_LOG_ALL feature. When qemu starts a migration, it will negotiate this feature, and provide a fd for a "dirty log" shared mem space. This log is a bitmap representing pages in the device memory.
Whenever we touch memory pointed by a "desc" vring, or modify a "used" vring, we log the corresponding page in the bitmap. This allows qemu to send the dirty page to the destination host.
See https://github.com/qemu/qemu/blob/master/docs/specs/vhost-user.txt, § "Live migration" for more details.
In addition to this, this code provides support for the VHOST_USER_F_PROTOCOL_FEATURES feature, and to VHOST_USER_{GET,SET}_PROTOCOL_FEATURES and VHOST_USER_SET_VRING_ENABLE messages, required for live migration.

Change-Id: I7577efce8bd67653218f4291af1d651de451e552
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
2016-02-25 13:53:14 +00:00
Dave Barach
1f49ed666a Link the vpp application against libvnet.so, not libvnet.a
Turn of srp, mainly as an example of how to restructure a featurette
for selective disablement.

Change-Id: Id3364c58a8711b103939f4434adfa67177380f67
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-24 11:30:44 -05:00
Shesha Sreenivasamurthy
9f50b0b5b1 Enable all vrings if PROTOCOL_FEATURES are not negotiated
Change-Id: Ib785a2ffd2fcbe3a836dd59ad419bcc2fa298686
Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-02-24 12:06:06 +00:00
Shesha Sreenivasamurthy
9ad5adcf08 Handle dynamic enable/disable VHOST_USER interface
If number of Qs enabled by the guest is less
    than number of Qs exported to guest, then all
    threads route packet to Q0 with the assumption
    that guest is not interested in performance.
    If all Qs are enabled, each thread queues packet
    in their own TX-Q of the VHOST_USER interface,
    boosting performance.

Change-Id: Ic24bb8c0505b11c7513aeecd21c9ec5da5f90138
Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-02-24 12:05:20 +00:00
Damjan Marion
eef4d99bcd Few improvements in toplevel Makefile
Change-Id: I896aed32499cd7159c4b6f3b165cab4e579f6153
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-23 22:05:49 +01:00
Damjan Marion
e90892e063 Enable DPDK KNI code based on DPDK config
Change-Id: Iab579c4a7e615c723d10acf0532490cdaa6db05a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-23 20:41:32 +00:00
Damjan Marion
4ee137baf8 Fix warnings in vhost-user code with older version of DPDK
Change-Id: If76ef977e3914b51da0d6bb5e4089acb0bd67baa
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-23 19:23:44 +01:00
Yoann Desmouceaux
ca0f3b3a43 dpdk: fix enic pmd driver tx function
Adding a patch to fix DPDK 2.2.0 enic PMD driver TX function.

The enic PMD driver send function uses a constant offset instead of relying on the data_off in the mbuf to find the start of the packet.

Change-Id: Ic4f3be83865367306785a57e2694e0ccfa295c7b
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
2016-02-22 13:27:50 +00:00
Pavel
84e4ffeaf1 Added MTU information to sw_interface_dump
Change-Id: Ie69837fd6903b715cb7b840b67c869a9b12c84a7
Signed-off-by: Pavel <pavel.kotucek@pantheon.tech>
2016-02-22 09:45:02 +01:00
Robert Varga
e1cfcbcda6 Rebalance checkConnected()
AtomicBoolean forces the enclosed boolean to be cache-aligned,
needlessly hitting a cacheline. Since we only flip state only once,
when the connection is severed, we can turn this into a volatile
boolean.

Doing that is costing us a synchronized close(), but that is perfectly
acceptable, as that is called only once.

Change-Id: I76fda3d3f65a5f800e7d3970b0b8fe99fb3e8b6d
Signed-off-by: Robert Varga <nite@hq.sk>
2016-02-19 21:02:59 +00:00
Damjan Marion
9b7057fe36 Handle dpdk packet_types properly
Change-Id: Ie13f92a21ed8b81775b1e9cbbf2619e752ab6a04
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-19 18:40:59 +00:00
Pierre Pfister
ef65cb0696 Add custom mac address option to vhost interfaces.
Generating a new MAC address everytime vpp reboots can quickly
become cumbersome (e.g. in test scenarios).
This commit allows vhost mac addresses to be configured
manually.

Change-Id: Ic6d16a2d14cdf8e49dc29041bbafde39d9fc8370
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-02-19 15:58:07 +00:00
Dave Barach
b44e9bc90b Serialize and upload the data plane node graph
Include node names and graph arcs. Prep work for uploading node
runtime data, so the latter can be reported in a comprehensible
manner.

Change-Id: I215b1f8cff244200c37c7e088f1f22229dc97eb6
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-19 09:06:46 -05:00
Dave Barach
c07bf5d503 Per-interface, per-address-family fast packet filter
Change-Id: I122aa8edfb16a433a8ccdfb72ee8463c48c56d6d
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-19 11:10:32 +00:00
Yoann Desmouceaux
3c4869cdfa dpdk: fix enic pmd driver tx function
Adding a patch to fix DPDK enic PMD driver TX function.

The enic PMD driver send function uses a constant offset instead of relying on the data_off in the mbuf to find the start of the packet.

Change-Id: I74dbcce949f08e39070a369d992a90586af140a6
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
2016-02-19 10:56:13 +00:00
Keith Burns (alagalah)
525d5957f0 Add GDB and GDB Server to bootstrap files
Validated following images used do not contain gdb, gdbserver:
puppetlabs/centos-7.0-64-nocm
puppetlabs/ubuntu-14.04-64-nocm

Note that centos7 does not include emacs

Change-Id: I091a64a7c667e081574763537de724f9feaae0dc
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-02-19 06:52:26 +01:00