xref: /freebsd-src/tests/sys/net/if_tun_test.sh (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
13846e575SKristof Provost
23846e575SKristof Provost. $(atf_get_srcdir)/../common/vnet.subr
33846e575SKristof Provost
4*a7ba32e6SMark Johnstonatf_test_case "235704" "cleanup"
53846e575SKristof Provost235704_head()
63846e575SKristof Provost{
73846e575SKristof Provost	atf_set descr "Test PR #235704"
83846e575SKristof Provost	atf_set require.user root
93846e575SKristof Provost}
103846e575SKristof Provost235704_body()
113846e575SKristof Provost{
123846e575SKristof Provost	vnet_init
133846e575SKristof Provost	vnet_mkjail one
143846e575SKristof Provost
153846e575SKristof Provost	tun=$(jexec one ifconfig tun create)
163846e575SKristof Provost	jexec one ifconfig ${tun} name foo
173846e575SKristof Provost	atf_check -s exit:0 jexec one ifconfig foo destroy
183846e575SKristof Provost}
193846e575SKristof Provost235704_cleanup()
203846e575SKristof Provost{
213846e575SKristof Provost	vnet_cleanup
223846e575SKristof Provost}
233846e575SKristof Provost
24*a7ba32e6SMark Johnstonatf_test_case "basic" "cleanup"
25fe701c39STom Jonesbasic_head()
26fe701c39STom Jones{
27fe701c39STom Jones	atf_set descr "Test if_tun using nc"
28fe701c39STom Jones	atf_set require.user root
29fe701c39STom Jones}
30fe701c39STom Jonesbasic_body()
31fe701c39STom Jones{
32fe701c39STom Jones	vnet_init
33fe701c39STom Jones
34fe701c39STom Jones	epair=$(vnet_mkepair)
35fe701c39STom Jones
36fe701c39STom Jones	tun_duke=$(ifconfig tun create)
37fe701c39STom Jones	tun_bass=$(ifconfig tun create)
38fe701c39STom Jones
39fe701c39STom Jones	vnet_mkjail duke ${epair}a ${tun_duke}
40fe701c39STom Jones	vnet_mkjail bass ${epair}b ${tun_bass}
41fe701c39STom Jones
42fe701c39STom Jones	jexec duke ifconfig ${epair}a inet 10.0.0.1/24 up
43fe701c39STom Jones	jexec bass ifconfig ${epair}b inet 10.0.0.2/24 up
44fe701c39STom Jones
45fe701c39STom Jones	jexec duke nc -u -l --tun /dev/${tun_duke} 10.0.0.1 2600 &
46fe701c39STom Jones	jexec bass nc -u --tun /dev/${tun_bass} 10.0.0.1 2600 &
47fe701c39STom Jones
48fe701c39STom Jones	jexec duke ifconfig ${tun_duke} inet 10.100.0.1/24 10.100.0.2 up
49fe701c39STom Jones	jexec bass ifconfig ${tun_bass} inet 10.100.0.2/24 10.100.0.1 up
50fe701c39STom Jones
51fe701c39STom Jones	atf_check -s exit:0 -o ignore \
52fe701c39STom Jones		jexec bass ping -c 1 10.100.0.1
53fe701c39STom Jones}
54*a7ba32e6SMark Johnstonbasic_cleanup()
55fe701c39STom Jones{
56fe701c39STom Jones	vnet_cleanup
57fe701c39STom Jones}
58fe701c39STom Jones
593846e575SKristof Provostatf_init_test_cases()
603846e575SKristof Provost{
613846e575SKristof Provost	atf_add_test_case "235704"
62fe701c39STom Jones	atf_add_test_case "basic"
633846e575SKristof Provost}
64