xref: /openbsd-src/regress/sys/kern/sosplice/perf/Makefile (revision b5d99089c2c33aceeba7ec4dbfc362d61bc408ea)
1#	$OpenBSD: Makefile,v 1.8 2020/12/17 00:51:12 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	-pkill -x tcpbench
29.if empty (REMOTE_SSH)
30	./$r ${p:S/tcp//:S/udp/-u/} -4 12345 127.0.0.1 12346 & \
31	rpid=$$! ; \
32	tcpbench ${p:S/tcp//:S/udp/-u/} -4 -t 7 -s -p 12346 & \
33	sleep 1 ; \
34	tcpbench ${p:S/tcp//:S/udp/-u/} -4 -t 5 127.0.0.1 ; \
35	kill $$rpid ; \
36	pkill -x tcpbench
37.else
38	ssh -f ${REMOTE_SSH} 'cd ${.CURDIR} && make PROG= LOCAL_ADDR=${LOCAL_ADDR} REMOTE_ADDR=${REMOTE_ADDR} remote-$p-$r' ; \
39	sleep 2 ; \
40	tcpbench ${p:S/tcp//:S/udp/-u/} -t 7 -b ${LOCAL_ADDR} -s -p 12346 & \
41	sleep 1 ; \
42	tcpbench ${p:S/tcp//:S/udp/-u/} -t 5 ${REMOTE_ADDR} ; \
43	pkill -x tcpbench
44.endif
45	sleep 1
46
47remote-$p-$r: $r
48	-pkill -x $r
49	./$r ${p:S/tcp//:S/udp/-u/} -b ${REMOTE_ADDR} 12345 ${LOCAL_ADDR} 12346 & \
50	rpid=$$! ; \
51	sleep 10 ; \
52	kill $$rpid
53
54.endfor
55.endfor
56