summaryrefslogtreecommitdiffstats
path: root/vnet
AgeCommit message (Collapse)AuthorFilesLines
2016-12-02feature: add interface-output arcDamjan Marion4-2/+126
Change-Id: Ifea275a312e0f2474cdc3a336ac51ea83e403c74 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-02Fix dpdk_validate_rte-mbuf for chained buffersPierre Pfister1-4/+5
Change I4ad40f398f7b5cf introduced a bug with chained buffers. This patch should fix it. Change-Id: Ia409d5eb90fcd6d7ff3c7da0836edfd2eb25998b Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-12-02feature: introduce feature arc end nodesDamjan Marion3-23/+35
This change allows us to keep feature path disabled until 1st feature is enabled. Enabling 1st feature also means that end feature node is enabled helping feature arc tenants to reach the end. Change-Id: Idbd64e681bd2b42e7c67612074649e5ae51f46e6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-02MPLS infrastructure improvmentsNeale Ranns46-2596/+2694
- deprecate MPLSoEth and MPLSoGRE; replace with generic MPLS tunnel. - deprecates CLI 'mpls encap ..'; replace with addition of MPLS out label to a route/tunnel. - support for MPLS 'routes', e.g. MPLS x-connects. - deprecates CLI 'mpls decap ..'; replace with 'mpls route .. ' Change-Id: Ibda46544912f880d0200f22bf9ff9b52828fcc2f Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-12-02API: Packaging of JSON files.Ole Troan1-4/+4
Change-Id: If041b6faf1a091d4758b514f0a8cd800ee0e6a89 Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Ole Troan <otroan@ot-vpp.cisco.com> Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-01Add a 64-byte interface "tag" for vhost and tap interfacesDave Barach4-1/+107
This patch should dispose of spurious objections around interface tag requirements, currently in use as excuses not to support the vpp ML2 plugin. Add "u8 tag[64];" to the sw_interface_details message sent by vpp to control-plane clients. Add u8 tag[64] to the create_vhost_user_if and tap_connect APIs. Added debug CLI to set/show/clear the interface tag on any vnet sw interface. Added the sw_interface_tag_add_del API to set/clear tags on any vnet sw interface. There can be no expectation of "tag atomicity" with respect to physical hardware. Vpp discovers devices before establishing a control-plane connection. This patch upload verifies using the csit oper-161128 branch Change-Id: If8520119e7a586c5ccf0fdda82484ac205622855 Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-01Add vxlan-bypass feature to IP4 forwarding pathJohn Lo5-6/+447
Added vxlan-bypass feature which can be enabled on the underlay interface which receive VXLAN packets to accelerate VXLAN decap processing. The CLI to enable it is: set interface ip vxlan-bypass <interface> [del] With this feature enabled on an interface, there is an overhead for non-VXLAN packets at about 13 clocks per packet. The API is created to support vxlan-bypass for both VXLANoIPv4 and VXLANoIPv6. With this change, vxlan-bypass is only implemented for IPv4 forwarding path. Change-Id: Ica7239f642010b231eade7fd5009aa4b42c119d3 Signed-off-by: John Lo <loj@cisco.com>
2016-12-01ARP un-unmbered called when no interfaces are unnumberedNeale Ranns1-3/+11
Change-Id: I4bb60d6382f0955dbf4848225a9fd6985b906fbc Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2016-12-01doc: doxygen documentation for vhost-user CLI Commmands (VPP-279)Billy McFall2-3/+246
Change-Id: I1f3cf7c786b0a86b56a1cd7d9650e446515f1504 Signed-off-by: Billy McFall <bmcfall@redhat.com>
2016-11-30Enabling AES-GCM-128 with 16B ICV supportRadu Nicolau6-90/+250
Change-Id: Ib57b6f6b71ba14952ad77477a4df3ab33b36fef4 Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
2016-11-30VXLAN multicast dst (remote) address supportEyal Bari15-152/+260
Added support for multicast vxlan tunnels which are used for bridge domain flooding instead of flooding the all unicast tunnels in the bridge domain. features added: * conditional flooding to some of the BD members - based on existance of multicast tunnel member * added local multicast adjacency - multicast packets are handled as the same as unicast - based on src (unicast) address * refactored some of vxlan tunnel creation code - to unify ip4/6 handling Change-Id: I60cca4124265a8dd4f6b2d6ea8701e52e7c1baa4 Signed-off-by: Eyal Bari <ebari@cisco.com>
2016-11-30Start spliting vpe.api into logically related piecesDave Barach6-1/+251
To reduce rebase / manual merge pain, among other things Change-Id: I3186df0479066916a2ca69c48759178b45ef035c Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Ole Troan <ot@cisco.com>
2016-11-29Improve test for unlocking LISP src FIBFlorin Coras1-9/+18
Check that either src FIB is empty or only default is present. In some situations we may overwrite/delete default. Change-Id: I4a90804cc30ea8e3aa24e36a07f8096b8d3e46bc Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-11-29span: fix wrong next1 feature index in dual loopPavel Kotucek1-3/+3
Change-Id: I84e822f46fd1a0b83865073e797ef3ac03280e72 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
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>