[Xorp-users] Problem starting xorp_rtrmgr in 1.2 RC

mike@lrlart.com mike@lrlart.com
Fri, 03 Mar 2006 12:43:01 -0700


---901761091-437880765-1141414982=:24669
Content-Type: TEXT/plain; CHARSET=US-ASCII

Hey all,

Here's an smallish change to xorp that allows xorp to support
syslogging. It requires a patch to the libxorp/xlog.c and the addition
of the attached c and header file (which also belong in the libxorp
directory). It doesn't support windows (sorry Bruce).

Note that when adding a new .c and .h file the Makefile.am will need to
be updated to include rl_syslog.c/.h

Mike Larson

--- xorp/libxorp/xlog.c 2006-03-02 21:48:11.000000000 +0000
+++ builddir/libxorp/xlog.c     2006-03-03 20:32:26.000000000 +0000
@@ -26,6 +26,8 @@
 #include "xorp.h"
 #include "xlog.h"

+#include "rl_syslog.h"
+
 #include <time.h>
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
@@ -1007,6 +1009,9 @@
     size_t ndefaults = sizeof(defaults) / sizeof(defaults[0]);
     size_t i;

+    /* Add RouteLogics hook for syslog logging. */
+    xlog_add_output_func(rl_syslog_callback, NULL);
+
     /*
      * Attempt to open default output stream, console first in case
      * we are root, then stderr.


> -------- Original Message --------
> Subject: Re: [Xorp-users] Problem starting xorp_rtrmgr in 1.2 RC
> From: Bruce M Simpson <bms@spc.org>
> Date: Fri, March 03, 2006 12:01 pm
> To: Atanu Ghosh <atanu@ICSI.Berkeley.EDU>
> Cc: Dave Price <dave.price@aber.ac.uk>, Kristian Larsson
> <kristian@juniks.net>, I.FernandezDiaz@telecom.tno.nl,
> xorp-users@xorp.org, dap@aber.ac.uk
> 
> On Fri, Mar 03, 2006 at 08:39:58AM -0800, Atanu Ghosh wrote:
> > I think that you are right the rtrmgr should have an option to run as a
> > background daemon.
> 
> I would try FreeBSD's daemon(8) command, too, the problem there is that
> the logs need to be told to go elsewhere.
> 
> > Before we make such a change we would need to decide what to do with the
> > output from the XORP processes, discard, send to syslog, put in a
> > logfile in /var/log. In the code all output is generated with macros
> > that would map directly to syslog priorities, we have just never tied
> > XORP to syslog.
> 
> There is a patch to make XORP's logging facility use the
> OutputDebugString API on Windows, the same could probably be done for
> the Event Logging API there too.
> 
> BMS
> _______________________________________________
> Xorp-users mailing list
> Xorp-users@xorp.org
> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-users

---901761091-437880765-1141414982=:24669
Content-Type: TEXT/x-c;
	name="rl_syslog.c"; CHARSET=US-ASCII
Content-Transfer-Encoding: BASE64
Content-Disposition: attachment; filename="rl_syslog.c"

LyoqCiAqCiAqCiAqLwojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0
cmluZy5oPgojaW5jbHVkZSA8c3lzL2tsb2cuaD4KI2luY2x1ZGUgPHVuaXN0
ZC5oPgojaW5jbHVkZSA8bGludXgvdW5pc3RkLmg+CiNpbmNsdWRlIDxzeXNs
b2cuaD4KI2luY2x1ZGUgInhvcnAuaCIKI2luY2x1ZGUgInJsX3N5c2xvZy5o
IgoKLy9UaGUgcHJlZml4IHRoYXQgaXMgdG8gYXBwZW5kIGFsbCBsb2cgbWVz
c2FnZXMKLy9zdGF0aWMgY2hhciBybF9zeXNsb2dfbG9nX3ByZWZpeFsyNTVd
OwoKaW50IApybF9zeXNsb2dfY2FsbGJhY2sodm9pZCAqZGF0YSwgY29uc3Qg
Y2hhciAqYnVmZmVyKQp7CiAgICBybF9zeXNsb2dfbG9nKGJ1ZmZlcik7CiAg
ICBVTlVTRUQoZGF0YSk7CiAgICByZXR1cm4gMDsKfQoKdm9pZApybF9zeXNs
b2dfbG9nKGNvbnN0IGNoYXIgKmJ1ZmZlcikKewogIGludCBwcmlvcml0eSA9
IHJsX3N5c2xvZ19nZXRfcHJpb3JpdHkoYnVmZmVyKTsKCiAgLy90aGlzIGlz
IHdoZXJlIHdlJ2xsIGRvIHRoZSBsb2dnaW5nIHRvIHN5c2xvZwogIHN5c2xv
Zyhwcmlvcml0eSwgIiVzIiwgYnVmZmVyKTsKfQoKdm9pZApybF9zeXNsb2df
bG9hZF9wcmVwZW5kKHZvaWQpCnsKICAvKgogIC8vdGhpcyBpcyB3aGVyZSB3
ZSByZWFkIGludG8gbWVtb3J5IHRoZSBwcmVwZW5kIHByZWZpeCBpZiB0aGUg
ZmlsZSBoYXMgY2hhbmdlZAogIGludCBmZF9yZCwgcmRfd3I7CiAgRklMRSAq
ZmRfd3JpdGVzdHJlYW0sICpmZF9yZWFkc3RyZWFtOwoKICBjaGFyIHJsX3N5
c2xvZ19maWxlbmFtZSgicmxfc3lzdGVtL3JsX3N5c2xvZy5jb25mIik7CiAg
Y2hhciBybF9zeXNsb2dfZmlsZW5hbWVfbGNrKCJybF9zeXN0ZW0vcmxfc3lz
bG9nLmNvbmYubGNrIik7CgogIC8vICBzdHJpbmcgZmlsZWxvY2sgPSBfZmls
ZW5hbWUgKyAiLmxjayI7CiAgX2ZkX3dyaXRlID0gb3BlbihybF9zeXNsb2Nr
X2ZpbGVfbGNrLCBPX1dST05MWSB8IE9fQ1JFQVQgfCBPX0VYQ0wsIDA2NDQp
OwogIGlmIChmZF93ciA8IDAgJiYgZXJybm8gPT0gRUVYSVNUKSB7CiAgICBy
ZXR1cm47CiAgfQogIGVsc2UgaWYgKGZkX3dyIDwgMCkgewogICAgcmV0dXJu
OwogIH0KCiAgZmRfd3JpdGVzdHJlYW0gPSBmZG9wZW4oZmRfd3IsICJ3Iik7
CiAgaWYgKGZkX3dyaXRlc3RyZWFtID09IE5VTEwpIHsKICAgIGNsb3NlKGZk
X3dyKTsKICAgIHVubGluayhybF9zeXNsb2dfZmlsZW5hbWVfbGNrKTsKICAg
IHJldHVybjsKICB9CgogIC8vd2UgYXJlIGZyZWUgdG8gbG9jayB0aGlzIGZp
bGUgbm93CiAgZmRfcmVhZHN0cmVhbSA9IGZvcGVuKHJsX3N5c2xvZ19maWxl
bmFtZSwgInIiKTsgLy9sZXQncyBnZXQgYSBmaWxlIGRlc2NyaXB0b3IKICBp
ZiAoZmRfcmQgPT0gTlVMTCkgewogICAgY2xvc2UoZmRfd3IpOwogICAgdW5s
aW5rKHJsX3N5c2xvZ19maWxlbmFtZV9sY2spOwogICAgcmV0dXJuOwogIH0K
CiAgLy9yZWFkIGluIHN5c2xvZyBwcmVwZW5kIGhlcmUhCiAgaW50IGN0ID0g
MDsKICBjaGFyIGxpbmVbMjU2XTsKICBzdHJpbmcga2V5ID0gaG9zdCArICI6
IjsKICB3aGlsZSAoZmdldHMobGluZSwgMjU1LCBmZF9yZCkgIT0gTlVMTCkg
ewogICAgaWYgKGtleS5maW5kKHN0cmluZyhsaW5lKSA9PSBzdHJpbmc6Om5w
b3MpKSB7CgogICAgICAvL2hlcmUgaXMgd2hlcmUgd2UnbGwgbmVlZCB0byBz
dG9yZSB0aGUgaG9zdC9wcmVwZW5kIGluIGEgaGFzaAoKICAgICAgLy9xdWVz
dGlvbi0taG93IGFyZSB3ZSBnb2luZyB0byBrbm93IHdoYXQgdGhlIGhvc3Qg
aXM/Pz8/PwoKICAgICAgY3QrKzsKICAgIH0KICB9CgoKCgogIGNsb3NlKGZk
X3dyKTsKICBmY2xvc2UoZmRfcmVhZHN0cmVhbSk7CiAgZmNsb3NlKGZkX3dy
aXRlc3RyZWFtKTsKCiAgcmVuYW1lKHJsX3N5c2xvY2tfZmlsZW5hbWVfbGNr
LCBybF9zeXNsb2dfZmlsZW5hbWUpOwogICovCn0KCi8qKgogKiBXQVJOSU5H
OiBUaGlzIGZpbGUgaXMgZGVwZW5kZW50IG9uIGNoYW5nZXMgdG8gdGhlIHhv
cnAgbG9nZ2luZwogKiBsZXZlbHMuIEFueSBjaGFuZ2VzIG9uIHRoZSB4b3Jw
IHNpZGUgbWF5IGJyZWFrIHRoZSBjb2RlIGJlbG93IQogKi8KaW50CnJsX3N5
c2xvZ19nZXRfcHJpb3JpdHkoY29uc3QgY2hhciogYnVmZmVyKQp7CiAgaW50
IGk7CiAgLyoKICAgKiBOT1RFOiBUaGlzIGlzIGR1cGxpY2F0ZWQgZnJvbSB0
aGUgZGF0YSBpbiB4bG9nLmMtLXRvIGF2b2lkCiAgICogYSBjaXJjdWxhciBk
ZXBlbmRlbmN5LiAKICAgKi8KCiAgLy9UT0RPOiBQdXQgYSBsaW1pdCBvbiB0
aGUgc3RyY2hyIGNoZWNrLS13aGF0ZXZlciBhIHJlYXNvbmFibGUgCiAgLy9s
ZW5ndGggbWF5IGJlLiBUaGlzIGlzIGF2b2lkIGEgbWVzc2FnZSB0aGF0IG1h
eSBjb250YWluIGEga2V5d29yZC4KICBmb3IgKGkgPSAwOyBpIDwgNTsgKytp
KSB7CiAgICBpZiAoc3Ryc3RyKGJ1ZmZlciwgIkZBVEFMIikgIT0gTlVMTCkg
ewogICAgICByZXR1cm4gTE9HX0FMRVJUIHwgTE9HX0xPQ0FMNzsKICAgIH0K
ICAgIGVsc2UgaWYgKHN0cnN0cihidWZmZXIsICJFUlJPUiIpICE9IE5VTEwp
IHsKICAgICAgcmV0dXJuIExPR19FUlIgfCBMT0dfTE9DQUw3OwogICAgfQog
ICAgZWxzZSBpZiAoc3Ryc3RyKGJ1ZmZlciwgIldBUk5JTkciKSAhPSBOVUxM
KSB7CiAgICAgIHJldHVybiBMT0dfV0FSTklORyB8IExPR19MT0NBTDc7CiAg
ICB9CiAgICBlbHNlIGlmIChzdHJzdHIoYnVmZmVyLCAiSU5GTyIpICE9IE5V
TEwpIHsKICAgICAgcmV0dXJuIExPR19JTkZPIHwgTE9HX0xPQ0FMNzsKICAg
IH0KICAgIGVsc2UgaWYgKHN0cnN0cihidWZmZXIsICJUUkFDRSIpICE9IE5V
TEwpIHsKICAgICAgcmV0dXJuIExPR19ERUJVRyB8IExPR19MT0NBTDc7CiAg
ICB9CiAgfQogIHJldHVybiBMT0dfSU5GTyB8IExPR19MT0NBTDc7Cn0K

---901761091-437880765-1141414982=:24669
Content-Type: TEXT/x-c;
	name="rl_syslog.h"; CHARSET=US-ASCII
Content-Transfer-Encoding: BASE64
Content-Disposition: attachment; filename="rl_syslog.h"

I2lmbmRlZiBfX0xJQlhPUlBfUkxfU1lTTE9HX0hfXwojZGVmaW5lIF9fTElC
WE9SUF9STF9TWVNMT0dfSF9fCgovKioKICoKICoKICoKICovCnZvaWQKcmxf
c3lzbG9nX2xvZyhjb25zdCBjaGFyKiBidWZmZXIpOwoKdm9pZApybF9zeXNs
b2dfbG9hZF9wcmVwZW5kKHZvaWQpOwoKaW50IApybF9zeXNsb2dfY2FsbGJh
Y2sodm9pZCAqZGF0YSwgY29uc3QgY2hhciAqYnVmZmVyKTsKCmludApybF9z
eXNsb2dfZ2V0X3ByaW9yaXR5KGNvbnN0IGNoYXIqIGJ1ZmZlcik7CgojZW5k
aWYgLy9fX0xJQlhPUlBfUkxfU1lTTE9HX0hfXwo=

---901761091-437880765-1141414982=:24669--