aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet
AgeCommit message (Collapse)AuthorFilesLines
2017-05-01TCP ooo reception fixesFlorin Coras8-40/+205
- Improve svm fifo handling of out-of-order segments - Ensure tsval_recent is updated only if rcv_las falls withing the segments's sequence space - Avoid directly dropping old ACKs - Improve debugging Change-Id: I88dbe2394a0ad7eb389a4cc12d013a13733953aa Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-28Fix hostname fencepost error in dhcp_compl_event_callback.Jon Loeliger1-2/+4
Hostnames are limited to 63 characters and a NUL terminator. Change-Id: Ie1724d83675cca5e8cdfcd99d8e56e530a044d5d Signed-off-by: Jon Loeliger <jdl@netgate.com>
2017-04-28af_packet: reflect admin device state on hostRay Kinsella3-15/+78
Setting the interface state in VPP on an af_packet device, was not being reflected on the host. This implied the user had to set the device state in VPP and then on the host, in order to put the interface into an 'up' state. This changes makes the device state consisent in VPP and the host. Change-Id: I6dc6aee79503e04576683db937b861337a2b375b Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
2017-04-28Fix memory leak on deletion of BD (bridge domain)John Lo1-3/+9
On BD deletion, free memory used by members vector and mac_by_ip4 and mac_by_ip6 hash tables. Change-Id: Ied467e79bb6636fd8788bdeddee660c66391bb7e Signed-off-by: John Lo <loj@cisco.com>
2017-04-28vhost: Disallow duplicate path name for vhost interfaceSteven2-1/+37
When creating or modifying a vhost interface, verify if the path name already existed and reject the command. Change-Id: I8b2d33b77c847f774492874f7d194fa72c488479 Signed-off-by: Steven <sluong@cisco.com>
2017-04-27LISP: fix deleting of locators, VPP-713Filip Tehlar1-0/+4
Change-Id: I4a2d24b7124dc9afaf81f29e06e43235a103a320 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-04-27VPP-716: IKEv2 responder fails to authenticate initiatorMatthew Smith1-15/+16
Fix handling of IDi and IDr when processing payloads in ikev2_process_auth_req Change-Id: If0d4441dc89f08f3753f38987406c002d43558ec Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2017-04-27vnet: update help message for intfc stateRay Kinsella1-1/+1
Add useful help information on set interface state. Change-Id: Ibcdcea2849ccaee4cc72bf38d79102beb0d4be11 Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
2017-04-27[VPP-710] tcp TCP_TIMER_ESTABLISH timeout_handler occur segment faultflyingeagle231-1/+2
Change-Id: Ie43b8f1c91600d44dff67e9348fb2fe83efc60c2 Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>
2017-04-26vhost: Fix mmap size calculationPierre Pfister1-3/+3
I had a bug where a requested size of 1G was resulting in an aligned size of '1G + 2M', resulting in an OOM error. Previous code was adding one huge page size when memory is already aligned. Change-Id: Idd3aa0e9b893fb3efccba6ae1c7161e26d3f9456 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2017-04-26vhost: core dump on quit with worker threadsSteven1-0/+2
Patch 6347 removed the socket file when the interface is deleted and when VPP process is exitting. The CLI for deleting the interface has builtin vlib_worker_thread_barrier_sync to prevent the worker threads from running. Unfortunately, the CLI quit does not have the builtin vlib_worker_thread_barrier_sync. As a result, it may cause the worker thread to crash. The fix is to add the vlib_worker_thread_barrier_sync in vhost_user_exit. Change-Id: I1eff81170e131098f1799662f0ab48d6fca3def7 Signed-off-by: Steven <sluong@cisco.com>
2017-04-26IP Flow Hash Config fixesNeale Ranns16-74/+160
- the flow hash config is (and was) cached on the load-balance object so the fib_table_t struct is not used a switch time. Therefore changes to the table's flow hash config need to be propagated to all load-balances and hance all FIB entries in the table. - enable API for setting the IPv6 table flow hash config - use only the hash config in the fib_table_t object and not on the ipX_fib_t - add tests. Change-Id: Ib804c11162c6d4972c764957562c372f663e05d4 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-25Session/tcp coverity fixesFlorin Coras7-102/+96
Change-Id: Ic5467df16e870b49c49678b1dbb40f4a2390b3c9 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-25"autoreply" flag: autogenerate standard xxx_reply_t messagesDave Barach23-1366/+132
Change-Id: I72298aaae7d172082ece3a8edea4217c11b28d79 Signed-off-by: Dave Barach <dave@barachs.net>
2017-04-25Add sack tx unit testFlorin Coras4-18/+185
Change-Id: Ib91db6e531231bdc52b0104673a912bee024872f Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-25LISP: clean DP when deleting locators in useFilip Tehlar1-14/+76
Change-Id: Ia8736916bf59006bc581fe477db51ddd6bcc15e5 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-04-24BD:unify bridge domain creation codeEyal Bari5-111/+92
Change-Id: I29082e7a0c556069180a157e55b3698cf8cd38c7 Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-04-24BFD: disable gcc6 warnings in helper macrosKlement Sekera1-0/+11
Change-Id: Ibec3f1a2619d593accd8c560fb29d39d5617e16a Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-24vhost: remove socket linked file when deleting vhost interfaceSteven1-9/+18
- Unlink the file created for the socket when deleting vhost interface if we are the server mode. - Remove all vhost interfaces when VPP process is exitting. Change-Id: Id9b676cd027bbd67b473bbd01901d1ecc4d8e6cb Signed-off-by: Steven <sluong@cisco.com>
2017-04-24Debug CLI to magically create / delete a TCP sessionDave Barach4-55/+127
The session ends up in established state, and is hand-crafted to look like it was created by the builtin_server. This will come in handy for injecting packets into tcp46-established, along with ancillary debug CLI to adjust connection parameters. Immediate applications include screwball window cases, out of order segments, paws checking, and so on and so forth. Debug CLI script: loop create set int ip address loop0 6.0.1.1/8 set int state loop0 up set ip arp loop0 6.0.1.2 feed.face.babe test tcp server test tcp session packet-generator new { name tcp limit 1 node ip4-input size 100-100 interface loop0 no-recycle data { TCP: 6.0.1.2 -> 6.0.1.1 TCP: 11234 -> 1234 ACK window 2000 seqnum 0 acknum 0 incrementing 100 } } Change-Id: I866c2159376064b7d14f70531022c1fe949258c2 Signed-off-by: Dave Barach <dave@barachs.net>
2017-04-24Improve Load-Balance MAPsNeale Ranns16-199/+571
- only build them for popular path-lists (where popular means more than 64 children) the reason to have a map is to improve convergence speed for recursive prefixes - if there are only a few this technique is not needed - only build them when there is at least one path that has recursive constraints, i.e. a path that can 'fail' in a PIC scenario. - Use the MAPS in the switch path. - PIC test cases for functionality (not convergence performance) Change-Id: I70705444c8469d22b07ae34be82cfb6a01358e10 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-24Session layer improvementsFlorin Coras18-270/+378
Among others: - Moved app event queue to shared memory segment - Use private memory segment for builtin apps - Remove pid from svm fifo - Protect session fifo (de)allocation - Use fifo event for session disconnects - Have session queue node poll in all wk threads Change-Id: I89dbf7fdfebef12f5ef2b34ba3ef3c2c07f49ff2 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-21[VPP-704]./uri_tcp_test slave , uri test segment faultflyingeagle231-1/+1
Change-Id: I19dcc3fcf85c63dc7a7f35e023f6269c9f233d3b Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>
2017-04-21[vpp-705]uri_cli issue:show session get nothing tips when session management ↵flyingeagle231-2/+2
disable Change-Id: I6844732adcfdd534512f0925059d92b70dcdc080 Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>
2017-04-21CGN: IPFIX loggingMatus Fabian1-1/+2
maximum entries per user exceeded event Change-Id: Ie35d7f40f55001e2ef4a38f934f176594f25b189 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-04-19Learn IP6 link-local ND entries from NSs sourced from link-local addressNeale Ranns2-2/+8
Change-Id: I4c3ce4d58df7977490fc94991291422ea1e31ee3 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-19Add more svm fifo unit testsFlorin Coras1-59/+246
Change-Id: Ifc07b3f90ac155c26c3a216e073b474b499ebd44 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-18Memory leak in load-balance mapsNeale Ranns2-5/+20
Change-Id: Iec67ae1232e346d5e0000e0b4c997fdc31865bc6 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-18Fix fifo ooo bugs and improve testingDave Barach5-56/+493
Change-Id: If3c01e318bcb740ca5b240c63f712e2167082a80 Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-15Set lower bound on persist timerFlorin Coras2-7/+10
Change-Id: Ie98ecb8944e4d27e943797948fad41ec074d6720 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-14tcp: completed trace functionsClement Durand2-35/+110
* Populated the trace struct that weren't used before * Modified and created format functions to format tcp packets and connections * Completed the node definitions to add the format_trace function * Filled the tracing parts with `vlib_add_trace' calls in each tcp node function For the nodes in tcp_input.c, there is a verbose trace and a non-verbose trace. Each packet goes through tcp[4-6]-input which is traced with `format_tcp_rx_trace', and the other nodes are traced with `format_tcp_rx_trace_short'. Change-Id: I4f2eed023f5973c14343132a33b06131cf063aa2 Signed-off-by: Pierre Pfister <ppfister@cisco.com> Signed-off-by: Clement Durand <clement.durand@polytechnique.edu>
2017-04-13Session layer refactoringFlorin Coras20-1437/+2121
Major refactoring of the session layer api - Add attatch api for application binding to the the session layer - Simplify listen/connect calls - Update application CLI - Add transport endpoint to accept callback - Associate segment manager to application and allow for multiple binds/connects per app Additional: - svm fifo cleanup - add fifo free, format fns - add fifo offset enqueue unit test Change-Id: Id93a65047de61afc2bf3d58c9b544339c02065af Signed-off-by: Florin Coras <fcoras@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net>
2017-04-13tcp builtin_client: bug correction and short_helpClement Durand1-1/+2
The missing call to `vnet_session_enable_disable' would cause segfaults because of an uninitialized session pointer. Just as in the builtin server the session needs to be enabled for the client. The `short_help' of the CLI command was also populated with the arguments that are accepted in the parsing function `test_tcp_clients_command_fn'. Change-Id: I88c16efa80597dd19b406e8cf1c87aec1ec73573 Signed-off-by: Clement Durand <clement.durand@polytechnique.edu> Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2017-04-13Remove unsed parameter from fib_table_entry_special_add() (only used in FIB ↵Neale Ranns15-56/+30
tests). The DPO was incorrectly initialised with FIB_PROTO_MAX Change-Id: I962df9e162e4dfb6837a5ce79ea795d5ff2d7315 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-13LISP: make statistics thread safeFilip Tehlar9-50/+106
Change-Id: I056dc6246f79d887d69ad459a6b8b3092a099baa Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-04-11LISP: show mapping negative action in CLIFilip Tehlar1-2/+3
Change-Id: I26087cbde40cc5f2f1cb501ca6e791292e02badf Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-04-11Devices: set interface placement does not remove the old interface placementSteven1-3/+0
The command set interface placement is supposed to remove the existing interface placement and add a new interface placement based on the given options. My quick test for the CLI shows that the old interface placement continues to exist. But the new interface placement is also added. The bug exists in vnet_device_input_unassign_thread which checks the old thread index is the same as the passed thread index and skips the deletion if they are the same. The fix is to remove the check which is not supposed to be there. Change-Id: Ib055721fad47513949a03b3cb6dc292bd19fd1e8 Signed-off-by: Steven <sluong@cisco.com>
2017-04-11MPLS Mcast coverity fixesNeale Ranns3-3/+3
Change-Id: Ic07ec5d4c2560a414d5f4f7eb37e10faf591664a Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-11MTRIE coverity fixesNeale Ranns1-6/+8
Change-Id: If98355bebe823f45b11b0908a8d7700ab273a6db Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-11Remove usued, redundant and deprecated code from lookup.hNeale Ranns14-163/+72
Change-Id: Ic16bc10d0b2877b2afdf052615f9334f31b9519f Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-11Fix bug in configure 'pcap drop trace on file xx.cap' command (VPP-691)jerryian1-1/+1
Change-Id: Id9cc1fbe18099fae483a823dc7c2b16d6bc46a8c Signed-off-by: jerryian <gu.jian1@zte.com.cn>
2017-04-11vhost: interrupt mode enhancementsSteven2-34/+26
- Add cpu index to the vring structure for quick lookup - Reduce the code that needs to be protected by vlib_worker_thread_barrier_sync - Set minimum timer no less than 1 ms Change-Id: Iafef4bf6879a8efb350abf4e0f517e38f7ff7a8b Signed-off-by: Steven <sluong@cisco.com>
2017-04-10Common device-input interrupt infraDamjan Marion6-29/+180
Change-Id: I23b588eb56a3f5690158449a1f9bc8053cd3d251 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-07MPLS McastNeale Ranns68-1044/+3962
1 - interface-DPO Used in the Data-plane to change a packet's input interface 2 - MPLS multicast FIB entry Same as a unicast entry but it links to a replicate not a load-balance DPO 3 - Multicast MPLS tunnel Update MPLS tunnels to use a FIB path-list to describe the endpoint[s]. Use the path-list to generate the forwarding chain (DPOs) to link to . 4 - Resolve a path via a local label (of an mLDP LSP) For IP multicast entries to use an LSP in the replication list, we need to decribe the 'resolve-via-label' where the label is that of a multicast LSP. 5 - MPLS disposition path sets RPF-ID For a interface-less LSP (i.e. mLDP not RSVP-TE) at the tail of the LSP we still need to perform an RPF check. An MPLS disposition DPO performs the MPLS pop validation checks and sets the RPF-ID in the packet. 6 - RPF check with per-entry RPF-ID An RPF-ID is used instead of a real interface SW if index in the case the IP traffic arrives from an LSP that does not have an associated interface. Change-Id: Ib92e177be919147bafeb599729abf3d1abc2f4b3 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-07Fix gpe dp args to allow for 32 bit bridge domain ids, VPP-690Florin Coras1-1/+1
Change-Id: I4e3df197eed33acbceaff495279def8716773303 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-07VPP-684.Add ip which mask length exceeding upper limit,ping segmentfaultflyingeagle231-1/+4
Change-Id: I2d1c5e4dbdcab2a81d6c88801183ca0bbc83e1d9 Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>
2017-04-06BFD-FIB interactionsNeale Ranns21-144/+1550
- single-hop BFD: attach a delegate to the appropriate adjacency - multi-hop BFD [not supported yet]: attach a delegate to the FIB entry. adjacency/fib_entry state tracks the BFD session state. when the state is down the object does not contribute forwarding hence and hence dependent objects will not use it. For example, if a route is ECMP via two adjacencies and one of them is BFD down, then only the other is used to forward (i.e. we don't drop half the traffic). Change-Id: I0ef53e20e73b067001a132cd0a3045408811a822 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-06VPP-686: create bridge-domainChoonho Son1-2/+4
- update default flags - add missing flag learn Change-Id: I50a1a001848769836468838775b59d3414d27710 Signed-off-by: Choonho Son <choonho.son@gmail.com>
2017-04-06Use thread local storage for thread indexDamjan Marion63-453/+470
This patch deprecates stack-based thread identification, Also removes requirement that thread stacks are adjacent. Finally, possibly annoying for some folks, it renames all occurences of cpu_index and cpu_number with thread index. Using word "cpu" is misleading here as thread can be migrated ti different CPU, and also it is not related to linux cpu index. Change-Id: I68cdaf661e701d2336fc953dcb9978d10a70f7c1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-06VXLAN:fix tunnel delete not returning sw_if_indexEyal Bari1-0/+1
when tunnel is deleted reply should include the tunnel's sw_if_index instead of ~0 Change-Id: Ie5e04f4feab9cf2c90f0e155ec0fb9ca839a956d Signed-off-by: Eyal Bari <ebari@cisco.com>