summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-03-22tapcli: Receive vector of packets and memory leak fixPierre Pfister2-148/+183
tapcli interfaces were creating single-packet frames. It now calls readv until the frame is full, or readv returns error EAGAIN. This is usefull when a significant amount of traffic flows through tap interfaces. This patch also fixes a memory leak by correctly initializing b->clone_count to zero. Change-Id: I15e435ba76d542be2f263274e76297425cd10243 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-03-21Unbreak build on gcc-5Damjan Marion1-1/+1
Change-Id: I0dc5f48ade786b60b34441c30f3de5b9f373d714 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-20vnet classifier debug CLI enhancementsDave Barach6-10/+235
Extensible next-index and opaque unformat function scheme. Added next-index-by-node-name and sw_if_index->opaque functions. Allow dynamic graph arcs to be added to ip4/6-inacl. Change-Id: Ie434335399a0708772eb82563a154df19c63b622 Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-19* Added support to configure trace type as arangan3-60/+497
configuration parameter. This can be any combination of nodeid, interface indices, timestamp and appdata. This configuration is passed through packet header by encap node to all other nodes. Rewrite buffer is resized accordingly. Trace function modified accordingly. * Added CLI 'show ioam summary' command to display various configuration. * Added CLI 'clear ioam rewrite' Change-Id: Ide4c85f8b22561303df48519c5ea59668a300188 Signed-off-by: rangan <rangan@cisco.com>
2016-03-19cosmetic: indent codeDave Barach1-3/+1
Gerrit wouldn't merge the previous attempt, so let's just make the pain go away... Change-Id: Ia008d43f755b6e3a5f4c699de365d241bf361aa9 Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-19Add llc_init in osi_init to ensure init order dependencyNagaprabhanjan Bellari1-0/+7
Change-Id: I5cb2a319384e49a072d75f3ea05e6fb92e381c23 Signed-off-by: Nagaprabhanjan Bellari <nagp.lists@gmail.com>
2016-03-19Adminis-trivia - rename skel filesKeith Burns (alagalah)20-35/+35
- rename skels so M-x skel-<tab> gives catalog Change-Id: Ice25a4ce4d02d09e076f0de51e8443cfab20688d Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-03-18add ctags and cscope files to .gitignoreDamjan Marion1-0/+4
Change-Id: I047cc41a5d0c4a6e4191ca35c505ff21236abcfa Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-18Add -y to apt-get install for install-dep targetEd Warnicke1-1/+1
This allows install-dep to be run non-interactively Change-Id: I5c3e55958ed16dd3d128bbad9f317d9f2428d41a Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-03-18Fix longstanding next-frame clone bugDave Barach1-6/+0
Do not propagate flags into cloned vlib_next_frame_t's. vlib_next_frame_init(...) sets nf->frame_index to ~0. If it turns out that the original flags include VLIB_FRAME_IS_ALLOCATED, the wheels fall off. And so on. Change-Id: I8de18653acfcc8eb20cee36f4eb5b9e82234f21b Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-18vnet_classify: Handle non-aligned vectors and various bugfixesPierre Pfister2-98/+136
classifier used to crash when packet data was not aligned. This commit also includes: - writer lock initialization bugfix - CLI help was missing opaque-index - ip_input_acl was applying the mask on buffer->data instead of packet head On a side note, my tests failed to show any improvements when using SSE. Further tests might be interesting to see if they actually perform better. Change-Id: Ic34eecd6a2226919121ffce2fe4324506deee52f Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-03-18Make adjacencies shareableDave Barach5-11/+235
Change-Id: I620871ca715b751d2e487f37341b7118797c9176 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-17Bring back p1.c so plugins can see DPDK symbolsTodd Foggoa3-95/+16
Change-Id: Ia450c9bc6d00fbd054d41a462366f826121d781d Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-03-17Reincarnate call to unix_physmem_init() for non-dpdk useDamjan Marion1-0/+3
Change-Id: Iaa3da32060e78bbc505ee84a2a6393f899aa110e Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-17Don't stop binding pci device if write to new_id failsDamjan Marion1-2/+0
In some cases write to new_id fails but binding is still possible. Change-Id: I1944eab4326a08e85e83cd5cd7379c6a4d03d98d Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-17Few additions to top-level MakefileDamjan Marion1-14/+34
* Added option to specify target platform (e.g. export PLATFORM=vpp_lite) * Added ctags targed to (re)build ctags database * Added cscope targed to (re)build cscope database Change-Id: I93feb7b458abe9fbd93000f75b7be24e3865f089 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-16af_packet: vec functions should not be used on poolDamjan Marion3-5/+5
Change-Id: Ifc67db0575a7517ac24519894996906ea44ead67 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-16Add VLIB_INIT_FUNCTION() to dual-loop-skelDave Wallace1-0/+13
Change-Id: I4aafad8a3e4c0c57eef1940fac8debfb80bbb137 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2016-03-16Add vpp native linux kernel AF_PACKET interface supportDamjan Marion9-1/+920
This is 1st drop of VPP native driver for linux AF_PACKET. New CLI: create host-interface name <host-if-name> [hw-addr <mac-address>] References: - Documentation/networking/packet_mmap.txt in the Linux kernel tree - man 7 packet Known issues: - attaching to linux bridge doesn't work - it is not expected to work in multicore setup Change-Id: I1cb1c3d305f349759e90e76e25696718b73bd73d Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-14Declare node, hw_interface_class and device_class instances as externalDamjan Marion10-13/+13
This fixes issue observed on Ubuntu 16.04 where dynamic loader is not finding correct instance of specific structure. Change-Id: I618d0933c7e171b8a9b40495b36894785af7790a Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-14fix declaration of symbol of different sizeJean-Mickael Guerin27-64/+58
I got many warnings at the link step with gcc version 5.3.1 20160225 (Ubuntu 5.3.1-10ubuntu2): /usr/bin/ld: Warning: size of symbol `cop_input_node' changed from 112 in vnet/cop/.libs/cop.o to 168 in vnet/cop/.libs/node1.o /usr/bin/ld: Warning: size of symbol `ethernet_input_node' changed from 112 in vnet/.libs/interface.o to 136 in vnet/ethernet/.libs/node.o /usr/bin/ld: Warning: size of symbol `l2output_node' changed from 112 in vnet/l2/.libs/l2_efp_filter.o to 120 in vnet/l2/.libs/l2_output.o /usr/bin/ld: Warning: size of symbol `srp_input_node' changed from 112 in vnet/srp/.libs/format.o to 136 in vnet/srp/.libs/node.o /usr/bin/ld: Warning: size of symbol `vxlan_encap_node' changed from 112 in vnet/vxlan/.libs/vxlan.o to 128 in vnet/vxlan/.libs/encap.o /usr/bin/ld: Warning: size of symbol `vxlan_input_node' changed from 112 in vnet/vxlan/.libs/vxlan.o to 144 in vnet/vxlan/.libs/decap.o ... Looking at vlib_node_registration_t, I think the reason is that the char * next_nodes[] could be bigger where the variable is defined in .c file. We should mark global variables as external in header files. Some of them can be made static. Change-Id: Ieb6961fd08180c9a69e1d884852703f3eb23f23f Signed-off-by: Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
2016-03-14dpdk: fix link errorJean-Mickael Guerin1-1/+1
/usr/bin/ld: -f may not be used without -shared collect2: error: ld returned 1 exit status Indeed an extra "-fPIC" is given to ld, see the -Wl,-fPIC below: gcc -pie -fPIC -pthread -march=native -DRTE_MACHINE_CPUFLAG_SSE -DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSE3 -DRTE_MACHINE_CPUFLAG_SSSE3 -DRTE_MACHINE_CPUFLAG_SSE4_1 -DRTE_MACHINE_CPUFLAG_SSE4_2 -DRTE_MACHINE_CPUFLAG_AES -DRTE_MACHINE_CPUFLAG_PCLMULQDQ -DRTE_MACHINE_CPUFLAG_AVX -DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSE3,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG_AES,RTE_CPUFLAG_PCLMULQDQ,RTE_CPUFLAG_AVX -I/home/jmg/dev/vpp/build-root/install-vpp_debug-native/dpdk/include -include /home/jmg/dev/vpp/build-root/install-vpp_debug-native/dpdk/include/rte_config.h -O3 -W -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -D_GNU_SOURCE -Wl,-Map=test.map,--cref -o test commands.o test.o test_pci.o test_prefetch.o test_byteorder.o test_per_lcore.o test_atomic.o test_malloc.o test_cycles.o test_spinlock.o test_memory.o test_memzone.o test_ring.o test_ring_perf.o test_pmd_perf.o test_rwlock.o test_mempool.o test_mempool_perf.o test_mbuf.o test_logs.o test_memcpy.o test_memcpy_perf.o test_hash.o test_thash.o test_hash_perf.o test_hash_functions.o test_hash_scaling.o test_debug.o test_errno.o test_tailq.o test_string_fns.o test_cpuflags.o test_mp_secondary.o test_eal_flags.o test_eal_fs.o test_alarm.o test_interrupts.o test_version.o test_func_reentrancy.o test_cmdline.o test_cmdline_num.o test_cmdline_etheraddr.o test_cmdline_portlist.o test_cmdline_ipaddr.o test_cmdline_cirbuf.o test_cmdline_string.o test_cmdline_lib.o test_red.o test_sched.o test_meter.o test_kni.o test_common.o test_devargs.o virtual_pmd.o packet_burst_generator.o test_link_bonding.o test_link_bonding_mode4.o test_link_bonding_rssconf.o test_pmd_ring.o test_pmd_ring_perf.o test_cryptodev_perf.o test_cryptodev.o test_kvargs.o -Wl,-pie -Wl,-fPIC -Wl,--no-as-needed -Wl,-export-dynamic -L/home/jmg/dev/vpp/build-root/install-vpp_debug-native/dpdk/lib -Wl,-g -L/home/jmg/dev/vpp/build-root/install-vpp_debug-native/dpdk/lib -Wl,--whole-archive -Wl,-ldpdk -Wl,--start-group -Wl,-lrt -Wl,-lm -Wl,-ldl -Wl,--end-group -Wl,--no-whole-archive Fixed by unsetting the flags -pie -fPIC out of LDFLAGS, these are not options for the linker. $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.3.1-10ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 5.3.1 20160225 (Ubuntu 5.3.1-10ubuntu2) Change-Id: Iffbebfbb625e8831822ec092bea88dea42f12930 Signed-off-by: Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
2016-03-14Better match vhost-user specification for live migrationYoann Desmouceaux2-2/+10
The specification requires logging of used vring writes to only happen when VHOST_VRING_F_LOG flag is present in VHOST_USER_SET_VRING_ADDR message; take that into account. Change-Id: I9bf4b9eb43a1783b39909b1a3ea1a3bdf50d91a8 Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
2016-03-14Fix skel files to use <vppinfra/*.h> instead of <clib/*.h> whenDave Wallace4-9/+8
including vppinfra header files. Change-Id: I961c602e0ccd2048fac633b5aeebb8c3cd0899fb Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2016-03-14Do not use hugepages if none are available.Stefan Kobza1-2/+2
In case socket-mem was set to <1024 and no 1G page long hupepages were available, the condition was evaluated in unexpected manner. In other words use_1g == 1, and that fails later in mount(). This patch makes sure this is prevented - if there are no pages_available, do not even try to use that pagesize. Change-Id: I30675aa017d97b99d84d5db926e62f0acb54deb6 Signed-off-by: Stefan Kobza <skobza@cisco.com>
2016-03-14lex - yylval undeclaredVincent JARDIN1-0/+1
Fix compilation with Ubuntu 16.04/yacc: $ yacc -V yacc - 1.9 20140715 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu Xenial Xerus (development branch) Release: 16.04 Codename: xenial Change-Id: Ib1a6d7b7f9485db893465041ac6bce2a98ded2f7 Signed-off-by: Vincent JARDIN <vincent.jardin@6wind.com>
2016-03-11Set hardware iface state for loopback interfacesPierre Pfister1-0/+10
So unless I have missed something, loopback interfaces are spawned hardware-down and never set up. This patch uses the same process as tapcli interfaces by mirroring sw state to hw state. Change-Id: I94198c1c880de773daccbb63ca8d32c4c7e26a74 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-03-11lt-*m4 - remove auto generated filesVincent JARDIN4-628/+0
The files are installed by libtoolize: libtoolize: copying file `m4/libtool.m4' libtoolize: copying file `m4/ltoptions.m4' libtoolize: copying file `m4/ltsugar.m4' libtoolize: copying file `m4/ltversion.m4' libtoolize: copying file `m4/lt~obsolete.m4' No need to keep them into the repository. Change-Id: Ic24d51f7e7680161ac8c780f34e76bc21435b3c1 Signed-off-by: Vincent JARDIN <vincent.jardin@6wind.com>
2016-03-10More updated match to ENIC PMD for DPDK 2.2.0 including rx path optimization.John Lo2-14/+1366
Change-Id: I756940c9c1b2bb71d47caeb08ab34a2e954ddff6 Signed-off-by: John Lo <loj@cisco.com>
2016-03-09Fix IPv6 NDP and bridge BVI and restore NDP and ARP when BVI move is changed.Pierre Pfister1-3/+12
Both ARP and NDP need to be called when hi->output_node_index is changed. It does not look like a perfect solution though. Maybe an actual up-down call would be better... Change-Id: If2988d131e77f4fc522f34f3ffe2d5ba9c1d506c Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-03-07Fix longstanding cleanup-flag bugDave Barach1-12/+9
Change-Id: I9b325b454ef80ffff80a0b0e23b24e3313127376 Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-07Packet filter control-plane API bugfixDave Barach1-4/+14
Don't complain about unknown fib-id's unless actually trying to use the indicated per-address-family fib. Change-Id: Ie8c28dbf7dac9c38193a02ff15a8529d0f90d99a Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-07Add sw_interface_clear_stats API callPavel Kotucek4-6/+134
Change-Id: I0731357744ddcb890efaebd81aac5370449a90e3 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-03-07build: fix call to mkdirJean-Mickael Guerin2-2/+2
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-04Allow dpdk linkstate and stat polling intervals to be set dynamically.Bud Grise2-5/+43
Change-Id: I6aa662e060f7ce01a4dd80ae2498dc91a8b65a8e Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-03-04Modified ioam CLI syntax to conform with other CLIsrangan1-10/+10
Change-Id: I384d7b2cdbb63b5ca904db5a11c8b8748f7197b9 Signed-off-by: rangan <rangan@cisco.com>
2016-03-04Collect per Q stats for vhost-user interfaceShesha Sreenivasamurthy5-9/+87
Change-Id: I394960c300ff7a81c4c8e05afd5a4175e66666eb Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-03-04vppinfra: remove generated config.h.inJean-Mickael Guerin1-62/+0
Change-Id: I04f53789bf1f39fdf16bc813280b24144fedd020 Signed-off-by: Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
2016-03-04gitignoreMaros Marsalek1-0/+5
Change-Id: I59c4711fce1999b4bd23f0a0bac41aa14ca716f5 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-03-04Add CPU detection functionsDamjan Marion5-8/+151
Change-Id: Id7ea0410d6a789000c747c36a7e50076e31dc29a Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-04Use xxhash in map code when SSE4.2 not availableDamjan Marion1-1/+1
Change-Id: If4fb86cfeeaf35f3ae89946b437ce5160adbce94 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-03Refuse to start if binary requires unavailable CPU extensionsDamjan Marion1-0/+29
Change-Id: I4d0d152b6f5d4ba566398fcccaa6a1f96625f864 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-03Change default L3 MTU to allow jumbo packets for non-DPDK interfaces.John Lo2-2/+2
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-03Copy flags when cloning next_framesNikhil P Rao1-0/+6
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-03Use CRC32 instruction only when build for SSE4.2 enabled platformsDamjan Marion1-1/+1
This fixes SIGILL crash observed on Penryn CPU Change-Id: I960878d88f0f088847d4d86605ef082f6600e2c7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-03Fix UDP length check for local IP/UDP lookup and error handling.John Lo1-10/+21
Change-Id: If6695e19e5a1e5471e56099e2cf31794c73f3303 Signed-off-by: John Lo <loj@cisco.com>
2016-03-02TAP: Jumbo-frame support.Ole Troan4-75/+79
Change-Id: I3a0726d7645f775738253d0a47ee04d94d138c9a Signed-off-by: Ole Troan <ot@cisco.com>
2016-03-02Always showing DPDK physical memory on bootupTodd Foggoa1-17/+2
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-02Add rotates to v6 worker hash to prevent SIP/DIP synchronizing.Bud Grise1-3/+3
Change-Id: Ibe8ec6271b3f04290a60c0145e59a01d3130500f Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-03-02Remove spurious call to unix_physmem_init(...)Dave Barach2-13/+0
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>