aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet
AgeCommit message (Collapse)AuthorFilesLines
2017-05-10device: Add callback for set interface rx-modeSteven3-27/+72
- When the interface rx-mode is changed via CLI, the corresponding device may want to know about it and to reset the driver. This patch is to add the callback. - In the function vnet_hw_interface_set_rx_mode, it appears it is missing a line hw->rx_mode_by_queue[queue_id] = mode because the function is checking if the new mode is the same as hw->rx_mode_by_queue which is initialized to POLLING. So if the function is called to change the mode to interrupt, it just returns without doing anything. This is the check that I am talking about in the same function. if (hw->rx_mode_by_queue[queue_id] == mode) return 0; Change-Id: Iaca2651c43e0ae3fda6fd8dc128e247b0851cc65 Signed-off-by: Steven <sluong@cisco.com>
2017-05-10Improve TCP option handling, VPP-757Florin Coras3-15/+54
Change-Id: Ica634536387d1196366ec96c52770287fcab0768 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-05-10Builtin debug cli http serverDave Barach3-5/+646
Visit http://<vpp-ip>/show/interface or similar. Change-Id: I076b4661cf19d1b94bb01efdadb5849446be915e Signed-off-by: Dave Barach <dave@barachs.net>
2017-05-10Ignore data in RST segments, VPP-723Florin Coras2-59/+53
Change-Id: I01650b3b10b79ec549be0d5eceb0e318c06fcb50 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-05-09Fix remaining 32-bit compile issuesDamjan Marion5-18/+21
Change-Id: I9664214652229b663c3e3ba7406b4ede96bfb123 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-05-09API support for IPsec tunnel interface creationMatthew Smith2-1/+87
Change-Id: I8c9f886cb95e92adbe1c646844789ca0a6bb6140 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2017-05-09Add support for tcp/session buffer chainsFlorin Coras5-75/+210
Change-Id: I01c6e3dc3a1b2785df37bb66b19c4b5cbb8f3211 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-05-08L2FIB:CLI/API to flush all non-static entriesEyal Bari7-88/+157
added CLI l2fib flush-mac all added API l2fib_flush_all flushes all non static l2fib entries on all valid BDs Change-Id: Ic963c88f4bed56308c03ab43106033132a0e87be Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-05-07Remove L2 GPE interface from bridge when deleting, VPP-833Florin Coras1-0/+6
Change-Id: I32725006e9235a02cada5b0ad8974bfc4274339f Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-05-07Include TCP options in segment size computationFlorin Coras5-42/+97
Ensure that TCP data plus options does not exceed peer's advertised MSS. Change-Id: I0de824cb3619346f0394dd694942fc1cf33a82b7 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-05-07Fix TCP loss recovery, VPP-745Florin Coras5-48/+72
Allows pure loss recovery retransmits only on timeout. Change-Id: I563cdbf9e7b890a6569350bdbda4f746ace0544e Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-05-06Fix mac check issue for vitual tunnel interface with no mac addressHongjun Ni1-0/+3
Change-Id: I6ce21317fcaa25781199f4329be815f076ab8b09 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2017-05-05Fix L2FIB learn counter and memory cleanup of mac_by_ip6 hash tableJohn Lo2-5/+16
Fix global_learn_count to be incremented or decremented by add and deletion of non-static MAC entries from L2FIB only. Without this fix, the counter may reach the threshold of 1M and stop MAC leanring even though number of MAC entries in L2FIB is less than the threshold. Cleanup indirect hash key memory used by mac_by_ip6 hash table on BD deletion. Change-Id: I13986c4e6304c7956122520dd3f83d6bb6e65a15 Signed-off-by: John Lo <loj@cisco.com>
2017-05-05ip6_to_ip4.h coverity fixMatus Fabian1-1/+1
Change-Id: Ia11fa42d1f2b21a6195e7dc890f958830f83d3a7 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-05-05First commit SR MPLSPablo Camarillo22-40/+1325
Change-Id: I961685a2a0e4c314049444c64eb6ccf877c278dd Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
2017-05-05NAT64: Move IPv6-IPv4 virtual reassembly code from MAP-T to common library ↵Matus Fabian8-1503/+1461
(VPP-708) Change-Id: I9ad636f80bf109ffac9ca1b6d80d5f2c31f2076a Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-05-04Fixes and improvements in session hashtable keysClement Durand1-53/+35
Fix in v6 keys : * The copy of the keys was only partial A few suggestions are applied in this commit : * Since there are not so many unused fields, we avoid to memset 0 and prefer setting the unused fields to 0. * By using a cast, it seems painless to avoid allocating a structure for the keys creation. Change-Id: Iaee6f036f2a979cceaeb297d98ce6c307a5ac029 Signed-off-by: Clement Durand <clement.durand@polytechnique.edu>
2017-05-04Fix coverity issueFilip Tehlar1-0/+2
Change-Id: I8110b2a1d7bf8a818c7e9b6f95c3f60324e8ccab Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-05-04LISP: group mapping records in map-register messageFilip Tehlar1-6/+19
Change-Id: I546c761acfbf880717163a035aa691b04337b7bf Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-05-03Fix vnet unit testsFilip Tehlar4-22/+40
Change-Id: Ibe55e4399c6b78d83268d7c49ed498cab7bfdb43 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-05-03L2FIB:flush interface learned macs on downEyal Bari4-39/+42
Change-Id: I80a723f55fcf2ecc3209a35e8297c88b45b1abfb Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-05-03change ip4_drop_node node register coding formatflyingeagle231-2/+2
Change-Id: Id4fdf2abf3bae3b14cdc6489ca16d2007da78d07 Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn>
2017-05-02Prevent Bridge Domain operations on BD 0.Jon Loeliger3-3/+64
The default bridge domain, 0, is created automatically with static features. It should be modified by neither the CLI nor the API. So add tests for, and reject any operation on BD 0. The new API error message BD_NOT_MODIFIABLE is returned in such cases. Change-Id: Iaf3dd80c4f43cf41689ca55756a0a3525420cd12 Signed-off-by: Jon Loeliger <jdl@netgate.com>
2017-05-02Use per-protocol default flow-hash config when the FIB table index is not knownNeale Ranns3-2/+44
Change-Id: If088e75801831befc6bddb77ea20abe9288b93c4 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-05-02Fix TCP tx when snd_wnd < smssFlorin Coras1-3/+4
Fixes VPP-728, VPP-729, VPP-730 Change-Id: Ie8c6c0dd006f98527525e87d19b508bb8d39db69 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-05-02BFD: don't crash if interface is deletedKlement Sekera1-33/+42
Instead, drop the BFD session associated with it.. Change-Id: Ie09877d5c94844be2e833900d9dde7f23edaf8cd Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-05-02Allow local/for-us replications for IP multicast routes on the CLINeale Ranns2-5/+8
Change-Id: I046d9402b79fdbc6a6663199ffff8e40a278fd51 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-05-02Add interface rx mode commands, unify rx mode and placement CLIDamjan Marion8-177/+321
Change-Id: Ib506c3e9d66170f29e3266ad6dc4d32b829befba Signed-off-by: Damjan Marion <damarion@cisco.com>
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>