summaryrefslogtreecommitdiffstats
path: root/vnet/Makefile.am
AgeCommit message (Collapse)AuthorFilesLines
2016-08-09Rename flow_report_sample.c/.h filesJuraj Sloboda1-3/+3
Change-Id: I1f82e74977de8879dec9859275afc791f0a55606 Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-08-01VPP-226 IPv4 src-address + port range checkerDave Barach1-0/+2
Change-Id: Ia251e9d7d53e894a5666109f69e9626d27ea74cb Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-07-26policer classifyMatus Fabian1-1/+3
JIRA: VPP-114 If the classifier finds a matching entry, it sends packet to the policer, packet should be pre-colored for color-aware policers. Change-Id: I10cb53b49907137769418f230df2cab577d0f3a0 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-07-06Retire PLATFORM=virlDamjan Marion1-1/+1
Change-Id: Iaf9735258f456574534c1a581b983326badea171 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-29Decouple worker thread code from dpdk, enable worker threads in vpp_liteDamjan Marion1-3/+1
Change-Id: I28616f1a89f2da95484438ec1a1db64845f15ef6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-24Move vcgn as pluginShesha Sreenivasamurthy1-36/+1
Use appropriate libnames to copy Change-Id: Iaa1e7e3ceed52f328e26e75ee7309fc6464d5c66 Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-06-17Dynamically compute ip feature subgraph orderDave Barach1-0/+2
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-17VPP-76:APIs for Proof of transit feature added to iOAMShwetha1-10/+0
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-156rd: Move to pluginOle Troan1-5/+1
- 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 Troan1-1/+0
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-13Add worker-handoff nodeDamjan Marion1-0/+2
worker-handoff node is universal node which taakes packets from the input node and hands them over to worker threads. Currently it supports flow hashing based on ipv4, ipv6 and mpls headers. New cli: set interface handoff <intrerface-name> workers <list> e.g. set interface handoff TenGigabitEthernet2/0/0 workers 3-6,9-10 Change-Id: Iaf0df83e69bb0e84969865e0e1cdb000b0864cf5 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-23Native VPP driver for Intel Niantic family of NICsDamjan Marion1-0/+6
Available only in vpp_lite platform Change-Id: I09d112af5f7f4521ec25196ecdd8c02c20eedd5f Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-16VPP-61 Patch2/2 Removing NSH from VPP for move to NSH_SFCKeith Burns (alagalah)1-24/+0
Change-Id: I76359b621b2edc599cf2e9ee845d97293a5d46f7 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-16Add configure policer APIMatus Fabian1-0/+2
JIRA: VPP-67 Change-Id: I04560d78e2eb131cd6cc31472b70b3d3e8fdd79a Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-13VPP43 - NSH refactoring: Added nsh-map nodesKeith Burns (alagalah)1-16/+19
- removed vnet/vnet/nsh-gre - removed all nsh from vnet/vnet/nsh_vxlan_gpe to vnet/vnet/nsh - moved vnet/vnet/nsh_vxlan_gpe to vnet/vnet/vxlan_gpe - added cli and binary api for VXLAN GPE tunnels - plan to move vnet/vnet/nsh to new repo (sfc_nsh) and make plugin - added cli for NSH (binary API will be done in sfc_nsh) - vnet/vnet/gre will be extended in VPP-54 Change-Id: I1d27def916532321577ccd68cb982ae0d0a07e6f Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-09VPP-44: iOAM service and path verification using shamir's secret sharingShwetha Bhandari1-0/+10
Change-Id: I445ad13f8f93cb75cacc94192c4ae85c8ca14e35 Signed-off-by: Shwetha Bhandari <shwethab@cisco.com>
2016-05-05VPP-39 - refactoring of NSH into own folderKeith Burns (alagalah)1-3/+10
- common header files and structs used in both GRE and VXLAN-GPE Change-Id: I06d0b773e936fb011408817237059f24a4beb412 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-04-30IP6 SR multicast replicatorKeith Burns (alagalah)1-1/+2
- adds ability to name tunnel - creates policy as a collection of tunnel names - map ip6 multicast address to policy and replicate packet - adds zero memcpy for invariant portion of packet Change-Id: Icd2fe6a2cf65c09906e82ed1afbb0eae8df79452 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-04-29Add lisp-gpe ip6 data-plane supportFlorin Coras1-0/+1
The implementation mimics that of the ip4 data-plane. Therefore, a new lgpe-ip6-lookup lookup node is introduced for ip6 source lookups, a lisp-gpe-ip6-input node for decapsulating ip6 encapsulated packets and the tx function of the lisp-gpe interface is updated to support any mix of v4 and v6 in underlay and overlay. Change-Id: Ib3a6e339b8cd7618a940acf0dd8e61c042fd83dd Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-04-25Add native NETMAP driverDamjan Marion1-0/+14
This is first drop of native NETMAP driver. It is mainly tested with NETMAP pipes but also support for native interfaces should work. New CLI: create netmap [<intf name>|valeXXX:YYY] [hw-addr <mac>] [pipe] [master|slave] Following example creates NETMAP pipe where VPP acts as master: create netmap name vale00:vpp1 pipe master then NETMAP pkt-gen tool can be used to send traffic: pkt-gen -i vale00:vpp1}0 -f tx Change-Id: Ie0ddaa5facc75285b78467420e8a9f9c8dfc39e5 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-25Convert lisp-gpe encap to interface tx nodeFlorin Coras1-1/+1
With this change, one lisp-gpe interface is created per vrf/overlay tenant and its tx node is used as encapsulator (or tunnel ingress). For all intents and purposes, the tx node inherits all functions previously performed by the lisp-gpe-encap node and it maintains said node's position in lisp-gpe's data-path graph. Chiefly, this opens the possibility to chain interface features, like IPSec, transparently with LISP. Furthermore, it brings basic data plane support for vrfs and LISP instance-ids (or virtual network instances as per RFC7364). Other changes include improvements to lisp-gpe enable and disable sequences and corresponding API/VAT fixes. Change-Id: I085500450660a976b587b1a720e282f6e728d580 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-04-20Move "ethernet" debug cli commands to "set interface"Damjan Marion1-1/+0
Following two commands are changed: ethernet mtu -> set interface mtu ethernet promiscuous -> set inteface promiscuous Change-Id: I5037e021933156c06044fb723a05ad330f8162b7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-12Add unit test infrastructure for LISP protocolFilip Tehlar1-0/+44
Change-Id: I802700ad832de1dc6f4a1981e8985aa6e926c8ad Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-04-02LISP GPE: initial CP commit and DP improvementsFlorin Coras1-2/+21
Control Plane ------------- In essence, this introduces basic support for map-request/reply processing, the logic to generate and consume such messages, including SMRs, a control-plane backend, consisting of an eid-table, locator and locator-set tables, and CLI to interact with it. Naturally, we can now serialize/deserialize LISP specific types: addresses, locators, mappings, messages. An important caveat is that IPv6 support is not complete, both for EIDs and RLOCs. Functionally, the DP forwards all packets it can't handle to the CP (lisp_cp_lookup node) which takes care of obtaining a mapping for the packet's destination from a pre-configured map-resolver using the LISP protocol. The CP then caches this information and programs the DP such that all new packets with the same destination (or within the covering prefix) are encapsulated to one of the locators retrieved in the mapping. Ingress traffic-engineering is not yet supported. Data Plane ---------- First of all, to enable punting to the CP, when LISP GPE is turned on a default route that points to lisp_cp_lookup is now inserted. The DP also exposes an API the CP can use to program forwarding for a given mapping. This mainly consists in allocating a tunnel and programming the FIB such that all packets destined to the mapping's prefix are forwarded to a lisp-gpe encapsulating node. Another important change done for lisp forwarding is that both source and destination IP addresses are considered when encapsulating a packet. To this end, a new FIB/mtrie is introduced as a second stage, src lookup, post dst lookup. The latter is still done in the IP FIB but for source-dest entries, in the dest adjacency the lookup_next_index points to a lisp lookup node and the rewrite_header.sw_if_index points to the src FIB. This is read by the lisp lookup node which then walks the src mtrie, finds the associated adjacency, marks the buffer with the index and forwards the packet to the appropriate next node (typically, lisp-gpe-encap). Change-Id: Ibdf52fdc1f89311854621403ccdd66f90e2522fd Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-03-29Adjacency allocatorDave Barach1-0/+2
Change-Id: Ieacbfa4dbbfd13b38eaa2d37f618f212cef4e492 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-24l2-rw: Packet rewrite feature for L2 bridgesPierre Pfister1-0/+2
This patch defines a new l2input feature: l2-rw It makes use of vnet_classify in order to match packets and applies mask/value changes depending on the matched classify entry. Change-Id: Ia98c128931e59195bf3ecb66721e155ff9049a2e Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-03-17Bring back p1.c so plugins can see DPDK symbolsTodd Foggoa1-2/+12
Change-Id: Ia450c9bc6d00fbd054d41a462366f826121d781d Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-03-16Add vpp native linux kernel AF_PACKET interface supportDamjan Marion1-0/+13
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-02-26Add support for native vpp_lite (non-dpdk) platformDamjan Marion1-1/+3
Change-Id: Icaa71957f67b923bc9795baa78c7495055615672 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-26Move dpdk (un)format functions to separate c fileDamjan Marion1-0/+1
Change-Id: Idb1b1bf6c1b3b3d66672cc715e45aec299fb7592 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-24Link the vpp application against libvnet.so, not libvnet.aDave Barach1-12/+2
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-19Per-interface, per-address-family fast packet filterDave Barach1-0/+12
Change-Id: I122aa8edfb16a433a8ccdfb72ee8463c48c56d6d Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-08Cisco Discovery Protocol, initial working attemptDave Barach1-1/+12
There are multiple enhancement opportunities... Change-Id: I976772dc3802f8284e8c6457c001d68184831e25 Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-28Remove unused tcp.hKevin Paul Herbert1-1/+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-27Remove vestigal TCP implementationKevin Paul Herbert1-6/+0
Eliot's TCP was never completed. Remove it. Change-Id: I8456ed02b55f5b3f0b93547533f7467dd2229c07 Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
2016-01-22aarch64 CPU arch / ThunderX platform initial supportDave Barach1-3/+9
Change-Id: Ia2edd3cee2c25c26c7c47a9023744b97226434c7 Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-14Added ICMP4 error node.Ole Troan1-0/+1
Change-Id: I911c1c5a57f0513886fa2ee3422ebea069403cb9 Signed-off-by: Ole Troan <ot@cisco.com>
2015-12-14Move rpc handler where it belongs, related cleanupDave Barach1-8/+1
Change-Id: I393df100558a85fe676f4a4c8c9b546fa549ecc9 Signed-off-by: Dave Barach <dave@barachs.net>
2015-12-08Initial commit of vpp code.v1.0.0Ed Warnicke1-0/+632
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17 Signed-off-by: Ed Warnicke <eaw@cisco.com>