summaryrefslogtreecommitdiffstats
path: root/vnet
AgeCommit message (Collapse)AuthorFilesLines
2016-02-26Add support for native vpp_lite (non-dpdk) platformDamjan Marion11-38/+42
Change-Id: Icaa71957f67b923bc9795baa78c7495055615672 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-26Move dpdk (un)format functions to separate c fileDamjan Marion7-767/+806
Change-Id: Idb1b1bf6c1b3b3d66672cc715e45aec299fb7592 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-25Add support of Ethernet link bonding utilizing DPDK link bondingJohn Lo3-2/+61
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-25Fix indexing error in init.c for vnet dpdk.John Lo1-2/+2
Change-Id: I1bab9e8cf428b0d27edf98fa54ffc3edc32fd4f5 Signed-off-by: John Lo <loj@cisco.com>
2016-02-25Add live migration support to (non-dpdk) vhost-user driverYoann Desmouceaux2-8/+144
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-24Link the vpp application against libvnet.so, not libvnet.aDave Barach7-15/+39
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-24Enable all vrings if PROTOCOL_FEATURES are not negotiatedShesha Sreenivasamurthy2-5/+23
Change-Id: Ib785a2ffd2fcbe3a836dd59ad419bcc2fa298686 Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-02-24Handle dynamic enable/disable VHOST_USER interfaceShesha Sreenivasamurthy4-11/+29
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-23Enable DPDK KNI code based on DPDK configDamjan Marion4-1/+16
Change-Id: Iab579c4a7e615c723d10acf0532490cdaa6db05a Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-23Fix warnings in vhost-user code with older version of DPDKDamjan Marion1-1/+5
Change-Id: If76ef977e3914b51da0d6bb5e4089acb0bd67baa Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-19Handle dpdk packet_types properlyDamjan Marion2-14/+45
Change-Id: Ie13f92a21ed8b81775b1e9cbbf2619e752ab6a04 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-19Add custom mac address option to vhost interfaces.Pierre Pfister4-13/+30
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-19Per-interface, per-address-family fast packet filterDave Barach7-0/+1452
Change-Id: I122aa8edfb16a433a8ccdfb72ee8463c48c56d6d Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-18Add jumbo frames support to non-dpdk vhost interfaces.Pierre Pfister1-290/+229
This code provided inter-VM (2 cores per VM) throughput of 22Gbps using iperf through VPP (1 core) with 9k frames. With the same setup and pktgen running on both sides, it reached 5Mpps with no packets drop (Equivalent to before the patch). During the tests the average vector length was about 1, which likely means that VPP is not the bottleneck. The patch also includes some generic functions for vlib buffers allowing for chained buffer construction whether or not DPDK is enabled. Change-Id: Icfd1803e84b2b4578f305ab730576211f6242d6a Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-02-16Show DPDK EAL cmdline args in 'show version verbose'Damjan Marion2-0/+6
Change-Id: I88a8038a36e7e5060f354cd66a2532ef8c996b67 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-15Disable for-us udp/tcp checksum validation by defaultDave Barach3-4/+28
This patch alters behavior for dpdk rx packets. Depending on test results, it may be necessary to extend the scheme to packets received on non-dpdk paravirtualized interfaces, and packets originating in the vpp stack itself. Change-Id: I8444232a90ff176e7d6a688e36801174575251a1 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-14Implement multiple TX queue sharingDamjan Marion4-21/+46
Maximum number of TX queues ca be defined by NIC driver or configured manualy with 'dpdk { max-tx-queues X }'. If system have more worker threads than TX queues they will be shared between them. Before this change only one tx queue was used in such cases. Change-Id: Iab68170ab45fa6b9925fc4e79ccab9222f095e7e Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-12Fix ARP show exception when not ARP entries as found.Keith Wiles1-8/+11
The fix tests if the ARP table exist before attempting to interate over the entries. Change-Id: I22cad5ba3a01c3fba1feac33745a29ff1f7f8fe1 Signed-off-by: Keith Wiles <keith.wiles@intel.com>
2016-02-11Pull in some additional symbols that may be needed by plugins.Josh Gahm1-0/+4
Ensure that some additional rte_* symbols (from the dpdk library) and pulled into the vpp image so that they will be available to plugins. Also, provide vlib's dpdk configuration function so that plugins that need to make dpdk calls during initialization/configuration may ensure that dpdk itself is initialized first. Change-Id: Iff8b518c6fc23e9e2f24a85944e5b246c80e5f67 Signed-off-by: Josh Gahm <jgahm@cisco.com>
2016-02-11Use vppinfra bitmap for dpdk coremaskDamjan Marion1-6/+5
Change-Id: Iec5ebadf120f742f43a681c4d394aa97ad2ae1e1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-10Compile with -Werror, so Jenkins will catch warningsDave Barach1-1/+1
Change-Id: I9255c75b6c6cbc638cdcc411632a924cb06f28c0 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-10Replace AC_PROG_LIBTOOL with LT_INITDave Barach2-2/+2
Change-Id: I642c4b8e83dd07708658a10ad46e9fd2c28a7f1f Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-10Vhost multi-q supportShesha Sreenivasamurthy5-115/+415
Remove multi-q support patch for DPDK-2.1.0 Change-Id: I685f3886b3883803210221682fa80353670a6970 Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-02-10Clean up gcc-5.2 warningsDave Barach16-107/+74
Change-Id: I7b0aa42a61607d4d30fe3627032d3837b2838982 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-09SFF NSH support VXLAN GPEKeith Burns (alagalah)1-15/+115
Change-Id: I23dae9e13f6c2ec7b3326710a40f28984ff6fe1f Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-02-08Set vnet_buffer(b0)->sw_if_index[VLIB_TX]Dave Barach1-0/+3
Change-Id: I3274c8d426113c71fbb900978b94caef85eabae1 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-08Cisco Discovery Protocol, initial working attemptDave Barach8-1/+1489
There are multiple enhancement opportunities... Change-Id: I976772dc3802f8284e8c6457c001d68184831e25 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-04ip[46].h: Remove tcp referenceKevin Paul Herbert2-8/+0
This is not used. Remove it. Change-Id: I63f705db6bc10137d6e28977aa75e60f4e13cfe8 Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
2016-02-03p1.c: Remove log() symbolKevin Paul Herbert1-1/+0
This symbol is defined in the math library, and is a compiler built-in. Plug-ins that need it should link with -lm. Change-Id: I967c87ccea0e762b68ca59cfaa460f3d6e534a59 Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
2016-02-02Use per-thread vlib_mainShesha Sreenivasamurthy2-7/+11
Change-Id: I8bee9f6661878a74a0375944ac01c9cb3a0acfbf Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-02-01p1.c: Add symbols useful to IP protocol modulesKevin Paul Herbert1-1/+11
Add some symbols which are useful for clients of the IP layer. Change-Id: I26599a67bb9f89c883ac4ea6e630111dfac5e2c5 Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
2016-02-01remove igb_uio static pci id table patch, use new_id for all NICsDamjan Marion1-19/+5
Change-Id: I1db64d62c19c28b50f58f9d0b009e3e89e331f71 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-01Changed key of NSH VXLAN tunnel.Keith Burns (alagalah)1-1/+1
- simple patch before extending CLI for next encap tunnel lookup Change-Id: I56060185599252a1ae83cc162963b5fd5bc1b324 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-01-28Remove unused tcp.hKevin Paul Herbert3-399/+0
This was left out of 8f9e7d43d8b8e5495477e3a587f78409a4cf8808 inadvertently. Remove it now. Change-Id: I79625aeba400ccfdcfd972f454abd043c2537960 Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
2016-01-27Enable Chelsio T5 supportDamjan Marion3-2/+50
Change-Id: I4bb6ac36a8bc585677448f4b22bd1299630f95de Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-01-27Remove vestigal TCP implementationKevin Paul Herbert12-3437/+2
Eliot's TCP was never completed. Remove it. Change-Id: I8456ed02b55f5b3f0b93547533f7467dd2229c07 Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
2016-01-27vnet: Add field for transmit timeKevin Paul Herbert1-0/+2
Add a field in the buffer header for transmit time. High-level protocols need a consistent way to do this. Change-Id: Ifff60ee5e32eed7aa6f6ae8e6fb1dd9d7870e9ee Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
2016-01-27ip_checksum.c: Fixes for ip_csum_and_memcpy() alignment issuesKevin Paul Herbert2-53/+69
Add explicit support for incremental operations which may be on byte boundaries and misaligned. Since this is a memcpy() like function, it needs to be robust in all byte operations. Add code to perform the checksum 16 bits at a time when the destination buffer pointer is not naturally aligned. The previous code did support misaligned source data (via clib_mem_unaligned()), but didn't properly align the destination pointer. It would be possible to further optimize this by adding an optimzed move operation where the source is aligned on natural boundaries. Look at this as we optimize this function. At this point, I am concentrating on correctness. Change-Id: I2b0fd4795ec5c0ca294a733159c7355b54177690 Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
2016-01-27Fix l2output error-drop next node indexDamjan Marion1-4/+2
Change-Id: I8a79f683350b77bd56b44e37a099293033aadd15 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-01-26Set the ssvm_ethernet interface pid. Otherwise, the recursive lockDave Barach1-0/+1
check breaks in a horrible way. Change-Id: I5c2e69f89152a3f073e678354763086ac7bb7610 Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-25MAP: Ensure fragmented packets get from ip4_map to ip4_map_reass.Ole Troan1-4/+8
Change-Id: If253be8ca173070fb69ce2e43159a68bcfba5d08 Signed-off-by: Ole Troan <ot@cisco.com>
2016-01-25MAP: Fix handling of jumbo frames.Ole Troan1-3/+0
Change-Id: Iec59a766af6955e547f2355495204b92aa42bea7 Signed-off-by: Ole Troan <ot@cisco.com>
2016-01-22aarch64 CPU arch / ThunderX platform initial supportDave Barach8-6/+95
Change-Id: Ia2edd3cee2c25c26c7c47a9023744b97226434c7 Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-21PowerPC64-be arch support. Qemu ("qppc") platform support.Dave Barach6-1/+71
Change-Id: Ib0a05f9d1b08bacef09f6d7c101391737031ee0d Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-20Rename vpe binary name to avoid collision with latexDamjan Marion1-1/+1
Change-Id: I34a46b9ebbc0e36486fbef528b34ea1c3be2e8be Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-01-19Enhance and fix packet trace for IP forwarding as follows:John Lo5-4/+19
1. Add fib index to IP6 forwarding trace. 2. Display adjacency index in IP forwarding trace. 3. Fix adjacency display for L3 to L2 forwarding such as BVI and VXLAN tunnel decap. 4. Setup VXLAN tunnel fib index properly for packet trace. Change-Id: I261fea5abf51e2550d24cdcee53887be2fdd08de Signed-off-by: John Lo <loj@cisco.com>
2016-01-18Temporary remove inlines to unbreak compilation with GCC 5Damjan Marion12-23/+19
Change-Id: Ie1f85f61560eb5824064df27a6fbddb34e4bb5c9 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-01-17MAP: Updated rules generation script.Ole Troan2-23/+216
Added simple reflection health checker. Change-Id: I84472d334fcd243747f66bd8bd6aa5bc65d2e8f5 Signed-off-by: Ole Troan <ot@cisco.com>
2016-01-14hw0 used without initialization in when DPDK is undefinedShesha Sreenivasamurthy1-2/+3
Change-Id: I0d044669dbd57c9a25a4d917c0e3ab8fda5808aa Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-01-14Merge "Avoid crash in vhost-user driver when running multithreaded"Damjan Marion1-0/+6