import ports/net/owamp, ok benoit@
OWAMP is a command line client application and a policy daemon used to determine one way latencies between hosts. It is an implementation of the OWAMP protocol as defined by RFC4656. With roundtrip-based measurements, it is hard to isolate the direction in which congestion is experienced. One-way measurements solve this problem and make the direction of congestion immediately apparent. Since traffic can be asymmetric at many sites that are primarily producers or consumers of data, this allows for more informative measurements. One-way measurements allow the user to better isolate the effects of specific parts of a network on the treatment of traffic.
This commit is contained in:
parent
ca2bf0e658
commit
7bc08bcb30
29
net/owamp/Makefile
Normal file
29
net/owamp/Makefile
Normal file
@ -0,0 +1,29 @@
|
||||
# $OpenBSD: Makefile,v 1.1.1.1 2011/07/08 09:31:06 sthen Exp $
|
||||
|
||||
COMMENT = rfc4656 one-way active measurement protocol
|
||||
|
||||
DISTNAME = owamp-3.1
|
||||
|
||||
CATEGORIES = net
|
||||
|
||||
HOMEPAGE = http://www.internet2.edu/performance/owamp/
|
||||
|
||||
# Custom, see LICENSE.
|
||||
# Looks like BSD at first but note last paragraph.
|
||||
PERMIT_PACKAGE_CDROM = Yes
|
||||
PERMIT_PACKAGE_FTP = Yes
|
||||
PERMIT_DISTFILES_CDROM =Yes
|
||||
PERMIT_DISTFILES_FTP = Yes
|
||||
|
||||
WANTLIB += c m
|
||||
|
||||
MASTER_SITES = http://software.internet2.edu/sources/owamp/
|
||||
|
||||
CONFIGURE_STYLE = gnu
|
||||
|
||||
post-install:
|
||||
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/owampd
|
||||
${INSTALL_DATA} ${WRKSRC}/conf/owampd.conf \
|
||||
${WRKSRC}/conf/owampd.limits ${PREFIX}/share/examples/owampd
|
||||
|
||||
.include <bsd.port.mk>
|
5
net/owamp/distinfo
Normal file
5
net/owamp/distinfo
Normal file
@ -0,0 +1,5 @@
|
||||
MD5 (owamp-3.1.tar.gz) = fpx1sxAspI3yzX4N533nWQ==
|
||||
RMD160 (owamp-3.1.tar.gz) = layCp6RGvAV8jREQdva2Wli9xBk=
|
||||
SHA1 (owamp-3.1.tar.gz) = N/XAr08NUdEXxFnJ13j9xIVcgN8=
|
||||
SHA256 (owamp-3.1.tar.gz) = 2biV9FO5apQUdDZ+gGm/wgl+9C/CB6CrtUi88jpzCgE=
|
||||
SIZE (owamp-3.1.tar.gz) = 820123
|
39
net/owamp/patches/patch-conf_owampd_conf
Normal file
39
net/owamp/patches/patch-conf_owampd_conf
Normal file
@ -0,0 +1,39 @@
|
||||
$OpenBSD: patch-conf_owampd_conf,v 1.1.1.1 2011/07/08 09:31:06 sthen Exp $
|
||||
--- conf/owampd.conf.orig Fri Mar 7 23:13:35 2008
|
||||
+++ conf/owampd.conf Fri Mar 7 23:16:27 2008
|
||||
@@ -21,8 +21,8 @@
|
||||
|
||||
# run as group/user - only used if effective uid is root.
|
||||
# (defaults to nil)
|
||||
-user owamp
|
||||
-group owamp
|
||||
+user _owampd
|
||||
+group _owampd
|
||||
|
||||
# not really used, but what the heck.
|
||||
# (defaults to !verbose)
|
||||
@@ -30,7 +30,7 @@ verbose
|
||||
|
||||
# where should syslog messages go?
|
||||
# (defaults to daemon)
|
||||
-facility local5
|
||||
+#facility local5
|
||||
|
||||
# include src file:line in log messages
|
||||
# keep this on, and help us with more specific bug reports!
|
||||
@@ -39,13 +39,13 @@ loglocation
|
||||
|
||||
# location for owampd.pid and owampd.info files
|
||||
# (defaults to $cwd)
|
||||
-#vardir /var/run
|
||||
+vardir /var/run/owampd
|
||||
|
||||
# location for "recv" session files.
|
||||
# The "catalog" subdirectory is completely cleaned and recreated each time
|
||||
# owampd is restarted. DONT PUT ANYTHING IN THERE!
|
||||
# (defaults to $cwd)
|
||||
-#datadir /big/enough
|
||||
+datadir /var/db/owampd
|
||||
|
||||
# authmode - uncomment to make only Open.
|
||||
# (defaults to OAE)
|
112
net/owamp/patches/patch-owamp_endpoint_c
Normal file
112
net/owamp/patches/patch-owamp_endpoint_c
Normal file
@ -0,0 +1,112 @@
|
||||
$OpenBSD: patch-owamp_endpoint_c,v 1.1.1.1 2011/07/08 09:31:06 sthen Exp $
|
||||
|
||||
remove conflict with sys/time.h macros
|
||||
|
||||
--- owamp/endpoint.c.orig Fri Jan 23 17:52:04 2009
|
||||
+++ owamp/endpoint.c Tue Apr 21 18:03:37 2009
|
||||
@@ -1320,7 +1320,7 @@ run_sender(
|
||||
OWPScheduleContextGenerateNextDelta(
|
||||
ep->tsession->sctx));
|
||||
OWPNum64ToTimespec(&nexttime,nextoffset);
|
||||
- timespecadd(&nexttime,&ep->start);
|
||||
+ mytimespecadd(&nexttime,&ep->start);
|
||||
*seq = htonl(i);
|
||||
|
||||
/*
|
||||
@@ -1371,7 +1371,7 @@ AGAIN:
|
||||
* send time, then skip actually sending.
|
||||
*/
|
||||
latetime = timeout;
|
||||
- timespecadd(&latetime,&nexttime);
|
||||
+ mytimespecadd(&latetime,&nexttime);
|
||||
if(timespeccmp(&currtime,&latetime,>)){
|
||||
skip(ep,i);
|
||||
goto SKIP_SEND;
|
||||
@@ -1469,7 +1469,7 @@ SKIP_SEND:
|
||||
*/
|
||||
|
||||
sleeptime = nexttime;
|
||||
- timespecsub(&sleeptime,&currtime);
|
||||
+ mytimespecsub(&sleeptime,&currtime);
|
||||
if((nanosleep(&sleeptime,NULL) == 0) || (errno == EINTR)){
|
||||
goto AGAIN;
|
||||
}
|
||||
@@ -1492,8 +1492,8 @@ SKIP_SEND:
|
||||
ep->tsession->test_spec.loss_timeout)+1;
|
||||
#endif
|
||||
latetime = timeout;
|
||||
- timespecadd(&latetime,&nexttime);
|
||||
- timespecadd(&latetime,&ep->enddelay);
|
||||
+ mytimespecadd(&latetime,&nexttime);
|
||||
+ mytimespecadd(&latetime,&ep->enddelay);
|
||||
|
||||
while(!owp_usr2 && !owp_int){
|
||||
if(!_OWPGetTimespec(ep->cntrl->ctx,&currtime,&esterror,&sync)){
|
||||
@@ -1506,7 +1506,7 @@ SKIP_SEND:
|
||||
break;
|
||||
|
||||
sleeptime = latetime;
|
||||
- timespecsub(&sleeptime,&currtime);
|
||||
+ mytimespecsub(&sleeptime,&currtime);
|
||||
#if NOT
|
||||
OWPError(ep->cntrl->ctx,OWPErrFATAL,OWPErrUNKNOWN,
|
||||
"run_sender: end nanosleep(%lu.%lu,nil)",
|
||||
@@ -1885,8 +1885,8 @@ flush_lost(
|
||||
* in the missing packet queue should be declared lost.
|
||||
*/
|
||||
timespecclear(&expectspec);
|
||||
- timespecadd(&expectspec,&ep->begin->absolute);
|
||||
- timespecadd(&expectspec,&lostspec);
|
||||
+ mytimespecadd(&expectspec,&ep->begin->absolute);
|
||||
+ mytimespecadd(&expectspec,&lostspec);
|
||||
|
||||
/*
|
||||
* If owp_usr2, then StopSessions has been received. We
|
||||
@@ -1905,8 +1905,8 @@ flush_lost(
|
||||
*/
|
||||
if(owp_usr2){
|
||||
timespecclear(&currtime);
|
||||
- timespecadd(&currtime,&expectspec);
|
||||
- timespecadd(&currtime,&lostspec);
|
||||
+ mytimespecadd(&currtime,&expectspec);
|
||||
+ mytimespecadd(&currtime,&lostspec);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1977,16 +1977,16 @@ flush_lost(
|
||||
free_node(ep,node);
|
||||
|
||||
timespecclear(&expectspec);
|
||||
- timespecadd(&expectspec,&ep->begin->absolute);
|
||||
- timespecadd(&expectspec,&lostspec);
|
||||
+ mytimespecadd(&expectspec,&ep->begin->absolute);
|
||||
+ mytimespecadd(&expectspec,&lostspec);
|
||||
|
||||
/*
|
||||
* StopSessions received: fast-forward currtime
|
||||
*/
|
||||
if(owp_usr2){
|
||||
timespecclear(&currtime);
|
||||
- timespecadd(&currtime,&expectspec);
|
||||
- timespecadd(&currtime,&lostspec);
|
||||
+ mytimespecadd(&currtime,&expectspec);
|
||||
+ mytimespecadd(&currtime,&lostspec);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2181,11 +2181,11 @@ again:
|
||||
* and not the timer.)
|
||||
*/
|
||||
tvalclear(&wake.it_value);
|
||||
- timespecadd((struct timespec*)&wake.it_value,
|
||||
+ mytimespecadd((struct timespec*)&wake.it_value,
|
||||
&ep->end->absolute);
|
||||
- timespecadd((struct timespec*)&wake.it_value,&lostspec);
|
||||
- timespecadd((struct timespec*)&wake.it_value,&fudgespec);
|
||||
- timespecsub((struct timespec*)&wake.it_value,&currtime);
|
||||
+ mytimespecadd((struct timespec*)&wake.it_value,&lostspec);
|
||||
+ mytimespecadd((struct timespec*)&wake.it_value,&fudgespec);
|
||||
+ mytimespecsub((struct timespec*)&wake.it_value,&currtime);
|
||||
|
||||
wake.it_value.tv_usec /= 1000; /* convert nsec to usec */
|
||||
tvalclear(&wake.it_interval);
|
37
net/owamp/patches/patch-owamp_owamp_h
Normal file
37
net/owamp/patches/patch-owamp_owamp_h
Normal file
@ -0,0 +1,37 @@
|
||||
$OpenBSD: patch-owamp_owamp_h,v 1.1.1.1 2011/07/08 09:31:06 sthen Exp $
|
||||
|
||||
remove conflict with sys/time.h macros
|
||||
|
||||
--- owamp/owamp.h.orig Fri Jan 23 17:52:04 2009
|
||||
+++ owamp/owamp.h Tue Apr 21 18:03:37 2009
|
||||
@@ -1627,8 +1627,8 @@ OWPTestDiskspace(
|
||||
((tvp)->tv_sec cmp (uvp)->tv_sec))
|
||||
#endif
|
||||
|
||||
-#ifndef timespecadd
|
||||
-#define timespecadd(vvp, uvp) \
|
||||
+#ifndef mytimespecadd
|
||||
+#define mytimespecadd(vvp, uvp) \
|
||||
do { \
|
||||
(vvp)->tv_sec += (uvp)->tv_sec; \
|
||||
(vvp)->tv_nsec += (uvp)->tv_nsec; \
|
||||
@@ -1639,8 +1639,8 @@ OWPTestDiskspace(
|
||||
} while (0)
|
||||
#endif
|
||||
|
||||
-#ifndef timespecsub
|
||||
-#define timespecsub(vvp, uvp) \
|
||||
+#ifndef mytimespecsub
|
||||
+#define mytimespecsub(vvp, uvp) \
|
||||
do { \
|
||||
(vvp)->tv_sec -= (uvp)->tv_sec; \
|
||||
(vvp)->tv_nsec -= (uvp)->tv_nsec; \
|
||||
@@ -1662,7 +1662,7 @@ OWPTestDiskspace(
|
||||
ts1_ = *uvp; \
|
||||
ts2_ = *vvp; \
|
||||
} \
|
||||
- timespecsub(&ts1_,&ts2_); \
|
||||
+ mytimespecsub(&ts1_,&ts2_); \
|
||||
*vvp = ts1_; \
|
||||
} while(0)
|
||||
#endif
|
12
net/owamp/pkg/DESCR
Normal file
12
net/owamp/pkg/DESCR
Normal file
@ -0,0 +1,12 @@
|
||||
OWAMP is a command line client application and a policy daemon used
|
||||
to determine one way latencies between hosts. It is an implementation
|
||||
of the OWAMP protocol as defined by RFC4656.
|
||||
|
||||
With roundtrip-based measurements, it is hard to isolate the direction
|
||||
in which congestion is experienced. One-way measurements solve this
|
||||
problem and make the direction of congestion immediately apparent.
|
||||
Since traffic can be asymmetric at many sites that are primarily
|
||||
producers or consumers of data, this allows for more informative
|
||||
measurements. One-way measurements allow the user to better isolate
|
||||
the effects of specific parts of a network on the treatment of
|
||||
traffic.
|
57
net/owamp/pkg/PLIST
Normal file
57
net/owamp/pkg/PLIST
Normal file
@ -0,0 +1,57 @@
|
||||
@comment $OpenBSD: PLIST,v 1.1.1.1 2011/07/08 09:31:06 sthen Exp $
|
||||
@newgroup _owampd:678
|
||||
@newuser _owampd:678:_owampd:daemon:owampd user:/nonexistent:/sbin/nologin
|
||||
@bin bin/aespasswd
|
||||
@bin bin/owampd
|
||||
bin/owfetch
|
||||
@bin bin/owping
|
||||
bin/owstats
|
||||
@bin bin/owtvec
|
||||
bin/owup
|
||||
@bin bin/pfstore
|
||||
@bin bin/powstream
|
||||
include/I2util/
|
||||
include/I2util/Pthread.h
|
||||
include/I2util/addr.h
|
||||
include/I2util/conf.h
|
||||
include/I2util/errlog.h
|
||||
include/I2util/errlogimmediate.h
|
||||
include/I2util/errlogsyslog.h
|
||||
include/I2util/hex.h
|
||||
include/I2util/hmac-sha1.h
|
||||
include/I2util/io.h
|
||||
include/I2util/mach_dep.h
|
||||
include/I2util/md5.h
|
||||
include/I2util/pbkdf2.h
|
||||
include/I2util/random.h
|
||||
include/I2util/readpassphrase.h
|
||||
include/I2util/saddr.h
|
||||
include/I2util/sha1.h
|
||||
include/I2util/sha1P.h
|
||||
include/I2util/table.h
|
||||
include/I2util/util.h
|
||||
lib/libI2util.a
|
||||
lib/libowamp.a
|
||||
@man man/man1/aespasswd.1
|
||||
@man man/man1/owfetch.1
|
||||
@man man/man1/owping.1
|
||||
@man man/man1/owstats.1
|
||||
@man man/man1/owup.1
|
||||
@man man/man1/pfstore.1
|
||||
@man man/man1/powstream.1
|
||||
@man man/man5/owampd.conf.5
|
||||
@man man/man5/owampd.limits.5
|
||||
@man man/man5/owampd.pfs.5
|
||||
@man man/man8/owampd.8
|
||||
@owner _owampd
|
||||
@group _owampd
|
||||
@sample /var/db/owampd/
|
||||
@owner
|
||||
@group
|
||||
share/examples/owampd/
|
||||
@sample ${SYSCONFDIR}/owampd/
|
||||
share/examples/owampd/owampd.conf
|
||||
@sample ${SYSCONFDIR}/owampd/owampd.conf
|
||||
share/examples/owampd/owampd.limits
|
||||
@sample ${SYSCONFDIR}/owampd/owampd.limits
|
||||
@rcscript ${RCDIR}/owampd
|
16
net/owamp/pkg/owampd.rc
Normal file
16
net/owamp/pkg/owampd.rc
Normal file
@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# $OpenBSD: owampd.rc,v 1.1.1.1 2011/07/08 09:31:06 sthen Exp $
|
||||
|
||||
daemon="${TRUEPREFIX}/bin/owampd"
|
||||
daemon_flags="-c ${SYSCONFDIR}/owampd -d /var/db/owampd -U _owampd -G _owampd -R /var/run"
|
||||
|
||||
. /etc/rc.d/rc.subr
|
||||
|
||||
rc_reload=NO
|
||||
|
||||
rc_pre() {
|
||||
install -d -o _owampd /var/run/owampd
|
||||
}
|
||||
|
||||
rc_cmd $1
|
Loading…
Reference in New Issue
Block a user