summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-06-24VPP-118: add support for variable length arrays to jvppMarek Gradzki7-9/+54
* extends VPP's message definition language with the following syntax: u32 count: u8 array[count]; which is traslated to: u32 count; u8 array[0]; but now, python API representation generated by vppapigen contains information about where the array length is stored. * modifies existing response messages to use the new syntax Change-Id: I68210bc7a3a755d03d067e9b79a567f40e2d31f3 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-06-24Add admin-up flag to L2TP tunnels and start tunnels set to downPierre Pfister4-6/+42
L2TP tunnels use virtual interfaces but directly send packets to l2-input node (not ethernet-input). This node requires a bridge-domain to be associated with the interface. Past code was immediatly turning the interface up, but some packets could be sent to l2-input without bridge domain between interface creation and association with a bridge domain. The tunnel is now created as down and has to be set up later (typically after being associated with a bridge-domain). Another option would have been to change the api and enforce a bridge-domain to be specified before the tunnel, but this is less flexible for the user. Change-Id: I26d1f36bb4f327d9fa1c8044023f2210c4117904 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-06-23Show command support for ip feature pathsDave Barach5-3/+147
"show ip features" displays all available features, in execution order. "show ip interface features <intfc>" displays all features currently configures on an interface, in execution order. Change-Id: I489bbdb85799a01721ba60b12ffaffcab1e0d1df Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-23Use lisp_gpeX iface counters to store decap statsFlorin Coras4-36/+71
The patch switches to using LISP interface counters for storing the number of decapsulated packets instead of using per decap node stats. It also removes the encap node (iface tx node) stats since the iface output node already keeps track of the number of encapsulated packets. Change-Id: I636702a824264c173792f2f0c7fec0b0f4c6a9f7 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-06-23VPP-72 Added api call aquivalents to:marek zavodsky6-15/+874
"show mpls fib" -> "mpls_fib_encap_dump" and "mpls_fib_decap_dump" "show mpls tunnel" -> "mpls_eth_tunnel_dump [tunnel-index <tunnel-id>]" and "mpls_gre_tunnel_dump [tunnel-index <tunnel-id>]" Change-Id: I59699039392f06dc61f62a015d07186a91cfaf45 Signed-off-by: marek zavodsky <mazavods@gmail.com>
2016-06-23LISP EID virtualization supportFilip Tehlar11-182/+443
Change-Id: I892c001cfdff9d8d93e646641d96520beb3c6265 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-06-23More LISP SD FIB and forwarding fixesFlorin Coras3-62/+56
o) Avoid using explicit_fib_index in the dst (main) FIBs. It's used in the IP6 lookup o) use if_address_index instead of rewrite_header.node_index to store tunnel indexes. This ensures the tunnel index is used in the signature computation and thus avoids all complications/hacks needed to make src adjacencies unique. o) Fixed negative fwd entry route insertion Change-Id: Ie56356f165b96dfa929da5672a3a429996366460 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-06-22ARP/NDP does not send solicitation when no source address is availablePierre Pfister6-7/+28
Currently, when the interface has no address assigned to it, VPP crashes as ip_interface_address_for_packet assumes there always is at least one address. This patch checks if an address is available at all. The only part of VPP using it is ARP or NDP. When a neighbor discovery message has to be sent while there is no address assigned on the interace, no solicitation is sent and an error counter is incremented. Change-Id: Ia9fdaf8e84050a1ceeb47f5370819d3df95714f0 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-06-22Add MAC address support for LISPFilip Tehlar3-18/+166
Change-Id: I79e3915fa61b497e6b586babcdf093937af07b2b Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-06-22CLI to update locator-setAndrej Kozemcak1-6/+83
Change-Id: I60ea36362a2c4b7c936dde501a3d737b68a8c9ff Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-06-22Fix for build failure due to iOAM plugin header file pathShwetha9-17/+23
Change-Id: Ie5d270a01e3ca0687a407aeebc42aacc53a01ddc Signed-off-by: Shwetha <shwethab@cisco.com>
2016-06-21Vagrantfile syntax error correction - requires string input instead of integer.Srivatsa Sangli1-1/+1
Change-Id: Ib291662c4ea2f5bef0f2c417b16d256f5c480d5c Signed-off-by: Srivatsa Sangli<srivrama@cisco.com>
2016-06-21Check if LISP is enableAndrej Kozemcak6-14/+105
Lisp enable flag is enforced. DP API should not be call if the dp is disable. Change-Id: I265cf3ea0460987f3fd5fd84b43127dd3b1c43c3 Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-06-20Fix problem with DPDK vector PMDs not working in VPPDamjan Marion1-2/+4
Linker was picking wrong, weakly linked function from dpdk drivers, so detection of vector mode was always failing. Change-Id: I11725c8ddbc4604dd04ecb89ebb7f02ee05e52c7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-20VPP-143: Correctly drop local l2tp packets when no session is foundPierre Pfister3-14/+48
When receiving a local ipv6 packet containing an l2tp packet not associated with any session, l2tp node was handling the packet as if provided by an ipv6 feature, hence crashing. This patch fixes the issue by correctly dropping the packet instead. This patch also fixes a typo from commit d65346098daf896. Change-Id: I1b377fc5685568c16831920227671feffac64287 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-06-20Using env.sh file for Vagrantfile inputs, but assume some defaultsKeith Burns (alagalah)4-63/+98
Change-Id: Ia4b45d88be5943d413d61435ff38796d1b6a32a2 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-06-19VPP-152: mheap_alloc returns 0 when the requested heap size is too smallPierre Pfister2-1/+14
mheap_alloc allocates memory_size bytes of memory and returns a page-aligned memory space prefixed with a word-aligned header of type mheap_t. This header includes the actual usable space size, but when the requested size is too small, the computed size was incorrect (infinite). mheap_alloc now returns 0 in such cases. With help from Yoann Desmouceaux. Change-Id: I00af63d573d6939aca53dbe7ff612b726bd8f0df Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-06-19Output interface MTU check ignored in double-loopChris Luke1-8/+9
In the double loop of ip4-rewrite, when forwarding packets, the outbound interface MTU check occurs too late in the double-loop to be actioned. Change-Id: Ifc44e65d6ddb832aa0161d0685b1a28378541905 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-06-19Fix use of lookup_next_index in LISP src/dst FIBFlorin Coras2-12/+79
Adjacencies in LISP src/dst FIB store the index of the LISP output interface (next node after lookup) in the lookup_next_index. Since the values of interface node indexes are not constrained, they can collide with the 'special' adjacencies IP_LOOKUP_NEXT_LOCAL and IP_LOOKUP_NEXT_DROP. As a result, at allocation time, LISP ajacencies may be automatically shared with the previous two, predefined adjacencies and all LISP specific state stored in the rewrite area is lost. This fixes the problem by 'hijacking' the explicit_fib_index instead of the lookup_next_index field. Change-Id: I3c59121dcf0851decf5c08004143d1201dbd1ece Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-06-19Improving cross_ldflags arguments for dpaa2 platformSachin1-1/+2
- This helps in avoiding manual export of LD_LIBRARY_PATH for /usr/lib64/ Change-Id: I15fc9c9f961848411b093c891ca9517ef4e074a0 Signed-off-by: Sachin <sachin.saxena@nxp.com>
2016-06-19gitignore gtagsKeith Burns (alagalah)1-0/+4
Change-Id: I0160cdfc8e749f875a232e07526d53a3a7c8395c Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-06-18Enhanced RPM build process to make rpm for any given platformSachin2-2/+3
- Currently default rpm.spec only look for "install-vpp-native" Change-Id: Iaa78c46ae62d2747bda6ffc1189cb8ac6d578bd8 Signed-off-by: Sachin <sachin.saxena@nxp.com>
2016-06-18Fix node registration in ixge driverDamjan Marion1-2/+1
Change-Id: Ia98ed873954feaa7bf1f13d8eb4054d0afba495e Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-18Give correct argument to ip_call_add_del_adjacency_callbacksPierre Pfister1-1/+1
ip_call_add_del_adjacency_callbacks requires an adjacency index, not a sw_if_index. Change-Id: I4ae6a6bbbe0abee4791217463d353c56f9735ba3 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-06-18Move pkt replication counter to the opaque2 cache lineDave Barach12-34/+33
Change-Id: I5e6edfd03ab41949be2c768dfe68aa824bbc1f38 Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-17Updated Makefile so install-dep doesn't promptKeith Burns (alagalah)1-3/+4
Change-Id: I8e5f4d120c9add636054e740f2a8aa3a0f8bb7d1 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-06-17Dynamically compute ip feature subgraph orderDave Barach25-151/+914
This change-set enables plugins to add themselves to the ip4/ip6 feature subgraphs without having to modify core vpp engine code at all. Add VNET_IP4/IP6_UNICAST/MULTICAST_FEATURE_INIT macros which express the required ordering constraints, and off you go. Along the way, added an implementation of Warshall's algorithm to vppinfra; to compute the positive transitive closure of a relation. In this case, the relation is "feature A runs before feature B." With that in hand, ip_feature_init_cast(...) computes a partial order across the set of configured feature subgraph nodes. In unit-testing, we discovered VPP-145 - ip4/6 inacl wiped out vnet_buffer(b)->ip>current_config_index, which exists in main. So, we fixed that by moving b->trace_index, adding b->current_config_index, and removing the ip opaque union current_config_index. Change-Id: Iff132116f66413dc6b31ac3377198c7a32d51f48 Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-17Support NAT across multiple interface pairsShesha Sreenivasamurthy2-57/+140
Some of the commands require interface name as an additional parameter as we support multiple interfaces. Example: set vcgn map inside TenGigabitEthernete/0/0 10.1.0.1 - 10.1.0.1 show vcgn inside-translation protocol tcp interface TenGigabitEthernete/0/0 inside-addr 1.0.0.2 show vcgn outside-translation protocol tcp interface TenGigabitEthernet9/0/0 outside-addr 10.1.0.1 Change-Id: Id691ccd3f2c863c665a1568982c819b79dda007e Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-06-17NXP DPAA2 Poll Mode Driver Support in DPDKSachin2-4/+40410
Upstreaming of DPAA2 driver changes is in progress.This patch will temporary add the support in VPP in built DPDK. Two types of changes: 1. Driver specfic independent files. No impact on any other functionality. 2. Changes in common EAL framework. These changes are done in compile time DPAA2 specific flag, so no impact is expected on other existing features if not compiling for DPAA2. Change-Id: I02abe7189313835b51ff654b4d7e566bc0fb8327 Signed-off-by: Sachin <sachin.saxena@nxp.com>
2016-06-17VPP-76:APIs for Proof of transit feature added to iOAMShwetha16-962/+1764
Moved Proof of Transit utility as a plugin Moved Proof of Transit option as a plugin Change-Id: Idc9897205eb8ec80c5dea47b428e6209ac938c32 Signed-off-by: Shwetha <shwethab@cisco.com>
2016-06-17New LISP API map-request itr-rlocAndrej Kozemcak5-2/+364
API to constrain source locator when sending map-requests. lisp map-request itr-rloc <locator-set name> Change-Id: I19f3a1aa8a387ca8662ccf3a4ad774ea7d655f80 Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-06-17VNET: Initialization support for NXP DPAA2 poll mode driverSachin3-1/+13
- NXP proposed a poll mode driver "rte_dpaa2_dpni" in DPDK upstream. - When using external DPDK with the given dpaa2 driver, VPP needs modification to initialize the PMD and to understand the DPAA2 N/W interfaces. Change-Id: I00eb127fa88c71fb430d3def238d50ba68fd595f Signed-off-by: Sachin <sachin.saxena@nxp.com>
2016-06-17vpp-83: fix double-unlockDave Barach1-2/+3
Change-Id: I0b75b4f9bef62aba69e9cc163924f6b985a35455 Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-17Fix generate-deb-changelog to handle YY.MM releaseEd Warnicke1-1/+1
generate-deb-changelog was only properly handling x.y.z releases. This patch fixes it to handle YY.MM. Change-Id: Iaaee8ff747abd6754d021535c889f67ad2c9998f Signed-off-by: Ed Warnicke <eaw@cisco.com> (cherry picked from commit 693f4358deef7db06b3d3cae0d881924dd9cf9fa)
2016-06-17Consolidate use of IP fib functions in LISP CPFlorin Coras1-143/+108
Clean up, refactor and consolidate LISP CP functions that interact with ip interfaces and fibs. Change-Id: I214eaebbec8d43646118df0948d0f82f923a5b43 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-06-156rd: Move to pluginOle Troan12-25/+143
- Change toplevel plugins make target. Now builds all plugins under plugins/. (Apart from sample-plugin). - Move sixrd code to plugins directory and make necessary changes to make it a plugin - Remove 6rd hooks from IP lookup code Change-Id: I447e92e3bee240cd8de01d0abac2e1708e8c27d1 Signed-off-by: Ole Troan <ot@cisco.com>
2016-06-16VPP-19: Split the lookup.h IP_LOOKUP_NEXT enum.Ole Troan11-339/+50
IP4 and IP6 nodes currently shares the adj->lookup_next_index. That has some issues, e.g. that one has to add non-functional nodes like ip4-hop-by-hop and that anyone dynamically adding nodes to any of the IP4/IP6 lookup nodes must ensure they add themselves to all relevant nodes to ensure next index consistency. This patch splits the IP_LOOKUP_NEXT into separate enums for IP4 and IP6 with a common part for next-nodes used by both. It sets up other IP nodes as siblings to avoid inconsistencies. This allows IP4 and IP6 lookup next nodes to evolve independently. The adj->lookup_next_index is still shared, assuming that an IP4 adjacency isn't used by an IP6 graph node. Change-Id: I589b8364fe54e7a10c059b7ef9d6707eb0a345cc Signed-off-by: Ole Troan <ot@cisco.com>
2016-06-16Fix hugepage leak on VM terminationShesha Sreenivasamurthy2-0/+36
When VM is terminated, the hugepages mapped should be unmapped so that the system does not run out of hugepage resources. Therefore, mapped pages are unmapped when VPP notices a disconnect. Change-Id: I7398fb20028036738ab87db0b0e79609e95d69a4 Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-06-16Fix vxlan-gpe interface state dump failureHongjun Ni1-0/+4
Correspond to HONEYCOMB-84 VxLAN GPE - Wrong operational data. Change-Id: Ia1b3c3b85e4b5435b0c690a4ce9ff93c65bfee5c Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-06-15README file for vcgnRanganathan T.S1-0/+100
Change-Id: I6bd851e4b26f0b8d6f5826a19bded3af930cbc0e Signed-off-by: Ranganathan T.S <rangan@cisco.com>
2016-06-15Delete useless field decap_next in tunnelHongjun Ni2-37/+5
Field decap_next in vxlan-gpe tunnel is not needed. Change-Id: I83cc42ca82274587a57e3c65711cf18ee8d692d3 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-06-15Fix LISP locator pair selectionFlorin Coras3-133/+227
Make sure when selecting the local and remote locator pair for a data-plane tunnel that the local locator has a route, in the FIB, to the remote one. Change-Id: Idbc8a28a8ede786c11ef98cb18eba4a78c4a228e Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-06-15Fix remote mapping CLI for unset v6 local eidFlorin Coras1-5/+12
If when configuring a remote v6 mapping the local eid is not set, configuration fails because the code expects local (default v4) and remote eids to have the same AFI. Change-Id: If791d2e8a104ea36603576f8b2797cc07bc2654b Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-06-15VPP-137: VPP sends ARP with wrong requested IPNeale1-1/+13
Change-Id: I01802f3dab04c940e65236ba6e680f1e504a0a5f Signed-off-by: Neale <nranns@cisco.com>
2016-06-14Add dpdk per-interface startup config parameter to support rss-flagSrivatsa Sangli3-6/+43
New parameter allows specifying rss-flag - one or more of following ipv4-frag ipv4-tcp ipv4-udp ipv4-sctp ipv4-other ipv4 ipv6-tcp-ex ipv6-udp-ex ipv6-frag ipv6-tcp ipv6-udp ipv6-sctp ipv6-other l2-payload ipv6-ex ipv6 Sample config: dpdk { dev 0000:86:00.0 { rss { ipv4 ipv4-tcp ipv4-udp } } } Change-Id: I33c047d69ef8710b8ba3c7e1a1964d5d54f6e880 Signed-off-by: Srivatsa Sangli <srivrama@cisco.com>
2016-06-14Add dpdk per-interface startup config parameter to specify worker threadsDamjan Marion3-23/+56
New parameter allows specifying which worker threads will process rx queues. Parameter arguments is list of cores and number of worker specified must be equal to the number of rx queues configured (num-rx-queues). If num-rx-queues is not specified, it will be automatically set to number of workers. Sample config: dpdk { dev 0000:86:00.0 { workers 2,3 num-rx-queues 2 } } Change-Id: I88bc381e0e542eb02def09a726c6f04de3e1ae17 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-14Reset new indirect adjacdncy template before using itDamjan Marion2-0/+4
Change-Id: Ia69ba39364d4dfa1403c8fbb77b7990226bbcb85 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-14Fix node siblingsOle Troan5-77/+48
Siblings did not work at all. Fixed by generating sibling relationships earlier in vlib_node_main_init(). Also adding a node dynamically before nodes were initialised failed for sibling nodes. Change-Id: I2fb73eb33a6f5ee216f566074e18ed495e20634d Signed-off-by: Ole Troan <ot@cisco.com>
2016-06-14gitignore change due to DPDK download suffix changeKeith Burns (alagalah)1-0/+1
Change-Id: Idc86d3435e742f3cb96cb9eb1d85b0fdc6a40fc5 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-06-14Retire io threads and main-thread-io modeDamjan Marion10-1001/+19
Change-Id: I64f5ec5e32f200834c63ec3b304f9f20cef332a7 Signed-off-by: Damjan Marion <damarion@cisco.com>