Skip to content
This repository
Browse code

Updated version to 0.3.0

Improved configureation.
Fixed typo that made SelectScheduler.cpp unbuildable.
  • Loading branch information...
commit 2fca2ecb752d9decc5f5d4f3881d81773c0a41c9 1 parent 0e991a8
authored October 18, 2010
6  Beacon.cpp
@@ -68,10 +68,10 @@ namespace openbfdd
68 68
       return 1;
69 69
     }
70 70
 
71  
-#ifdef USE_SELECT_SCHEDULER
72  
-    m_scheduler = new SelectScheduler();
73  
-#else
  71
+#ifdef USE_KEVENT_SCHEDULER
74 72
     m_scheduler = new KeventScheduler();
  73
+#else
  74
+    m_scheduler = new SelectScheduler();
75 75
 #endif 
76 76
 
77 77
     int socket = makeListenSocket();
4  ChangeLog
... ...
@@ -1,4 +1,4 @@
1  
-2010-10-15  Jake Montgomery 
  1
+2010-10-18  Jake Montgomery  Update Version to 0.3.0
2 2
 
3 3
    * Now builds and runs on Linux (Debian).
4 4
 
@@ -10,6 +10,8 @@
10 10
 
11 11
    * Formatting and other small changes and improvements.
12 12
 
  13
+   * Fixed accept bug that only manifested in 32 bit systems. 
  14
+
13 15
 2010-10-07  Jake Montgomery Update Version to 0.2.1
14 16
    
15 17
    * Improved low memory handling. There is now, at least, a good chance  
4  KeventScheduler.cpp
@@ -4,7 +4,7 @@
4 4
 * Distributed under the FreeBSD License - see LICENSE
5 5
 ***************************************************************/
6 6
 #include "config.h"
7  
-#ifdef HAVE_KEVENT
  7
+#ifdef USE_KEVENT_SCHEDULER
8 8
 
9 9
 #include "common.h"
10 10
 #include "KeventScheduler.h"
@@ -133,7 +133,7 @@ namespace openbfdd
133 133
 
134 134
 }
135 135
 
136  
-#endif  // HAVE_KEVENT
  136
+#endif  // USE_KEVENT_SCHEDULER
137 137
 
138 138
 
139 139
 
4  KeventScheduler.h
@@ -12,7 +12,7 @@
12 12
 
13 13
 #include "config.h"
14 14
 
15  
-#ifdef HAVE_KEVENT
  15
+#ifdef USE_KEVENT_SCHEDULER
16 16
 
17 17
 #include "SchedulerBase.h"
18 18
 #include <sys/event.h>
@@ -54,4 +54,4 @@ namespace openbfdd
54 54
 
55 55
 }
56 56
 
57  
-#endif  // HAVE_KEVENT
  57
+#endif  // USE_KEVENT_SCHEDULER
20  README
@@ -51,18 +51,16 @@ See the included COPYING file for licensing information.
51 51
 The software was originally developed on FreeBSD 7.1. It has been built, 
52 52
 and tested on the following platforms:
53 53
    
54  
-   * FreeBSD 7.1 AMD64
55  
-   * FreeBSD 8.1 AMD64
56  
-
57  
-It may, or may not, be possible to build and run it on other BSD platforms
58  
-ithout modification. If your system is not included, then we encourage you
59  
-o make the modifications necessary and submit them to 
  54
+   * FreeBSD 7.1 amd64
  55
+   * FreeBSD 8.1 amd64
  56
+   * Debian 2.6.26-2-amd64
  57
+   * Debian 2.6.26-2-686 (i386)
  58
+
  59
+It may, or may not, be possible to build and run it on other BSD and Linux 
  60
+platforms without modification. If your system is not included, then we  
  61
+encourage you o make the modifications necessary and submit them to 
60 62
 http://github.com/dyninc/OpenBFDD/ for inclusion in future releases.
61 63
 
62  
-The source currently uses the kevent() system call, which my only be 
63  
-available on BSD systems. A release is planned, in the near future, which 
64  
-will remove this dependency, and should make it easier to port OpenBFD to 
65  
-other systems.
66 64
 
67 65
 ================
68 66
 + About bfdd-beacon
@@ -136,8 +134,6 @@ repeated bfdd-control calls, such as a "monitoring" script. Use the
136 134
    designed and tested to work with the Juniper line of routers. It has 
137 135
    currently been tested with JUNOS 8.5.
138 136
 
139  
-   * The bfdd-beacon may behave improperly or even crash in low memory 
140  
-   situations. A fix is expected soon. 
141 137
 
142 138
 ================
143 139
 + Notes on Remote BFD Platforms
8  SelectScheduler.cpp
@@ -4,10 +4,10 @@
4 4
 * Distributed under the FreeBSD License - see LICENSE
5 5
 ***************************************************************/
6 6
 #include "config.h"
7  
-#ifdef USE_SELECT_SCHEDULER
  7
+#ifndef USE_KEVENT_SCHEDULER
8 8
 
9 9
   #include "common.h"
10  
-  #include "selectable.h"
  10
+  #include "SelectScheduler.h"
11 11
   #include "utils.h"
12 12
   #include <sys/select.h>
13 13
   #include <errno.h>
@@ -118,7 +118,7 @@ namespace openbfdd
118 118
   }
119 119
 
120 120
   /**
121  
-   * resizes m_foundation's. 
  121
+   * resizes m_foundSockets. 
122 122
    *  
123 123
    * Note that m_foundSockets is maintained a vector big enough to hold all 
124 124
    * events so that resizing would occur only when adding or removing sockets. 
@@ -137,7 +137,7 @@ namespace openbfdd
137 137
   }
138 138
 
139 139
 }
140  
-#endif  // USE_SELECT_SCHEDULER
  140
+#endif  // !USE_KEVENT_SCHEDULER
141 141
 
142 142
 
143 143
 
4  SelectScheduler.h
@@ -12,7 +12,7 @@
12 12
 
13 13
 #include "config.h"
14 14
 
15  
-#ifdef USE_SELECT_SCHEDULER
  15
+#ifndef USE_KEVENT_SCHEDULER
16 16
 
17 17
   #include "SchedulerBase.h"
18 18
   #include <vector>
@@ -54,4 +54,4 @@ namespace openbfdd
54 54
 
55 55
 }
56 56
 
57  
-#endif  // USE_SELECT_SCHEDULER
  57
+#endif  // !USE_KEVENT_SCHEDULER
2  bfdd-beacon.8
... ...
@@ -1,5 +1,5 @@
1 1
 .\" Manpage for bfdd-beacon.
2  
-.TH "bfdd-beacon" "8" "October 7, 2010" "OpenBFDD v0.2.1" "OpenBFDD v0.2.1" 
  2
+.TH "bfdd-beacon" "8" "October 18, 2010" "OpenBFDD v0.3.0" "OpenBFDD v0.3.0" 
3 3
 .SH NAME
4 4
 \fBbfdd-beacon\fR - a Bidirectional Forwarding Detection (BFD) beacon daemon.
5 5
 .SH SYNOPSIS
2  bfdd-control.8
... ...
@@ -1,5 +1,5 @@
1 1
 .\" Manpage for bfdd-control.
2  
-.TH "bfdd-control" "8" "October 7, 2010" "OpenBFDD v0.2.1" "OpenBFDD v0.2.1" 
  2
+.TH "bfdd-control" "8" "October 18, 2010" "OpenBFDD v0.3.0" "OpenBFDD v0.3.0" 
3 3
 .SH NAME
4 4
 \fBbfdd-control\fR - control utility for \fBbfdd-beacon\fR(8)
5 5
 .SH SYNOPSIS
21  configure.ac
@@ -4,7 +4,7 @@
4 4
 AC_PREREQ(2.61)
5 5
 sinclude(acx_nlnetlabs.m4)
6 6
 
7  
-AC_INIT(openbfdd, 0.2.1)
  7
+AC_INIT(openbfdd, 0.3.0)
8 8
 AM_INIT_AUTOMAKE([subdir-objects])
9 9
 AC_CONFIG_SRCDIR([BeaconMain.cpp])
10 10
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
@@ -38,6 +38,21 @@ case "$enable_debug" in
38 38
 		;;
39 39
 esac
40 40
 
  41
+# no kevent mode
  42
+AC_ARG_ENABLE(kevent, AC_HELP_STRING([--disable-kevent], [Use select() instead of kevent() based scheduler, even on systems that support kevent.]))
  43
+kevent_enabled="$enable_kevent"
  44
+AC_SUBST(kevent_enabled)
  45
+case "$kevent_enabled" in
  46
+        no)
  47
+		AC_DEFINE([NO_KEVENT_SCHEDULER], 1, [define this to disable use of the kevent scheduler.])
  48
+		;;
  49
+	yes|*)
  50
+		# nothing to do.
  51
+		;;
  52
+esac
  53
+
  54
+
  55
+
41 56
 # Checks for libraries.
42 57
 
43 58
 
@@ -59,8 +74,8 @@ AH_BOTTOM(
59 74
 AHX_CONFIG_FORMAT_ATTRIBUTE
60 75
 AHX_CONFIG_UNUSED_ATTRIBUTE
61 76
 
62  
-#ifndef HAVE_KEVENT
63  
-#    define USE_SELECT_SCHEDULER
  77
+#if defined(HAVE_KEVENT) && !(defined NO_KEVENT_SCHEDULER)
  78
+#    define USE_KEVENT_SCHEDULER
64 79
 #endif
65 80
 
66 81
 )

0 notes on commit 2fca2ec

Please sign in to comment.
Something went wrong with that request. Please try again.