Commit graph

13262 commits

Author SHA1 Message Date
Jon Siwek
27ba3118c1 Change ICMPv6 checksum calculation to use IP_Hdr wrapper.
So that src/dst addresses used in pseudo-header are correct when
there's certain extension headers (routing/destination).

Add ICMP/ICMPv6 checksum unit tests.
2012-04-10 11:37:08 -05:00
Jon Siwek
958c6c7cf4 Update IPv6 atomic fragment unit test to filter output of ICMPv6.
Since that's not relevant to test.
2012-04-10 11:09:07 -05:00
Daniel Thayer
69c09a209c Merge remote-tracking branch 'origin/master' into topic/icmp6
Conflicts:
	src/net_util.cc
	src/net_util.h
2012-04-10 09:54:07 -05:00
Robin Sommer
cccaad63b3 Merge remote-tracking branch 'origin/topic/jsiwek/mobile-ipv6'
* origin/topic/jsiwek/mobile-ipv6:
  Add support for mobile IPv6 Mobility Header (RFC 6275).
  Refactor IP_Hdr routing header handling, add MobileIPv6 Home Address handling.
  Revert TCP checksumming to cache common data, like it did before.
  Revert "Improve handling of IPv6 Routing Type 0 headers."
  Improve handling of IPv6 routing type 0 extension headers.
2012-04-09 17:49:52 -07:00
Robin Sommer
7131feefbc Working on DataSeries support.
- The option to use integers insteads of double was ignored.

   - Renaming script-level options to remove the ds_ prefix.

   - Log rotation didn't work.

   - A set of simple unit tests.
2012-04-09 17:46:56 -07:00
Robin Sommer
3605dfceeb Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Fix table expiry for values assigned in bro_init() when reading live.
2012-04-09 16:02:10 -07:00
Jon Siwek
91330f1e1c Add support for mobile IPv6 Mobility Header (RFC 6275).
- Accessible at script-layer through 'mobile_ipv6_message' event.

- All Mobile IPv6 analysis now enabled through --enable-mobile-ipv6
  configure-time option, otherwise the mobility header, routing type 2,
  and Home Address Destination option are ignored.
2012-04-09 14:39:00 -05:00
Daniel Thayer
79a6da285f Merge remote-tracking branch 'origin/master' into topic/icmp6 2012-04-06 15:59:57 -05:00
Jon Siwek
fcd8f9b77e Fix table expiry for values assigned in bro_init() when reading live.
Value assigned in bro_init() to a table with &create_expire
weren't expiring when reading traffic from an interface.  It worked
when reading a pcap file, but I added a test case to show it still
working.
2012-04-06 13:24:27 -05:00
Robin Sommer
f25e2252f9 Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Fix CMake from warning about unused ENABLE_PERFTOOLS_DEBUG variable.
  Fix handling of IPv6 atomic fragments.
2012-04-05 15:33:55 -07:00
Robin Sommer
c63d23f3af Preventing Bro processes that do neither local logging nor request
remote logs from spawning threads.

This applies to the proxy, which was still opening all the log files
with then idle threads.
2012-04-05 15:30:40 -07:00
Jon Siwek
29724415c3 Merge branch 'master' into topic/jsiwek/mobile-ipv6
Conflicts:
	src/IP.cc
2012-04-05 12:05:06 -05:00
Jon Siwek
8e2ce1d350 Fix CMake from warning about unused ENABLE_PERFTOOLS_DEBUG variable.
The variable was never "used" in the case google perftools was not
found, so CMake warned about it being unused since it was manually
specified as a cache variable in the configure script.  There might
be a better way to organize that, but this is a quick/easy hack.
2012-04-05 11:41:14 -05:00
Jon Siwek
f3455f843e Merge branch 'master' into fastpath 2012-04-05 11:41:00 -05:00
Jon Siwek
11b15cc290 Refactor IP_Hdr routing header handling, add MobileIPv6 Home Address handling.
Packets that use the Home Address Destination option use that option's
address as the connection's originator.
2012-04-05 10:50:35 -05:00
Robin Sommer
aa70ed592d Merge branch 'master' of ssh://git.bro-ids.org/bro 2012-04-04 19:28:36 -07:00
Robin Sommer
c92dc7e6af Reverting SocketComm change tuning I/O behaviour.
Not sure that's right.
2012-04-04 19:27:43 -07:00
Robin Sommer
017622427b Fixing perftools-debug support. 2012-04-04 18:42:15 -07:00
Robin Sommer
d0b68771ef Updating submodule(s).
[nomail]
2012-04-04 18:37:10 -07:00
Robin Sommer
c372eaf7b5 Updating submodule(s).
[nomail]
2012-04-04 18:36:40 -07:00
Robin Sommer
4e49b98bba Updating submodule(s).
[nomail]
2012-04-04 17:57:38 -07:00
Robin Sommer
fb0614b5c6 Adding notice_policy.log canonification for external tests.
These was still producing false positives.
2012-04-04 17:46:13 -07:00
Robin Sommer
077089a047 Merge branch 'topic/robin/log-threads'
* topic/robin/log-threads: (42 commits)
  Two more tweaks to reliably terminate when reading from trace.
  This could be fixing the memory problems finally.
  Fix compile errors due to now-explicit IPAddr ctors and global IPFamily enum.
  Switching log buffer size back to normal
  Teaching cmake to always link in tcmalloc if it finds it.
  Extending queue statistics.
  Small fixes and tweaks.
  Don't assert during shutdown.
  Reverting accidental commit.
  Finetuning communication CPU usage.
  Adding new leak tests involving remote logging.
  Removing some no longer needed checks.
  Fixing problem logging remotely when local logging was turned off.
  Preventing busy looping when no threads have been spawned.
  Prevent manager from busy looping.
  Adding missing includes needed on FreeBSD.
  Updating submodule(s).
  Updating submodule(s).
  A number of bugfixes for the recent threading updates.
  Making exchange of addresses between threads thread-safe.
  ...
2012-04-04 17:32:13 -07:00
Jon Siwek
d8d83f590b Fix handling of IPv6 atomic fragments.
The FragReassembler expire_timer was left uninitialized until after
the first fragment is added, but since the atomic fragment is also
the last, the reassembler thought expire_timer needed to be deleted.
This fix just initializes expire_timer before the first fragment is
added.
2012-04-04 15:27:43 -05:00
Robin Sommer
fe61d02a9f Two more tweaks to reliably terminate when reading from trace. 2012-04-04 10:42:50 -07:00
Robin Sommer
50104d4b08 Merge branch 'topic/robin/log-threads' of ssh://git.bro-ids.org/bro into topic/robin/log-threads 2012-04-03 22:19:16 -07:00
Robin Sommer
c381da9ccf This could be fixing the memory problems finally.
Keeping fingers crossed ...
2012-04-03 22:18:35 -07:00
Robin Sommer
952b6b293a Merging in DataSeries support from topic/gilbert/logging.
I copied the code over manually, no merging, because (1) it needed to
be adapted to the new threading API, and (2) there's more stuff in the
branch that I haven't ported yet.

The DS output generally seems to work, but it has seen no further
testing yet.

Not unit tests yet either.
2012-04-03 22:14:56 -07:00
Robin Sommer
99e3c58494 Fixing threads' DoFinish() method.
It wasn't called reliably. Now, it's always called before the thread
is destroyed (assuming processing has went normally so far).
2012-04-03 22:12:44 -07:00
Bernhard Amann
25affe2c82 fix missing get call for heart beat in benchmark reader. 2012-04-03 00:52:41 +02:00
Bernhard Amann
384fc730d4 fix heart_beat_interval -- initialization in constructor does not work anymore (probably due to change in init ordering?) 2012-04-01 17:13:51 -07:00
Bernhard Amann
fd70560017 Merge remote-tracking branch 'origin/topic/robin/log-threads' into topic/bernhard/input-threads 2012-03-30 11:00:51 -07:00
Jon Siwek
6e7faafdb7 Fix compile errors due to now-explicit IPAddr ctors and global IPFamily enum. 2012-03-30 12:40:31 -05:00
Jon Siwek
256c0af98e Merge branch 'master' into topic/robin/log-threads
Conflicts:
	cmake
2012-03-30 12:02:32 -05:00
Bernhard Amann
e789724935 Merge remote-tracking branch 'origin/topic/bernhard/log-threads-configureable-heartbeat' into topic/bernhard/input-threads
Conflicts:
	src/threading/Manager.h
2012-03-30 09:24:46 -07:00
Bernhard Amann
8e526a7f83 fix memory leak for tables... nearly completely.
There is still a tiny where I have not yet found where the delete could be missing.

For big table imports the memory footprint is significant nevertheless -- with tables of > 200000 entries, memory consumption can apparently reach in excess of 1.5Gb - and on a first glance this seems legitimate.

(The reason for this is probably that we use several hash tables to keep the performance impact small).
2012-03-30 09:20:18 -07:00
Bernhard Amann
b7bbda7244 fix a couple more leaks. But - still leaking quite a lot with tables. 2012-03-30 09:20:12 -07:00
Bernhard Amann
7a71a74994 fix largest leak in manager. 2012-03-30 09:20:04 -07:00
Bernhard Amann
1170a87769 make benchmark reader hartbeat inverval aware
fix small memleak on tablereader destruction
make timespread better configureable
2012-03-30 09:19:01 -07:00
Bernhard Amann
b47620e501 add a couple more configuration options 2012-03-30 09:18:44 -07:00
Bernhard Amann
719540414f repair general stupidity 2012-03-30 09:17:45 -07:00
Bernhard Amann
ed5374b6d7 and another option for the benchmark reader (constant addition of lines) 2012-03-30 09:17:35 -07:00
Bernhard Amann
579a10d060 make benchmark reader more configureable 2012-03-30 09:17:25 -07:00
Bernhard Amann
3405cbdfbd Introducing - the check if a thread queue might have data. Without locks. Who needs those anyways. 2012-03-30 09:17:16 -07:00
Bernhard Amann
355b85fcd7 most of the stuff we should need for benchmarking. next: search memory leaks, after 1.5million simulated
inputs we are leaking about 1Gb of ram...
2012-03-30 09:08:08 -07:00
Bernhard Amann
ead30e423d change type of heart_beat_interval to interval (makes much more sese) 2012-03-30 08:40:38 -07:00
Jon Siwek
7d7cadfb56 Revert TCP checksumming to cache common data, like it did before. 2012-03-29 14:41:44 -05:00
Jon Siwek
877cc5b235 Merge branch 'topic/jsiwek/routing0' into topic/jsiwek/mobile-ipv6
Conflicts:
	src/net_util.cc
	src/net_util.h
2012-03-29 14:34:39 -05:00
Jon Siwek
3a4d035603 Revert "Improve handling of IPv6 Routing Type 0 headers."
This reverts commit 256cd592a7.

Conflicts:

	src/IP.cc
	src/Sessions.cc
2012-03-29 14:29:33 -05:00
Bernhard Amann
ef77b1447f Merge remote-tracking branch 'origin/topic/robin/log-threads' into topic/bernhard/log-threads-configureable-heartbeat
Conflicts:
	src/threading/Manager.cc
2012-03-29 09:19:22 -07:00