xref: /openbsd/regress/sys/kern/sosplice/perf/Makefile (revision e5dd7070)
1#	$OpenBSD: Makefile,v 1.7 2019/07/12 19:31:29 bluhm Exp $
2
3PROG ?=		relay
4CFLAGS +=	-Wall -Werror
5CFLAGS +=	-Wstrict-prototypes -Wmissing-prototypes
6CFLAGS +=	-Wmissing-declarations
7CFLAGS +=	-Wshadow -Wpointer-arith -Wcast-qual
8CFLAGS +=	-Wsign-compare
9NOMAN =		yes
10
11TARGETS =	tcp-copy tcp-splice udp-copy udp-splice
12CLEANFILES +=	copy splice
13
14.include <bsd.regress.mk>
15
16copy splice: ${PROG}
17	ln -s relay $@
18
19remote-setup:
20.if ! empty (REMOTE_SSH)
21	ssh ${REMOTE_SSH} 'cd ${.CURDIR} && make copy splice'
22.endif
23
24.for p in tcp udp
25.for r in copy splice
26
27run-$p-$r: $r remote-setup
28	@echo '\n======== $@ ========'
29	-pkill -x tcpbench
30.if empty (REMOTE_SSH)
31	./$r ${p:S/tcp//:S/udp/-u/} -4 12345 127.0.0.1 12346 & \
32	rpid=$$! ; \
33	tcpbench ${p:S/tcp//:S/udp/-u/} -4 -t 7 -s -p 12346 & \
34	sleep 1 ; \
35	tcpbench ${p:S/tcp//:S/udp/-u/} -4 -t 5 127.0.0.1 ; \
36	kill $$rpid ; \
37	pkill -x tcpbench
38.else
39	ssh -f ${REMOTE_SSH} 'cd ${.CURDIR} && make PROG= LOCAL_ADDR=${LOCAL_ADDR} REMOTE_ADDR=${REMOTE_ADDR} remote-$p-$r' ; \
40	sleep 2 ; \
41	tcpbench ${p:S/tcp//:S/udp/-u/} -t 7 -b ${LOCAL_ADDR} -s -p 12346 & \
42	sleep 1 ; \
43	tcpbench ${p:S/tcp//:S/udp/-u/} -t 5 ${REMOTE_ADDR} ; \
44	pkill -x tcpbench
45.endif
46	sleep 1
47
48remote-$p-$r: $r
49	-pkill -x $r
50	./$r ${p:S/tcp//:S/udp/-u/} -b ${REMOTE_ADDR} 12345 ${LOCAL_ADDR} 12346 & \
51	rpid=$$! ; \
52	sleep 10 ; \
53	kill $$rpid
54
55.endfor
56.endfor
57