aboutsummaryrefslogtreecommitdiffstats
path: root/vnet
AgeCommit message (Collapse)AuthorFilesLines
2016-11-28snat: thread safe (VPP-443)Matus Fabian1-0/+34
All traffic corresponding to a specific SANT user is handled by a CPU core. in2out: Non-translated packets worker lookup by src address and VRF hash in snat-in2out-worker-handoff node. out2in: Translated packets worker lookup by dst address and port number hash in snat-out2in-worker-handoff node. Change-Id: Ia092a605689539469841d382588f3f486a29a769 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-11-28dpdk: add ipsec cryptodev supportSergio Gonzalez Monroy23-158/+2623
DPDK Cryptodev support and related IPsec ESP nodes using DPDK Cryptodev APIs. When DPDK Cryptodev support is enabled, the node graph is modified by adding and replacing some of the nodes. The following nodes are replaced: * esp-encrypt -> dpdk-esp-encrypt * esp-decrypt -> dpdk-esp-decrypt The following nodes are added: * dpdk-crypto-input : polling input node * dpdk-esp-encrypt-post : internal node * dpdk-esp-decrypt-post : internal node Change-Id: I6dca9a890abaf4fb2a4fffce3fd08ac013e4d701 Signed-off-by: Zhang, Roy Fan <roy.fan.zhang@intel.com> Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2016-11-27Unlock LISP source FIB if only default leftFlorin Coras1-2/+12
If when removing a source route the LISP source FIB contains only the default, remove the whole source FIB. Defaults are added when FIBs are created so no forwarding entry depends on them. Change-Id: I0dd5dc31d128d834ac3b92c962c4c68577aa7429 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-11-25l2: quad loop l2input, l2learn and l2output nodesDamjan Marion3-217/+265
Change-Id: I79f76bc9791d228e2ac2867a1b857bb03d9a5279 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-25l2: fix latency issue casued by unnecesary read of previous cachelineDamjan Marion1-1/+1
In majority of cases ethernet header sits at the beggining of cacheline. Reading (dst_mac - 2) into 64 bit register is much more expensive than doing simple bitwise shift, specially if previous cacheline is not prefetched. Change-Id: I35e53eae735098fb917a87c307e60a87e76e460f Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-24vhost-user: add retry sequence in tx codeDamjan Marion1-176/+187
This change improves NDR rate with vhost-user interface for ~ 40%. Change-Id: Ibec0b7cd5a9c3a20c45f71e0081b9cb2db493cb8 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-24vhost: CLI delete interface by namePierre Pfister1-4/+11
Adds interface name parsing to 'delete vhost' command so an interface name can be provided. Change-Id: Iacd50545a63548c13b9bb3c36a98e08f6ad74429 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-11-24vhost: Delete thread configuration when interface deletedPierre Pfister1-0/+2
It does not make sense to keep interface configuration when a vhost interface is deleted. This fix makes sure thread configuration is removed. Change-Id: I4b3b75d98c15b544c32928f79ef52b7622a86b75 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
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>