summaryrefslogtreecommitdiffstats
path: root/vnet
AgeCommit message (Collapse)AuthorFilesLines
2016-11-24l2: remove unused l3 packet type discovery in l2 pathDamjan Marion2-78/+1
This costs significant amount of cycles and it is not used by anybody. Change-Id: I42a0306aa7c254292621bdaa09b736421662d540 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-23dpdk: remove rte_mbuf modifications at many places in the codeDamjan Marion15-239/+7
It is sole responsibility of dpdk tx function to fill/update rte_mbuf prior to sending packet do PMD. Change-Id: I8ca1dba3e7bef41034d36e3525831849f7ac4ac0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-23l2: quad loop l2fwd nodeDamjan Marion2-28/+158
Change-Id: I8510575ee1d6b7c5ccf551766e77e40ce55e644c Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-23dpdk: input node next and error optimizationsDamjan Marion3-126/+117
Change-Id: Iee90ed725e824a3beed2660d21d74dae48c76eb0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-23Fix coverity warnings, VPP-486Dave Barach1-1/+1
Change-Id: Id88805f77642187f304f8baef1f6b447728e4b5b Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-22dpdk: quad loop dpdk tx and code optimizationsDamjan Marion4-253/+181
Beside performance optimization this change also introduces rte_mbuf validation in dpdk tx code. If packet is arrving from non-DPDK source like self-originated packets or non-dpdk devices (tuntap, af_packet, netmap, pg) it is not anymore exepcted that it contains valid rte_mbuf metadata unless it is explictely stated by setting VNET_BUFFER_RTE_MBUF_VALID flag. dpdk-input node sets VNET_BUFFER_RTE_MBUF_VALID on all packets and that reduces cost of validation in tx node. Change-Id: I4ad40f398f7b5cf90656a2069a27c0f6fc13efba Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-22GRE tests and fixesNeale Ranns11-70/+174
Change-Id: I234240e9bdd4b69ad64a17b1449ae1e81c0edaca Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-11-22Fix coverity warnings, VPP-486Dave Barach1-2/+2
Change-Id: I4ec49e116fdb418ebf9d84000f2a0cec1cf78b14 Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-22Span node configuration fixChristophe Fontaine1-3/+3
Prefer to use the sw_if_index instead of the hw_if_index to be compatible with vhost-user interfaces. Change-Id: Id1e4255a992d428b8de47b3dd6175ed86e08c803 Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-11-21Dual Loop Load-Balance NodesNeale Ranns3-129/+561
Change-Id: I23bc477aa03f97dd546747b3297a878055d32e1c Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-11-21Convergence ImprovementsNeale Ranns12-37/+380
addressing convergence times when interface is shut. 1) prioritise the registered callback handlers. Add FIB convergence handler as high priority 2) hook the FIB convergence call-back into HW link down. 3) don't schedule a walk of a FIB node if it has no children 4) Checks at fib_path_t to prevent unnecessary walks, that it prevent the same information propagting the graph multiple times. Change-Id: I406966b50f31d77c221821b8649776d66655194c Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-11-19pg: avoid possible buffer leakDamjan Marion1-1/+1
Change-Id: Iad1a4028d7c3d603e644db9f8a743b92fc2a4dba Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-18dpdk: quad loop dpdk-input nodeDamjan Marion6-88/+286
Change-Id: I761af883403b6740bd24ce196ae0bfe6bc77b409 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-18CLI for access to HQoS queue statisticsDavid Hotham1-0/+115
Change-Id: Ib9bc5d8d28b4742583f917c3a20e7c676df59de4 Signed-off-by: David Hotham <david.hotham@metaswitch.com>
2016-11-18handoff - allow symmetrical dispatchGabriel Ganne2-2/+84
update cli cmd with symmetrical|asymmetrical flag (asymetrical by default) Change-Id: I8186506413a3ba0aa0561c0448b5e06e6d6e7ece Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
2016-11-18Fix bug in configure 'vlan-strip-offload on' first, then configure "set ↵jerryian1-0/+1
interface mtu" command, vlan-strip-offload option will be changed to off. Change-Id: I1f39628fc8cde4e46ed5b2e3208253a07327de81 Signed-off-by: jerryian <gu.jian1@zte.com.cn>
2016-11-18dpdk: maintain per-worker trace bufferDamjan Marion3-7/+10
Change-Id: I8234054cef4cadada6745a8c00c8df2c20daac33 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-18dpdk: remove unused codeDamjan Marion2-112/+2
Change-Id: Iabb5a3b15e35fb062c04bbc076b19fe50910d412 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-17feature: API/CLI to enable/disable feature per interfacePavel Kotucek3-1/+116
Change-Id: I91d5f5648189143903eb973fdc60de9880fd47c2 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-11-17remove reference to Intel with dpdk docsPadraig Connolly2-2/+2
*Changed configure files to say DPDK instead of Intel DPDK *Changed rpm and deb config files to say DPDK instead of Intel DPDK *Changed vnet Makefile to say DPDK instead of Intel DPDK Change-Id: Ic6e3eacf2341af873d4bd2e036d5afa857ca6355 Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>
2016-11-17Fix coverity warnings, VPP-486Dave Barach1-1/+2
Change-Id: If98e5e00eede8f2aa9f17517c726b337c98e5467 Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-17Fixup Path weights of 0Neale Ranns3-253/+681
A path wight of 0 is a meaningless value. We can either reject it and thus expect CLI/API clients to always write a non-zero value, or we can accept it and assume the intent was a weight of 1 - this fix does the latter. Change-Id: Ide736dbbb8376f85441f5a67388d5e3acad4d34e Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-11-17dpdk: remove efdDamjan Marion5-985/+41
Change-Id: I761af883403b6740bd24ce196ae0bfe6bc77b408 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-16Tune the ethernet input untagged l2-bridging caseDave Barach1-0/+83
Change-Id: I62fe0834e1031e191787a26452fb167c33e30ffd Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-16vhost: Fix bug during interface deletionPierre Pfister1-0/+1
This small patch fixes a critical bug during interface deletion. While the interface was removed, thread placement was not corrected properly. This should help fixing VPP-528,VPP-531 as well as other FDS bug reports. Change-Id: I02f9d44c62b6ca4c0b6d73f476600b342846507f Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-11-16Add an ability to punt all unknown UDP traffic to the hostAlexander Popovsky (apopovsk)4-32/+88
By default, VPP replies with ICMP error: port unreachable when receives an ‘unknown’ UDP (destination port with no registered listener) packet. An existing punt() API is extended to accept ALL (~0) as a L4 port number and if used redirects all ‘unknown’ UDP packets to the host. New ‘all’ option is added to the “set punt udp” CLI as well. Change-Id: I444fc5e32ffa3f0f085bb17708bf32b883ba09df Signed-off-by: Alexander Popovsky (apopovsk) <apopovsk@cisco.com>
2016-11-16VPP-521: Classify API enhancement to redirect traffic to pre-defined VRFSteve Shin4-35/+159
Ingress packets are punted to the “Input ACL node” where traffic is classified based on n-tuple keys. If no matched session is found from the classify tables, then it will be passed to “the lookup node” for normal packet forwarding. If a classify session is hit from one of classify tables, then packet vnet buffer field sw_if_index[VLIB_TX] will be updated to the new FIB index used for subsequent IP lookup for this packet. Change-Id: Ifdea63196ddb81c2d5c43b8c98e11ddbf5b11858 Signed-off-by: Steve Shin <jonshin@cisco.com>
2016-11-15feature: remove old interface output feature codeDamjan Marion12-195/+44
Only consumer was ipsec which is now moved to the new ip{4,6}-output feature arc. Change-Id: I06008e67b5449c25eae77f28e1688521af3a23e0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-15feature: convert ipsec output to new feature codeMatus Fabian5-79/+84
Change-Id: Ia287298bac76c8e6bf760d48c1e1e697de52999c Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-11-15threads: add support for multiple worker handoff queuesDamjan Marion3-123/+16
Change-Id: I2452df3c493eeb0a5078d53a230df6906651c057 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-15span: add feature (rx only) (VPP-185)Pavel Kotucek8-0/+544
Change-Id: I0f7cbf06b5a5acd745d13c9f5c761ea18132107b Signed-off-by: marek <mazavods@gmail.com> Signed-off-by: Damjan Marion <damarion@cisco.com> Signed-off-by: Pavel Kotucek <pkotucek@cisco.com> Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-15VPP-393: Subinterface is still used after deletionPavel Kotucek1-0/+10
Fixed bug in delete of sub-interface, if sub-interface is xconnected it was not deleted correctly (show interface address fails). Interface is set to L3 mode before deletion. Fixed help in API command. Signed-off-by: Pavel Kotucek <pkotucek@cisco.com> Change-Id: Ibe781e4b53422e6535e34ec72dbe274f9045f051
2016-11-15DPDK_HQoS: fix coverity warnings on uninitialized variablesJasvinder Singh1-3/+7
Change-Id: I76437b76619a280a44e4def4d6c048eaf3926102 Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2016-11-15buffer: clone free_list to each vlib_main on creationDamjan Marion1-7/+2
Currently only packet-generator is creating free_lists during runtime. This avoids crash when buffer is freed on different worker thread. Change-Id: If2ae066a12cf7c4b3267d56d8566806f31cf7ffc Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-15Dump routes (VPP-500)Steven5-2/+67
Change-Id: I86e7382395a8b6471a0deaf57163718d41b71b83 Signed-off-by: Steven <sluong@cisco.com>
2016-11-14Add support for multi FIB DHCPv6 ProxyWojciech Dec3-156/+286
- Support multiple DHCPv6 server targets across VRFs - Allows clients and servers to be in different VRFs - Aligns CLI and VAT for DHCPv6 to DHCPv4 Change-Id: If47756b3a51dc1b9d045a32b7d32ceb80c1746e2 Signed-off-by: Wojciech Dec <wdec@cisco.com>
2016-11-12pseudo atomic adjacency updatesNeale Ranns10-94/+230
When an adjacency changes from incomplete to complete (arp to rewrite) and vice-versa, that update must produce valid behavour w.r.t. the packets that continue to encounter it. Change-Id: Icc2709aff9807c5d24f91ef7649268991ad9a45d Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-11-12Clean up coverity warnings, VPP-486Dave Barach1-5/+4
Change-Id: I709e7cf0bb52d8e6cdc9ddb3b7648660204aa3bd Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-11feature: convert all feature nodes to new feature infraDamjan Marion31-1420/+429
Change-Id: I34c527ba910fb282a95458b78d1d684eb337905e Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-10ip_frag: fix implicit enum conversionDamjan Marion1-1/+1
Change-Id: I024b8d79cced45cf53a7a912319eca2cc932b10e Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-10feature: fix init issue when multiple arc are presentDamjan Marion2-10/+18
Change-Id: I9c76b6d7ffebeeb92d5eeca5852c487d73151f28 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-10VXLAN tunnel encap forwarding optimization with FIB 2.0John Lo7-370/+490
Optimize VXLAN encap node so that vxlan4-encap node is used for IP4 and vxlan6-encap node is used for IP6 underlay. Also stack the VXLAN encap nodes to the appropriate FIB IP4 or IP6 load-balance node instead of ip4/ip6-lookup node to save IP lookup operation. For VXLAN decap node, check VXLAN header FLAGS field for each packet and remove the code to support decap-next for IP4 or IP6. These decap- next values were intended for experimentation purposes and not needed any more since VXLAN-GPE tunnel is supported. The decap-next field is still kept in API for backward compatibility and its value has no effect. Decap next for both vxlan4-decap and vxlan6-decap nodes is always l2-input node. Change-Id: I8ac95774946549ec403ab691f999df0c006b460f Signed-off-by: John Lo <loj@cisco.com>
2016-11-09Fix Compile errors from clang in FIB2.0 codeNeale Ranns15-21/+19
Change-Id: Ief769c966888094944b7a6b7f26527e7eff6103f Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-11-09Fix DHCP proxy when used for non-default FIB tablesIgor Mikhailov (imichail)1-3/+3
An issue is that the server->server_fib_index is overwritten by some incorrect value on subsequent calls to the function - e.g. when setting DHCP proxy for the same FIB table several times. Change-Id: I2e129b47f5c8fe3a0b924a7d71bb83e6fc53e9b5 Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2016-11-09Fix a batch of coverity warnings, VPP-486Dave Barach3-2/+16
Change-Id: I0379844824b4c2eb42588d0fb8e1a7eb441e923f Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-09devices: create dummy device-input node to keep nexts in syncDamjan Marion11-29/+31
device-input feature arc requires that all input-nodes have nexts in sync. packet-generator tends to call vlib_node_add_next when new stream is created and that puts nexts out of sync. With this change all input node are siblings of device-input node so call to vlib_node_add_next(...) will install same next to the whole family. Change-Id: I33d79492e5f30f348af19e527f36fe0222c524d7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-09fix errors reported by clangDamjan Marion2-1/+2
Change-Id: Ib821e52dac7cd7ee24e6e495916689e23e8b699a Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-08pg: maintain per-worker bitmap of enabled streamsDamjan Marion3-10/+13
Change-Id: I38e476c8080faa5a8647ce6be5a71090e0aa8d5b Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-08Add the tap driver to the driver feature arc schemeDave Barach2-24/+16
Change-Id: I5f5251ed6b2a39d5e83dd7c702079245ef5f32b0 Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-08vhost: Improve packet tracingPierre Pfister2-64/+133
Packet tracing for packets sent or received on vhost interfaces now includes: - virtio header information - virtio queue transmit mode (chained, indirect, etc...) Should be *really* helpful for dealing with the many existing qemu/driver versions/implementations. Change-Id: Id0a5d1d671d8b9d3e05691fe13def991b30ee105 Signed-off-by: Pierre Pfister <ppfister@cisco.com>