123 lines
3 KiB
Bash
Executable file
123 lines
3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
. ./test.common
|
|
|
|
test_start "NTP over PTP"
|
|
|
|
# Block communication between 3 and 1
|
|
base_delay="(+ 1e-4 (* -1 (equal 0.1 from 3) (equal 0.1 to 1)))"
|
|
|
|
cat > tmp/peer.keys <<-EOF
|
|
1 MD5 1234567890
|
|
EOF
|
|
|
|
clients=2
|
|
peers=2
|
|
max_sync_time=420
|
|
|
|
server_conf="
|
|
ptpdomain 123
|
|
ptpport 319"
|
|
client_conf="
|
|
ptpport 319
|
|
authselectmode ignore
|
|
keyfile tmp/peer.keys"
|
|
client_server_options="minpoll 6 maxpoll 6 port 319"
|
|
client_peer_options="minpoll 6 maxpoll 6 port 319 key 1"
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_source_selection || test_fail
|
|
check_sync || test_fail
|
|
|
|
check_file_messages " 2 1 .* 319 319 1 96 " 150 160 \
|
|
log.packets || test_fail
|
|
check_file_messages " 1 2 .* 319 319 1 96 " 150 160 \
|
|
log.packets || test_fail
|
|
check_file_messages " 2 3 .* 319 319 1 116 " 150 160 \
|
|
log.packets || test_fail
|
|
check_file_messages " 3 2 .* 319 319 1 116 " 150 160 \
|
|
log.packets || test_fail
|
|
|
|
check_config_h 'HAVE_LINUX_TIMESTAMPING 1' || test_skip
|
|
|
|
export CLKNETSIM_TIMESTAMPING=2
|
|
export CLKNETSIM_LINK_SPEED=100
|
|
|
|
client_server_options+=" extfield F324 minpoll 0 maxpoll 0"
|
|
client_peer_options+=" extfield F324 minpoll 0 maxpoll 0 maxdelaydevratio 1e6"
|
|
server_conf+="
|
|
clockprecision 1e-9
|
|
hwtimestamp eth0"
|
|
client_conf+="
|
|
clockprecision 1e-9
|
|
hwtimestamp eth0"
|
|
delay_correction="(+ delay (* -8e-8 (+ length 46)))"
|
|
wander=1e-9
|
|
limit=1000
|
|
freq_offset=-1e-4
|
|
min_sync_time=5
|
|
max_sync_time=20
|
|
time_max_limit=1e-7
|
|
time_rms_limit=2e-8
|
|
freq_max_limit=1e-7
|
|
freq_rms_limit=5e-8
|
|
client_chronyd_options="-d"
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_source_selection || test_fail
|
|
check_sync || test_fail
|
|
|
|
if check_config_h 'FEAT_DEBUG 1'; then
|
|
check_log_messages "apply_net_correction.*Applied" 900 2100 || test_fail
|
|
check_log_messages "apply_net_correction.*Invalid" 0 4 || test_fail
|
|
fi
|
|
|
|
client_server_options+=" xleave"
|
|
client_peer_options+=" xleave"
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_source_selection || test_fail
|
|
check_sync || test_fail
|
|
|
|
if check_config_h 'FEAT_DEBUG 1'; then
|
|
check_log_messages "apply_net_correction.*Applied" 900 2100 || test_fail
|
|
check_log_messages "apply_net_correction.*Invalid" 0 4 || test_fail
|
|
|
|
freq_offset=0.0
|
|
delay_correction="(+ -1.0e-9 (* 1.0001 delay))"
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
|
|
check_log_messages "apply_net_correction.*Applied" 350 1400 || test_fail
|
|
check_log_messages "apply_net_correction.*Invalid" 350 1400 || test_fail
|
|
|
|
server_conf="ptpport 319"
|
|
client_conf="ptpport 319"
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
|
|
check_log_messages "apply_net_correction.*Applied" 0 0 || test_fail
|
|
fi
|
|
|
|
freq_offset=-1e-4
|
|
delay_correction=""
|
|
server_conf="ptpport 319"
|
|
client_conf="ptpport 319
|
|
ptpdomain 124
|
|
authselectmode ignore
|
|
keyfile tmp/peer.keys"
|
|
time_max_limit=$default_time_max_limit
|
|
time_rms_limit=$default_time_rms_limit
|
|
freq_max_limit=$default_freq_max_limit
|
|
freq_rms_limit=$default_freq_rms_limit
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_sync && test_fail
|
|
|
|
test_pass
|