summaryrefslogtreecommitdiffstats
path: root/src/vnet
AgeCommit message (Collapse)AuthorFilesLines
2017-05-20vhost: buffers leak and interface disable upon vring descriptor out of mmapv17.04.1Steven1-16/+9
When processing a vring descriptor which is outside of mmap, we disable the interface and spit a message to shut/no shut the interface. This is not practical as application using vhost cannot constantly checking the logs and do the recovery. The proposed fix is to log an error, like other errors that we encounter. The other bug is buffer leak in the function rewind. At the end of the while loop when b_current != b_head, we still have to give back 1 more buffer or add 1 to rx_buffers_len. Change-Id: I68c0b24f070e644cd8878f42272a7b518f14393f Signed-off-by: Steven <sluong@cisco.com> (cherry picked from commit 95827e430762a2858f4e56e1248a4a93d629a938)
2017-05-17ping command does not work when there is woker thread (VPP-844)flyingeagle231-0/+1
Change-Id: Ic896b237a7d141243e1b7d6d4fbb2a120f44363e Signed-off-by: flyingeagle23 <wang.hui56@zte.com.cn> (cherry picked from commit 92a838b14a1862ef07c631412069e968f303639b)
2017-05-17vhost: 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-05-17ARP learning fixes (VPP-843)Neale Ranns3-82/+68
learn ARP peers if, 1) it's a reply to a local address, 2) we are sending a response to a request. send proxy ARP responses only in the interface the request was sent. Change-Id: I22b949c65122824233076492b7dd537daca07bc2 Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit d5b6aa139856a1447f7bc5377058202110eaa4cf)
2017-05-17vhost: bad packet assembled from descriptor chainingSteven1-1/+2
When the descriptor is chained via multiple parts, vhost is supposed to reassemble the different parts to form a packet prior to passing the packet to the next input node. However, bad packet was seen, having bad ethertype, source, and destination mac addresses. The problem was due to the destination pointer not being incremented as each chain is processed. THe result was the first chain is copied to the beginning of the buffer, the next chain is copied, then the last chain is also copied to the beginning of the buffer. As a result, the ethertype, source and destination mac, etc, are being overwritten by the very last chain of the descriptor. Change-Id: I78f9a91de68c85574047912576dcc311d7597e21 Signed-off-by: Steven <sluong@cisco.com>
2017-05-15Validate ip6 interface fib tables early onFlorin Coras1-0/+5
This should avoid random crashes due to reception of packets (multicast in particular) before ip6 addresses are configured on the interfaces. Change-Id: Ibcf1a5a2ae2fa75f8b57da1b2f09f32c081210d7 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-05-13Fix FIB recursion loops via cover (VPP-842)Neale Ranns3-37/+87
Change-Id: Ia91c3e8cb27b9e4c1cccefc0a4857dd9995450ab Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-05-08Fix 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-04-21Fix issue with gre protocol registration when running multithreadedDamjan Marion2-39/+15
Change-Id: Ic5bd7da08f8a46b548d56516e4633f0b8badf2a1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-21Fix issue with udp port registration when running multithreadedDamjan Marion2-74/+51
Change-Id: I16606757176649e61f0a51895329586311144766 Signed-off-by: Damjan Marion <damarion@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-13Remove unsed parameter from fib_table_entry_special_add() (only used in FIB ↵Neale Ranns13-50/+27
tests). The DPO was incorrectly initialised with FIB_PROTO_MAX Change-Id: I962df9e162e4dfb6837a5ce79ea795d5ff2d7315 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-11LSIP: make LISP statistics collecting thread safe, VPP-692Filip Tehlar8-59/+83
Change-Id: If884835c0f63de162ecf75fecd2a63a1240ee910 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-04-10BRIDGE-DOMAIN:enable arp term,mac/ip learning on local intsEyal Bari3-15/+11
we should not suppress arps on remote interface instead we should flood them to the local one used shg != 0 to identify packets from remote interfaces and disable arp term l2 input feature for them Change-Id: I701537c05df7451a25ccb5bfc9e2b03ea70cff20 Signed-off-by: Eyal Bari <ebari@cisco.com> (cherry picked from commit a0623f8d26501a230801908cd4bc38d67a35dd23)
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-05BFD: add ARP-awareness, fix bugsKlement Sekera5-77/+282
Make BFD ARP-aware when sending out packets. Fix a few one-liner bugs discovered while integrating with cisco nexus. Enhance CLI view to better observe session state. Change-Id: I266c29492f351207b84328ab665d9d697969da9c Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-04-05LISP: fix crash when GPE interface is re-added, VPP-685Filip Tehlar1-3/+3
Change-Id: Ib83baf6ddec4ac192f6b4123d9eb599fb370fd0c Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-04-05LISP: fix crash when adding a negative forwarding entry, VPP-681Filip Tehlar1-15/+14
Change-Id: I190696da5555c05074ee0eee32eb914bd16e38fb Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-03-30vpp-678: Rename "show interfaces" -> "show interface"Dave Barach4-5/+5
To line up with "show interface placement," recently added. Otherwise, "show int" refers only to "show interface placement," which tends to annoy the cash customers... Change-Id: Iea9e3681aeb051e2b0e1ecbf06706d98af9a3abf Signed-off-by: Dave Barach <dave@barachs.net> (cherry picked from commit 13ad1f02922858177915b1cb1450041d2e4d85de)
2017-03-30VPP-673 Fix L2 steering.Pablo Camarillo1-12/+14
Change-Id: I1eab03525f234139ceefbc9b9895a35a03a56910 Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
2017-03-30LISP: fix IID in decap, VPP-676Filip Tehlar2-3/+4
Change-Id: I3f67d32d5d76069a27176deef6cba0c1a194b7ec Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-03-29af_packet driver failure to check VLIB_BUFFER_NEXT_PRESENT flagJim Gibson1-1/+2
af_packet driver must check that VLIB_BUFFER_NEXT_PRESENT flag is set when walking vlib_buffer_t next_buffer chain on transmit. On buffer allocation: - next_buffer is not and may contain a stale invalid value that should be ignored if not overwritten by a valid value. - VLIB_BUFFER_NEXT_PRESENT flag is cleared and only set if a valid value is written to next_buffer. Change-Id: Iebf76ce8eea24a0d63c7bf749e672d6a232c80e7 Signed-off-by: Jim Gibson <gibson+fdio@cisco.com>
2017-03-29Coverity Error: logically dead code in IP unnumbered CLINeale Ranns1-4/+0
Change-Id: Id3398bd4b7a56c168aaab37942b92715e19d4025 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-29Bugfixing and documentation for SRv6Pablo Camarillo8-200/+192
- Fixed three coverity issues - Linked SRv6 docs - Moved sample plugin to examples folder - Fixed bug with hash. Now everything is using mhash. Potentially in the future we want to do bihash. Change-Id: Ie03a13c8fecb1e315e67d0596cbd23220779aaf2 Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
2017-03-29SR replicate mheap corruption fix VPP-672shwethab4-12/+5
Change-Id: If1c68fc63fa71fab198f2bf4f79bdd7a9841c2e8 Signed-off-by: shwethab <shwetha.bhandari@gmail.com> Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
2017-03-28Implement MAC Flush for BD or Interface from the L2FIBJohn Lo9-49/+258
Allow non-static MACs in the L2FIB which is associated with an interface or a bridge domain (BD) be flushed. MAC flush are initiated automatically when an interface is removed from a BD or when a BD is deleted. MAC flush can also be invoked manually via the following CLI: l2fib mac-flush interface <if-name> l2fib mac-flush bridge-domain <bd-id> Change-Id: Ie33243622834810a765f48ebcd22bdb8e8fc87a4 Signed-off-by: John Lo <loj@cisco.com>
2017-03-28Fix output feature processing (VPP-670)AkshayaNadahalli1-0/+41
Double committing to 17.04 as its a bug-fix. Change-Id: I94539812191ad0eb8abe78e2dad25ab96c780f30 Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
2017-03-22LISP: improve DP speedFilip Tehlar4-4/+29
Change-Id: I5bd0721b70dfc240fa9225df3704774f6b0ede81 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-03-22ping: allow the user to send bursts of N packets instead of single packetAndrew Yourtchenko1-10/+42
Change-Id: I3c1d3a2db56487473123e6fec2b076a063473313 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2017-03-22vhost: support interrupt modeSteven2-22/+322
vhost currently supports only polling mode. This patch is to add interrupt mode. When the interface is configured for interrupt mode, our input node does not get called unless there is a packet in the vring. If a particular CPU has one interface configured for polling mode and another in interrupt, the input node is set to polling for that CPU. This diffs also includes two crashes in vlib's dispatch_node. One is included in https://gerrit.fd.io/r/#/c/5516. The other crash is in the ASSERT. The ASSERT can become true when the caller of dispatch_node is in a loop. The first call converted the node to polling. The second call thereafter will hit the ASSERT. Change-Id: If17b6d48b20d7d8605c6a161459828637173cd32 Signed-off-by: Steven <sluong@cisco.com>
2017-03-22policer: fix byte ordering in policer_details msgMarek Gradzki1-2/+2
Change-Id: Id53131e8cd32bfd35739a7bd7cdbadf3a9f4d941 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-03-21LISP statisticsFilip Tehlar12-46/+431
Change-Id: I399cac46d279e020ba33459ef759d9d29d3ac716 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2017-03-20vnet: add device-input threadplacement infraDamjan Marion6-68/+306
This change adds two new debug CLI command: - "show interface placmenet" to display which thread (main or worker) is responsible for processing interface rx queue vpp# show interface placement Thread 0 (vpp_main): node af-packet-input: host-vpp1 queue 0 Thread 1 (vpp_wk_0): node af-packet-input: host-virbr0 queue 0 Thread 2 (vpp_wk_1): node af-packet-input: host-vpp2 queue 0 host-lxcbr0 queue 0 - "set interface placmenet" to assign thread (main or worker) which process specific interface rx queue vpp# set interface placement host-vpp1 queue 0 main Change-Id: Id4dd00cf2b05e10fae2125ac7cb4411b446c5e9c Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-03-18Check change in unnumbered setting before updating IP enabled stateNeale Ranns2-6/+23
Change-Id: I6424a083ec889961ba4d0cd1df8348f20436be14 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-17features: remove remaining .end_nodeDamjan Marion1-1/+0
Change-Id: If882adb9c937f57223c524ed87453f3053f616ed Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-03-1764 bit per-thread countersNeale Ranns4-20/+22
after: TenGigabitEthernet5/0/1-output active 107522 17375708 0 7.22e0 161.60 TenGigabitEthernet5/0/1-tx active 107522 17375708 0 6.93e1 161.60 ip4-input-no-checksum active 107522 17375708 0 2.52e1 161.60 ip4-lookup active 107522 17375708 0 3.10e1 161.60 ip4-rewrite active 107522 17375708 0 2.52e1 161.60 before TenGigabitEthernet5/0/1-output active 433575 110995200 0 6.95e0 256.00 TenGigabitEthernet5/0/1-tx active 433575 110995200 0 7.14e1 256.00 ip4-input-no-checksum active 433575 110995200 0 2.66e1 256.00 ip4-lookup active 433575 110995200 0 3.29e1 256.00 ip4-rewrite active 433575 110995200 0 2.59e1 256.00 Change-Id: I46405bd22189f48a39f06e3443bb7e13f410b539 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-17Fix IP feature ordering.Neale Ranns6-41/+12
Drop comes before lookup when enabled. is_first_or_last is not required when setting a feature, the anchor is added in find_config_with_features(). Don't make the PG interfaces automatically L3 enabled, this way we can have tests that check the L3 protocol disbaled behaviour. Change-Id: Icef22a920b27ff9cec6ab2da6b05f05c532cb60f Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-17MPLS performance improvments.Neale Ranns8-140/+299
1 - Quad loop lookup and label imposition. 2 - optimise imposition for the 1 label case 3 - input gets TTL from header directly (no byte swap) Change-Id: I59204c9e5d134b0df75d7afa43e360f946d1ffe7 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-17Attached hostsNeale Ranns8-18/+103
allow this config to function: set int ip address loop0 169.254.1.1/32 (the default GW address for attached hosts) set int unnumbered af_packet0 use loop0 ('enable' IP on the host interface) ip route add 192.168.1.1/32 via af_packet0 (where to find the host) repeat for each host and host interface. Inter-host communication is throught the /32 routes. To allow this: 1 - attached host routes have the ATTACHED flag set, so the ARP code accepts then as legitimate sources 2 - unnumbered interfaces inherit the source address from the IP interface Change-Id: Ib66c5f0e848c528f79372813adc3a0c11b50717f Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-17Cache a 'has-features' flag on the adjacency for faster access. Reclaim the ↵Neale Ranns12-162/+162
node_index memeber from the rewrite for space - this is only used for formtting before: ip4-rewrite * * * * 2.66e1 256.00 after: ip4-rewrite * * * * 2.40e1 256.00 Change-Id: Ic397150727cad38811564777419ad6bd26b8a3a6 Signed-off-by: Neale Ranns <nranns@wasa-ucs-11.cisco.com>
2017-03-17Use the feature anchor in the MPLS input arc - it performs much betterNeale Ranns3-7/+9
Change-Id: I3d64ddb248478accd4d9b3124f018c9aab63a60f Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-17Adjacency refinement; check the cover's interface against the adjacency'sNeale Ranns2-4/+97
Change-Id: I3fa2f35056b74e479288bb956f2713f727a81c72 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-16ping: Fix coverity error 163907Andrew Yourtchenko2-0/+6
Return an error if the ip6_interface_first_address decides to return NULL. Change-Id: Iea0184382b8fbe2af81a781c3671687a1fbb5b32 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2017-03-16vhost: wrong value return for VHOST_USER_VRING_GET_BASESteven1-4/+11
When the VM is migrated, the driver sends VHOST_USER_VRING_GET_BASE message to the device to get the vring offset. The device is supposed to shut down the vring, and return the current vring offset. What the code did was to shutdown the vring, initialize the vring, and return 0 to the driver. The fix is to first store last_avail_idx in the message and then close the vring. Change-Id: I432e9f50f36d89fe53a45e050edcf5e1218caf7a Signed-off-by: Steven <sluong@cisco.com>
2017-03-16vlib: make runtime_data thread-localDamjan Marion9-61/+170
Change-Id: I4aa3e7e42fb81211de1aed07dc7befee87a1e18b Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-03-15No vector allocation during buffer copyNeale Ranns1-3/+1
Change-Id: I7e8556af833ca0e00fadc96dcd2077ff1104541b Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-15VXLAN:add hidden multicast interface checkEyal Bari2-29/+25
and some refactoring Change-Id: I99e3c5e782ce65cb9779ccc3a9a3151ef1429e07 Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-03-14API:support hidden sw interfacesEyal Bari1-38/+27
validate interfaces - added check for hidden interfaces interface dump - dont send hidden interfaces set_unnumbered - test for hidden vl_api_create_vlan_subif_t_handler, vl_api_create_subif_t_handler - fixed potential memory leak some other minor refactors to make code clearer and shorter Change-Id: Icce6b724336b7d1536fbd07a74bf7abe4916d2c0 Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-03-14ioam: ip6 hop by hop ext header and SR header co-existenceshwethab4-72/+84
1. Fix finding sr extension header 2. Fix for assert checks for space for sr header in packet headroom 3. ioam build warnings 4. Fix for SR header removal in presence of hbh ext header clib_memcpy with overlapping src/dst was failing Change-Id: I8576204eb571d1d4725a4e6976e18fe61cd1cd35 Signed-off-by: shwethab <shwetha.bhandari@gmail.com>
2017-03-13VPP-659 Improve tcp/session debugging and testingFlorin Coras12-169/+599
- event-logging support for tcp and session layer - improvements to uri test code - builtin_server on port 1234 - use the CLOSEWAIT timer when we rx FIN in FIN_WAIT_2 state Change-Id: Ibc445f164b2086b20323bf89c77cffd3059f570f Signed-off-by: Florin Coras <fcoras@cisco.com> Signed-off-by: Dave Barach <dbarach@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net>