aboutsummaryrefslogtreecommitdiffstats
path: root/vnet/vnet/lisp-cp/control.c
AgeCommit message (Collapse)AuthorFilesLines
2016-12-28Reorganize source tree to use single autotools instanceDamjan Marion1-4950/+0
Change-Id: I7b51f88292e057c6443b12224486f2d0c9f8ae23 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-15LISP: Fix several control plane message issues, VPP-558Filip Tehlar1-107/+208
* Fix TTL in map-regster message (defaults to 15 minutes) * Handle multiple local EID registration in a for loop * Parse multiple records in map-notifies, not only one * Parse map-notify in the worker thread instead of the main thread Change-Id: Ife68c2227bc5abf14c19f1a948a88d34de3b4af9 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-12-13LISP: Move parsing of LISP map-reply to worker thread, VPP-554Filip Tehlar1-81/+86
Change-Id: I2c3093068b97bb3ed10e1ecb067fc297013d063c Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-12-07LISP mapping timersFilip Tehlar1-1/+59
Change-Id: I4cd600189e936b07b628371df2f7fe2e2dc3e63d Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-12-06Implement LISP control plane messagesFilip Tehlar1-55/+933
* Map-register * Map-notify * RLOC probing Change-Id: I7f6295376b21cd67805446dfd1c1033acead2d4b Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-10-25Fix LISP src/dst based policyFilip Tehlar1-7/+99
Change-Id: Ibcc58ad50e33cd26367fd28f60334e29f45a094c Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-10-12VPP-362 Implement dumping of LISP adjacenciesFilip Tehlar1-2/+88
Change-Id: Ieea56f3bf9e749878d9f2b35d39d9f7a9cdabde4 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-10-05Fix LISP map-request resend deadlockFlorin Coras1-4/+7
Change-Id: I2cc57079741279669241b88d0317853e1312e8c5 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-10-03Fix string parsing in lisp map-request itr-rlocs commandFilip Tehlar1-1/+1
Change-Id: Ie17b324492d61130690ba9d05821eaefe10072d4 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-10-03L2 over LISP and GRE (VPP-457)Neale Ranns1-35/+37
Change-Id: I0d7f9c7f41a9f9e0acb0950adedb90d45df08c2a Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-09-30VPP-454 Fix LISP GID dictionary issueFilip Tehlar1-1/+4
GID dictionary IP prefix entries are rewritten with more narrow one which is not desirable. This patch does exact matching instead of longest prefix matching. Change-Id: I0191e23229a69ffe86f82ea4d71e4a5534dbb5b0 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-30VPP-450 Fix adding LISP adjacencies via CLIFilip Tehlar1-63/+42
Change-Id: If90c9c630629e727fffc5d450516045a04433661 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-27LISP Source/Dest control plane support, VPP-197Florin Coras1-5/+156
Change-Id: If88e4161e0944b657e6183b7b44348f7f46ba0a8 Signed-off-by: Florin Coras <fcoras@cisco.com> Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-22Fix lisp-cp table_id lookup for punted packetsFlorin Coras1-6/+6
Change-Id: Ibe6f8c6fadb2e467353bafebffde04bc6eb72af3 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-09-21A Protocol Independent Hierarchical FIB (VPP-352)Neale Ranns1-57/+83
Main Enhancements: - Protocol Independent FIB API - Hierarchical FIB entries. Dynamic recursive route resolution. - Extranet Support. - Integration of IP and MPLS forwarding. - Separation of FIB and Adjacency databases. - Data-Plane Object forwarding model. Change-Id: I52dc815c0d0aa8b493e3cf6b978568f3cc82296c Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-09-13VPP-376: Refactor LISP dump API + VATFilip Tehlar1-4/+10
- refactor VAT so it won't cache data - remove unused filter flag from locator dump API call - json structure changed for locator and EID table dump calls - remote mapping VAT cli now accepts string for negative mapping action Change-Id: I776fb50659aaa7e98ad93715d282a83f78287344 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-06VPP-386 Fix map-server output in lisp-cp-lookup traceFlorin Coras1-6/+3
Change-Id: I67dd7896932b8ea96062b9ff074959c172b51ba4 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-08-26VPP-357 Fix vni for LISP fwd entry removalsFlorin Coras1-1/+1
Change-Id: I5d20c1939f7a5a142bf696b34143f7ebca6afbcb Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-08-26VPP-329: Add L2 support to lisp_eid_table_map_dumpFilip Tehlar1-3/+33
Change-Id: Idfb115cd1f95394f4a4a569dc34c0488a1d58558 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-23VPP-342: Don't allow remote mapping to overwrite local or static mappingFilip Tehlar1-3/+17
Change-Id: I9888d7c087da538b81a6a1967edbdf1103cc095a Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-17VPP-260 Coding standards cleanup - vnet/vnet/lisp-cpFlorin Coras1-1351/+1446
Change-Id: I29b84c44c12ab746e9e61c30efa0ac3418d1a09a Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-08-16VPP-330 Track pending map-requests with a fifoFlorin Coras1-8/+11
Change-Id: Icc64abb91047f756c955c880f6f85b26faef666a Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-08-15VPP-198: LISP map-resolver failover algorithmFilip Tehlar1-52/+370
Change-Id: Iadd49e58a359a2e58610bd1793818ec8a25d51f1 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-11VPP-196 LISP L2/L3 tunnel multihomingFlorin Coras1-24/+30
Change-Id: If96d9ff23a7aacdb684494f854d4029f55837065 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-08-04LISP multihoming API changes and cleanupFlorin Coras1-12/+12
Change-Id: I106352a6da0fad2b91dc8593f8d6d664af3113a8 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-08-02API support for src/dst based routing policy in LISPFilip Tehlar1-30/+15
Change-Id: I0ae90f884378acabeda310a6431c89f3ec195d0e Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-01Fix new LISP Coverity warningsFlorin Coras1-19/+3
Change-Id: I60ef5218110e596f77d11e3949284a7a7af7dedb Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-07-31Initial L2 LISP supportFlorin Coras1-87/+192
This introduces support for layer 2 overlays with LISP. Similarly to L3, all tenant packets to be encapsulated are captured by an interface, but the mapping (layer binding) instead of being between an L3 VRF and a LISP VNI, it is between and an L2 bridge domain and a VNI. At a high level, this results in two important properties: 1) the source and destinations of all packets flooded in the bridge-domain are mapped via the LISP control plane and the replies are converted into data-plane tunnels tracked via a LISP specific source/dest L2 FIB 2) All packets reaching the interface and matching a source/dest L2 LISP FIB entry are L3 (IP4/6) encapsulated. This is solely a unicast feature, therefore at this time ARPs are not handled in any special way. Change-Id: I0b7badcd7c6d5166db07d4acd2cc4ae7fba3e18e Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-07-28Edit eid table dumpAndrej Kozemcak1-8/+30
- change output from eid table - add eid filter: all - dump all eid local - dump local eid remote - dump remote eid Change-Id: Ifaaad8abf44cf70c4c22d05252e501456f1f1083 Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-07-28LISP - Bug fix, can`t remove static remote mappingAndrej Kozemcak1-62/+35
Fix bug, can`t remove static remote mapping, small update in LISP remote mapping API. Change-Id: Ide32485a1a0d2cf08829d544500fa2755214b8cc Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-07-27VAT add_locator_set api support multiple locatorsAndrej Kozemcak1-3/+10
Change-Id: I22df3d4407bd7fdd953783f00605380a2d6fb46e Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-07-26Fix Coverty warning in lisp_add_del_map_resolver_command_fnFlorin Coras1-2/+9
Change-Id: I074d9e026ae42aa14caedc56287816ab64968425 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-07-20Add new lisp API - Show pitrAndrej Kozemcak1-0/+44
VAT API: - show_lisp_pitr CLI API: - show lisp pitr Change-Id: Ibd31cb09efc34a49b439338e9467faf7a151f2cd Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-07-13Add API dump call for vrf/vni mapping to vpp-api-testFilip Tehlar1-1/+1
Change-Id: I7a028ce9ddf21bd3a7d4991ba1be05e5e74202d6 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-07-11Simplify API to add LISP adjacenciesFlorin Coras1-69/+45
The API to add an adjacency requires that two things be provided 1) a local and a remote eid 2) the whole remote mapping for the remote eid. Since the API to add remote mappings can be used for 2), 1) in combination with this API are enough to add an adjacency. Change-Id: Ibe7474924bc3f28b6aed19cefa78fdb812de5eac Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-07-08Add locator prority and weight to LISP APIFilip Tehlar1-5/+20
Change-Id: Ifa9bcd9a9c5dbda00ff8096909ccbc822445b8cb Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-07-07Fix deletion forwarding entries when deleting static remote mappingFilip Tehlar1-0/+3
Change-Id: I11207a0452cbccfb959ff426faefda4820463007 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-07-07Add an option to dump details about specific LISP EID in API/CLIFilip Tehlar1-7/+42
Change-Id: Ie5e6751fd791e7ca728522632332abe442a1a75b Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-07-04LISP CP cleanup and refactoringFlorin Coras1-704/+751
- avoid code duplication by using only one function for insertion/updating of remote mappings into map-cache. Static remote mappings are now inserted using this function as well and therefore the code does not try to build forwarding entries out of them now. - bring up lisp dp interfaces when a vni is bound to a vrf. - ensure eids are cleaned-up before parsing control plane messages - ensure map-requests are always sent to default fib - new API to insert lisp adjacencies as opposed to remote mappings which should be replaced post merged in CSIT - reorganize and group functions according to their purpose and use. No need to pre-declare internal functions now. - this does not touch locator-set logic Change-Id: Ibcfc0f2d9c1bc1c9eab6e83c1af1b4cf9302ac10 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-06-27Add MAC address support to LISP map-cacheFilip Tehlar1-15/+38
Change-Id: I80f05a222cb0f728ad2460efe33955e781b6849f Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-06-24Reformat output of lisp eid-table show command.Filip Tehlar1-11/+53
Example output: DBGvpp# sh lisp eid EID type locators [100] 6.0.2.0/24 local(ls1) host-intervpp1 [200] 6.0.2.0/24 local(ls2) host-intervpp1 [100] 6.0.4.0/24 remote 6.0.3.2 [200] 6.0.99.0/24 local(ls3) local0 host-intervpp1 [0] 6.0.0.0/16 remote Change-Id: I69200bf7636167bce931def88828503a75496f4b Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-06-23LISP EID virtualization supportFilip Tehlar1-12/+167
Change-Id: I892c001cfdff9d8d93e646641d96520beb3c6265 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-06-22CLI to update locator-setAndrej Kozemcak1-6/+83
Change-Id: I60ea36362a2c4b7c936dde501a3d737b68a8c9ff Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-06-21Check if LISP is enableAndrej Kozemcak1-5/+66
Lisp enable flag is enforced. DP API should not be call if the dp is disable. Change-Id: I265cf3ea0460987f3fd5fd84b43127dd3b1c43c3 Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-06-17New LISP API map-request itr-rlocAndrej Kozemcak1-1/+129
API to constrain source locator when sending map-requests. lisp map-request itr-rloc <locator-set name> Change-Id: I19f3a1aa8a387ca8662ccf3a4ad774ea7d655f80 Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-06-17Consolidate use of IP fib functions in LISP CPFlorin Coras1-143/+108
Clean up, refactor and consolidate LISP CP functions that interact with ip interfaces and fibs. Change-Id: I214eaebbec8d43646118df0948d0f82f923a5b43 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-06-15Fix LISP locator pair selectionFlorin Coras1-128/+213
Make sure when selecting the local and remote locator pair for a data-plane tunnel that the local locator has a route, in the FIB, to the remote one. Change-Id: Idbc8a28a8ede786c11ef98cb18eba4a78c4a228e Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-06-15Fix remote mapping CLI for unset v6 local eidFlorin Coras1-5/+12
If when configuring a remote v6 mapping the local eid is not set, configuration fails because the code expects local (default v4) and remote eids to have the same AFI. Change-Id: If791d2e8a104ea36603576f8b2797cc07bc2654b Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-31Add CLI/API for clearing all remote mappingsFilip Tehlar1-23/+77
Change-Id: I5aef12d3a9c8daefff52e5f958c504f5d2ff9fd0 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-31ONE-15: Fix duplicate locator, refactoring locatorAndrej Kozemcak1-240/+153
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>