summaryrefslogtreecommitdiffstats
path: root/vnet
AgeCommit message (Collapse)AuthorFilesLines
2016-06-15Fix double-enqueued packet in interface-output dual-loop, fixes VPP-116Damjan Marion2-19/+42
When speculative enqueue fails and a buffer needs to be moved to a new node queue the original buffer is not correctly removed from the original queue so buffer get send for transmit and encryption at the same time. This issue will only be hit with the double loop so low throughput traffic like pings will not hit the issue. This code path is also only hit when the feature flag is enabled so will not be hit by normal traffic Patch also reorgnizes code to reduce number of branches in the interface output node loop. Change-Id: I3653400e58bdfd833e6c42823bab51586128b54b Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-15Reset new indirect adjacdncy template before using itDamjan Marion2-0/+4
Change-Id: Ia69ba39364d4dfa1403c8fbb77b7990226bbcb85 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-13VPP-117: Fix ip4 and ip6 lookup and rewrite tracesPierre Pfister2-68/+95
Previous patch was printing wrong data since rewrite node traces an ethernet packet while other ip nodes trace an IP packet. This patch introduces different tracing functions for: - lookup node (where the fib index is valid) - rewrite node (where an ethernet frame is available) - other ip nodes (only the ip header is traced) Change-Id: I5971a2e89ae8668f5aed4a410565a5f27e01fc22 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-06-09VPP-106: fix performance hit due to unprefetched data readDave Barach3-6/+17
Change-Id: I1325b60b6deadcb51631e178011a31ee70c06cc7 Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-09VPP-117: Add trace to ip4 and ip6 lookup nodesPierre Pfister4-19/+84
The absence of trace in ip lookup nodes is misleading to many people. This patch adds ip lookup tracing and therefore contribute to worldwide happiness. In addition, this patch makes sure sw_if_index[VLIB_TX] is considered when tracing the fib_index value. In ip4/6-rewrite, the value corresponds to the tx interface index. The formatting function is therefore modified to take that case into account. Change-Id: I5915f0446a15c45e391eedfdfcedd9057aa6a237 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-06-09VPP-115: Remove stale ACL CLIs which are not supportedJohn Lo2-39/+3
The old ACL CLIs still show up in CLI help which can confuse users. Change-Id: I9a3722d3d649c4370df6a09b2c07628e7e4aa0f4 Signed-off-by: John Lo <loj@cisco.com>
2016-06-04VPP-113: BVI shall filter unicast DMAC for L2 to L3 forwadingJohn Lo5-15/+26
As BVI receive a packet with unicast DMAC from the BD, including unknown unicast flood packet, the packet should not be L3 forwarded unless its DMAC matches the MAC of the BVI. Change-Id: I46e18629c901062592c8ebe3a238c5cfdc1096b4 Signed-off-by: John Lo <loj@cisco.com>
2016-06-03VPP-100: Fix IP4 local handling of TCP/IP fragmented packetJohn Lo1-3/+3
Fix previous change that does not work on little endian machines. Use inline call ip4_is_fragment() which is endian neutral. Change-Id: I5a35d89d936650ab6c628dfc388b8c992a74a589 Signed-off-by: John Lo <loj@cisco.com>
2016-06-03VPP-91 fix sr tunnel add_del collision checkv16.06-rc2Chris Luke1-58/+85
The add_del function was not properly checking if a tunnel already existed; instead it was checking if the given tunnel name existed. If no tunnel name was given it flat out refused to add a tunnel even though that is optional. Cleanup the add/del parameter validation to "do what I expect" it to do: When adding a tunnel: - If a "name" is given, it must not exist. - The "key" is always checked, and must not exist. When deleting a tunnel: - If the "name" is given, and it exists, then use it. - If the "name" is not given, use the "key". - If the "name" and the "key" are given, then both must point to the same thing. Change-Id: I9b48ae0203f9664cf8af0f7dc49bf480ddec10d5 Signed-off-by: Chris Luke <chrisy@flirble.org> (cherry picked from commit e54436005341800f76a584299ef8bf99e8d66227)
2016-06-03VPP-92 Fixup some srv6 issuesChris Luke2-60/+70
Some small fixes to the srv6 code to bring it toward conformance with draft-previdi-6man-segment-routing-header-05. - The first segment needs to remain in the segment list. - The segment list template needs a space for the ultimate destination. - The ultimate destination needs to be inserted into that space when adding the SRH. Change-Id: I66db6912e0128da084f14ceca20918ef67ccff79 Signed-off-by: Chris Luke <chrisy@flirble.org> (cherry picked from commit 4b8b718ff9bbba3bea018505ac591bb737f68001)
2016-06-02VPP-100: Fix IPv4 local handling of IP fragmented packetsJohn Lo1-3/+7
Before VPP is enhenced to do IP reassembly of local packets, just set the protocol path to "experimental" for now so they will be error-punted as unknow IP protocol. Change-Id: I2ffefb0b4205357653ba24d80c722cafd5972fba Signed-off-by: John Lo <loj@cisco.com>
2016-06-01VPP-98 Dedicated storage for VXLAN over IPv6 hash keysChris Luke3-53/+66
When creating VXLAN over IPv6 the code was using storage for the hash key that could later be moved. Since the key is larger than the word size this was being referenced as a pointer; when the storage moves that breaks the hash. Instead allocate dedicated storage for the key. This patch also includes other minor cleanups, including using clib_memcpy in places it should be used and some whitespace fixes. Change-Id: I579f2cb515853ef56dedcca350fcad08aa6111a9 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-31VPP-102: vHost reconnect to previously used sockets on VPP restartJohn Lo1-0/+8
Change-Id: Ida11bddb52268e0e8513b7b379eeed6103bd48f1 Signed-off-by: John Lo <loj@cisco.com>
2016-05-31VPP97: Flooding of pkts with multiple buffers in BD with BVI crashes VPPJohn Lo2-9/+3
The loopback interface should use vnet_interface_output_no_flatten so follow-on buffers of a jumbo packet do not get put on the output frame and be sent back to ethernet-input or l2-input node. The replication_recycle_callback() function should not assume follow-on buffers of a jumbo packet are on the buffer free list. Change-Id: Ide646a6d9b43e82782c0581ea3022a9e70f82582 Signed-off-by: John Lo <loj@cisco.com>
2016-05-30ONE-15: Fix duplicate locator, refactoring locatorAndrej Kozemcak2-244/+155
Check duplication locator and clean after locator when remove it. Refactoring locator_set code. Change-Id: Ib83cbcddc7a363a60fa5b6a366203d0dc0ea7ca6 Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-05-28VPP-96 ENID driver update for rx of jumbo pkts using muliple mbuf'sJohn Lo2-2/+2
Change-Id: I0e985b079da3224f4886e3ee2cece4d046e291eb Signed-off-by: John Lo <loj@cisco.com>
2016-05-25ONE-14: Fix crash when re-enable LispAndrej Kozemcak1-4/+9
Change-Id: Ib95338d7055dea9036eddb7dff5ca7ccbcb35639 Signed-off-by: Andrej Kozemcak <akozemca@cisco.com> (cherry picked from commit 94e34764b46a2babcaea6b309158524a7c1bb632)
2016-05-25VPP-89: Fix an issue in format_vxlan_gpe_tunnelHongjun Ni1-0/+4
Change-Id: Ie81e2eb918e441ddaa9e7ab57e8bb0129f0f4f8f Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-05-16VPP-61 Patch2/2 Removing NSH from VPP for move to NSH_SFCKeith Burns (alagalah)10-1038/+5
Change-Id: I76359b621b2edc599cf2e9ee845d97293a5d46f7 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-16VPP-61 Patch1/2 - Remove NSH from VPPKeith Burns (alagalah)4-73/+0
- Had issues with original patch and CSIT, breaking into -- Makefile and API changes -- Follow up patch removing NSH directory Change-Id: I6c2f49a74d59b97ce4ea43799cc6f01f5cb1d5a2 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-16Add configure policer APIMatus Fabian3-43/+57
JIRA: VPP-67 Change-Id: I04560d78e2eb131cd6cc31472b70b3d3e8fdd79a Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-16VPP-68: L2 Rewrite: Support for chained classify tablesPierre Pfister1-0/+18
The classifying capabilities are pretty limited if only a single table can be used. This patch adds support for chained classify tables to L2 Rewrite feature. Change-Id: Ib678fe2028f17b441adb75d85bf3e31185e42c59 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-05-16VPP-69: Create fib or bridge domain with arbitrary IDPierre Pfister6-3/+89
It appeared to me that it might be usefull to allow users to create fibs or bridge domains without a complete knowledge of the current used IDs. These changes define fib and bridge domain constructors when the provided ID is ~0. In such a case, an unused ID is used to create a new fib or bridge domain. Change-Id: Iaba69a023296e6d17bdde45980f9db84832a3995 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-05-15ONE-13: Add CLI/API for LISP static remote mappingsFilip Tehlar4-1/+252
Change-Id: Ic4c717af9629541bac0a0e6c65d0157619c8f578 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-14VPP-63: clean up config scripts, remove specific hostnamesDave Barach37-59/+45
Change-Id: Ifb77256fa691b1a90045a10448835c09b764e74f Signed-off-by: Dave Barach <dave@barachs.net>
2016-05-13ONE-7: Fix map-request encapsulationFlorin Coras1-68/+81
We now try to find the first map-resolver IP we have a route to and decide the ip lookup node according to map-resolver IP. Change-Id: I68fc12861dc1e9a203ebf6caefd4f053a741a785 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-13VPP43 - NSH refactoring: Added nsh-map nodesKeith Burns (alagalah)19-2440/+1672
- 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-13ONE-11: Fix bugs in LISP APIAndrej Kozemcak1-1/+1
- check input variables - in locator_set dump, add support for remote locator_set Change-Id: Ib10028e83fead358f820ae45c71b6ca4dfbe2f1e Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-05-11ONE-9: Fix clang build errorsFlorin Coras2-4/+4
Change-Id: Icbf3e269471ee0fc1d21f842b2ea220328a0f891 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-11ONE-8: Fix adj signature issuesFlorin Coras2-29/+37
When inserting routes into ip4/6 fibs, we first added a dummy adjacency and afterwards manually updated its rewrite header to enable src/dst forwarding. The downside to this is that the adj signature is changed and therefore when deleting a route the adjacency signature is not removed from adj_index_by_signature hash resulting in crash if the same adjacency is re-inserted. This patch avoids the issue by enforcing the insertion of 'complete' adjacencies thereby obviating the need to update the rewrite header. Change-Id: Ib43bfe72a65e2cf9ef7685a99596eb1d7723e543 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-11ONE-6: dp is not programmed when re-enabling LISPFilip Tehlar1-6/+24
Change-Id: I4c0c5d44168da811a713943275430a378ff46929 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-10ONE-4: Add LISP enable/disable API/CLIFilip Tehlar4-0/+147
This patch adds an enable/disable API/CLI for control plane which calls similar functions for data plane. When re-enabling it also re-populates dataplane with tunnels and interfaces. Change-Id: Id8c3d6af90ecc0be331d502756914b1f62824046 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-09ONE-3: Delete dst route when src fib is emptyFlorin Coras1-1/+21
Properly check that src fib is empty. Change-Id: I4072169027a404cad66eaaa8450f7c18f1fa8073 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-09VPP-44: iOAM service and path verification using shamir's secret sharingShwetha Bhandari7-12/+1127
Change-Id: I445ad13f8f93cb75cacc94192c4ae85c8ca14e35 Signed-off-by: Shwetha Bhandari <shwethab@cisco.com>
2016-05-09ONE-5: Remove unused vnet_lisp_gpe_add_del_tunnel APIFlorin Coras2-46/+23
Change-Id: Ib22ec807d2b74b7c3cb37f66052cd07bc4d896db Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-07VPP-45 Fix crash when GRE packet received on new i/fChris Luke1-0/+3
If a GRE tunnel is created, no other interface added and the GRE tunnel is not set "up" then a crash occurs on the first packet for this tunnel because fib_index_by_sw_if_index[] does not yet have a mapping to the fib the new interface is in. The code to set this is missing from gre/interface.c Change-Id: I567ad74a2af3ea5afe4a40ed39a1d4395642f77c Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-06VPP-34 GRE traffic blackholes in encap directionChris Luke1-1/+12
The GRE code is missing the logic to indicate the "hardware" interface is up. The fix is to listen for admin up/down events on the "software" interface and reflect that into the hardware interface state. Change-Id: If06e4f03989b2c52c32f50c11e1943e42bb2609f Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-06Check IP adj_index to make sure it is valid to prevent possible crashJohn Lo2-2/+6
Change-Id: I439aac05638fd40e314bec8756e42a32c436321c Signed-off-by: John Lo <loj@cisco.com>
2016-05-05Fix vpp_lite build caused by missing definition of unlikely macroDamjan Marion1-1/+1
Change-Id: I11b34e171c1c7907dd3faec219866418b4e792f6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-05ONE-2: Add new LISP dump API for lisp gpeAndrej Kozemcak2-0/+14
API: lisp_gpe_enable_disable_dump Change-Id: I1c8e78f00f9a3f99c1f2f54884af565292e4ccf8 Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-05-05VPP-39 - refactoring of NSH into own folderKeith Burns (alagalah)8-136/+140
- 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-05-04NETMAP: Some fixesMohsin Kazmi3-11/+36
1) Correct the NIOCRXSYNC macro on receive side from NIOCTXSYNC. 2) Flush the pending messages in the tx rings. Change-Id: I581040d03b1633a3d6fb22fa1fb285bcb7975afb Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2016-05-04VPP-42: VPP crashes in IPsec code when running multithreadedMatthew Smith5-33/+58
Change-Id: Ib231642cfead5f5e8e45508361a11c87aad83b51 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2016-05-03VPP-15 Add decap-next for nsh-gre tunnel short_helpHongjun Ni1-2/+2
Change-Id: I1965e9852f62aaf8c1576b72446a43b5878eb452 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-05-03VPP-15 Add ethernet support for nsh-gre's decap-nextHongjun Ni1-1/+3
Change-Id: Icf3424671b4aa0f619983a3eb61785b533fdc11d Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-05-02Small fixes to lisp-gpe header and decapFlorin Coras2-12/+20
- enforce lisp-gpe router mode (set P bit) - fix selection of ip6 decap node - fix dual-dual lool error index init Change-Id: I1a9623c0eb7e81a2cfb60efaa88dc44ee65e664d Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-02VPP-31 Fix linker issue with new sr-replicateChris Luke2-5/+1
Changes in gnu ld in Ubuntu 16.04 tickles an issue with the declaration pattern used for vlib_node_registration when, as is the case in sr_replicate.c, the forward declaration is seen by the linker in a module before the real declaration. This patch uses the "extern" keyword in the forward declaration to avoid this issue and removes extra forward declarations. Change-Id: I075b0cd9932404e1360c7f9aec7114003d110f60 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-02VPP-30 sr_replicate requires DPDKKeith Burns (alagalah)3-0/+22
- added fix to disable functionality when no DPDK - may extend to support non-DPDK case in future. Change-Id: Ic8ad4eeb91c4866f3f102dd4a718898eb0419dee Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-02HONEYCOMB-10: jVpp - the new java API. C code and jar file generationMarek Gradzki1-1/+5
Added comments generation for C and Java files. Change-Id: Ifb670a5592eb871bfe68804f0a8d8f9b5b14f00a Signed-off-by: Marek Gradzki <mgradzki@cisco.com> Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-02Netmap: typo correctMohsin Kazmi1-1/+1
There is a typo mistake in netmap. This patch corrects it. Change-Id: Id358e0de74555ac7858c93fa1335f02abd5624b5 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>