- May 13, 2013
-
-
Daniel Salzman authored
Change-Id: I5e052d2e3c907563c1b9591ef89565e6ccaabb2f
-
Jan Kadlec authored
- Enabled saving of empty RRs - only header and 0 RDLENGTH are saved if there are no RDATA in RRSet - Moved code saving header to wire to an extra function. Change-Id: Ib1a923e0445a9f8b7fc36ac3f673c41aad53c9c7
-
- May 11, 2013
-
-
Daniel Salzman authored
Change-Id: Id5f453783728495e5e5494213bf4c1765d03310e
-
Daniel Salzman authored
Change-Id: I6d71395b77fa40715b41ac2eda380fa5030e8baa
-
Marek Vavrusa authored
Change-Id: I952c5ae76fc1dca9d7e824ef55e55e4393a27d7d
-
- May 10, 2013
-
-
Daniel Salzman authored
refs #2137 Change-Id: I43856d5f62836db2aff4c2349d186ccb5e3c68b7
-
Daniel Salzman authored
Change-Id: Ib3d748d070f3db7b37a7127f7ae54e83536bcf23
-
Marek Vavrusa authored
Change-Id: I610adff24d791bc04203c2453ec906e888d2d728
-
Daniel Salzman authored
Change-Id: I8f8932c6e610a5b24cd33c2329d7959c2d0aef7b
-
Marek Vavrusa authored
Change-Id: Ie86eb4df209143f5581d90f4dcd9f27f0330b68a
-
Marek Vavrusa authored
The idea was to use simplified tries, but it didn't work so well. Simplified and cleaned up label compression. The idea was to use simplified tries, but it didn't work so well. New approach is based on the fact, that only a small part of unique suffixes is reused in the packet (mostly qname and few related names), whilst rest of the names are mentioned scarcely. As a tradeoff, we will compres those most common names. Table is scanned in a linear fashion. Name suffix is aligned (end-to-end) to a current table pointer. Aligned labels are then compared and best coverage is reported. Matches that can't exceed current best coverage are ignored. Not/partially covered names are inserted (only index to wire). Covering matches are promoted to a lower index, this is because: - frequent matches are inspected earlier, performance increase - last 1/4 of the least-used names may be replaced randomly with new names Didn't change the currently used API to keep the patch nice and sweet, but there's a lot of legacy code to be removed. Change-Id: Id86bc7e3e56012182eebf148aad3ddc3b2649879
-
Marek Vavrusa authored
This allows us to reuse the memory without worry about freeing. Flush (sort of free) is done after packet processing is finished. Uses generic mm context and mempool from libucw. Change-Id: Ifcc74e745797eb7f6833c74dc9ebd89743ba4358
-
Marek Vavrusa authored
Change-Id: I2a5ed6c68aeee99f13c7e023e148e92e4965b838
-
Marek Vavrusa authored
Change-Id: I0f1db7e5acd90fa123639a4d8c66765be5882b1d
-
Marek Vavrusa authored
Mempool is a type of memory allocator that allows to free all allocated elements at once. Removed unnecessary string and state operations. Licensed under LGPL, same as lists and heap. Change-Id: I8b8f84f41dcc321f37e51894b5c121f463c4f111
-
Marek Vavrusa authored
Default is libc malloc/free. This will be used to supply to functions where a memory is allocated in some context (f.e. when building packet) so the API stays the same and we could switch the allocator as we see fit. Change-Id: Ia5956b6da38d9feb01c5bfb0a4cd4e9393db0589
-
- May 09, 2013
-
-
Daniel Salzman authored
Change-Id: I39d236a0d6594692597f2e66624f0b0d56928c34
-
Daniel Salzman authored
Change-Id: Ia8388c541fec44a17f284fc0e4c2aa83afa9b74f
-
Daniel Salzman authored
Change-Id: I436236bc78c45f576dfee3ff251ba7ca9c95d1b0
-
- May 07, 2013
-
-
Daniel Salzman authored
Change-Id: Ie3e7fab14198c6add9055c9f24eece9c7c123bd1
-
Daniel Salzman authored
refs #2137 Change-Id: I83a723cb07f482b886c588e6ec0f8910c2f97964
-
Daniel Salzman authored
refs #2137 Change-Id: I42c905d94858e90d87136117e7aaaaaf415854b1
-
Daniel Salzman authored
Coverity scan #1019150 Change-Id: I09e97249299856612bec953eb79f33b978d23580
-
Daniel Salzman authored
Coverity scan #1019149 Change-Id: I3beb8efced13d2bf5a5316ae02835739ffa54263
-
Daniel Salzman authored
Change-Id: If0df4f7947110b84b7c45dc909b3fbd5c5f048a6
-
Daniel Salzman authored
Getaddrinfo result for remote server is stored in net_t structure. This allows to query each resolved address via net_t.srv. It is important for example if the server has associated AAAA and A records, but listens on IPv4 address only. refs #2137 Change-Id: Iadd2b011a25a8d9e13f05b239a78f42f8d69b5de
-
Marek Vavrusa authored
Change-Id: Ica5b201351cf9c0d9bb69c052796c2ed38873e6a
-
Marek Vavrusa authored
Change-Id: I8d128c3408a794f0ad183e15e20a3afa31989e88
-
Marek Vavrusa authored
Change-Id: I0f9c1bf7eee52c22550dcb5d9946fba4ecf91ad5
-
- May 03, 2013
-
-
Marek Vavrusa authored
Actual macro has dest and src switched. Change-Id: I4a8e0f32fb85f4efece0b325c8ceea22cf1b42aa
-
- May 02, 2013
-
-
Marek Vavrusa authored
General idea is regular search with keeping node stack. If node is found, then return current node. If node is htable, search for suffixes in htable. If anything fails, walk up the visited nodes and check if any visited node has value. If yes, then it is a prefix. f.e. searching for 'abcd' visited nodes: root -a-> {1:trie} -b-> {2:htable} 1. search htable for 'cd', 'c' 2. retrace to node {1}, does it have value? 3. yes, node1 is prefix 'ab' for 'abcd' Change-Id: I622adbe9a127d8317b933af4bf56e1411e2d915f
-
Marek Vavrusa authored
Previous with full dname copy and chopping was really inefficient. Yields approx. 20% lower relative cost, 6% throughput increase. Change-Id: Icaa49572f75769739ae61f48d2ca958e38db6104
-
Marek Vavrusa authored
Change-Id: I3cfa7f07a71b1d8b9e77f93ef16b683c15f9fe24
-
- May 01, 2013
-
-
Jan Včelák authored
Change-Id: I571cc82f393d526e43ba17ade19f57ce067b5c52
-
Jan Včelák authored
Coccinelle patch used to perform this cleanup is included. Change-Id: Ia367764245c845839fd22034b2b5f58b93bd54e8
-
- Apr 30, 2013
-
-
Jan Včelák authored
Change-Id: Ib942dde21c1a386cbde98ab422608abc2f1b35cc
-
Marek Vavrusa authored
Change-Id: If7b7a325ed20432d8fc3da73e931e0fa44a37add
-
Marek Vavrusa authored
Change-Id: I6dd8a10278383e8c97e399562fec3562cbb848d8
-
Jan Včelák authored
Change-Id: I4eedcaf1e9fef0e43494314e16c68b0bbb2d3107
-
Jan Včelák authored
Change-Id: Id352f59b8ef9011e0379455bc485072d9b67b029
-