Lines Matching refs:ptp_data

142 static struct ptpv2_data_slave_ordinary ptp_data;  variable
261 print_clock_info(struct ptpv2_data_slave_ordinary *ptp_data) in print_clock_info() argument
267 ptp_data->master_clock_id.id[0], in print_clock_info()
268 ptp_data->master_clock_id.id[1], in print_clock_info()
269 ptp_data->master_clock_id.id[2], in print_clock_info()
270 ptp_data->master_clock_id.id[3], in print_clock_info()
271 ptp_data->master_clock_id.id[4], in print_clock_info()
272 ptp_data->master_clock_id.id[5], in print_clock_info()
273 ptp_data->master_clock_id.id[6], in print_clock_info()
274 ptp_data->master_clock_id.id[7]); in print_clock_info()
277 (ptp_data->tstamp2.tv_sec), in print_clock_info()
278 (ptp_data->tstamp2.tv_nsec)); in print_clock_info()
281 ptp_data->tstamp1.tv_sec, in print_clock_info()
282 (ptp_data->tstamp1.tv_nsec)); in print_clock_info()
285 ptp_data->tstamp3.tv_sec, in print_clock_info()
286 (ptp_data->tstamp3.tv_nsec)); in print_clock_info()
289 ptp_data->tstamp4.tv_sec, in print_clock_info()
290 (ptp_data->tstamp4.tv_nsec)); in print_clock_info()
293 ptp_data->delta); in print_clock_info()
296 rte_eth_timesync_read_time(ptp_data->current_ptp_port, &net_time); in print_clock_info()
307 ptp_data->new_adj = ns_to_timeval(nsec); in print_clock_info()
309 gettimeofday(&ptp_data->new_adj, NULL); in print_clock_info()
311 time_t tp = ptp_data->new_adj.tv_sec; in print_clock_info()
314 ctime(&tp), ptp_data->new_adj.tv_usec); in print_clock_info()
326 delta_eval(struct ptpv2_data_slave_ordinary *ptp_data) in delta_eval() argument
334 t1 = timespec64_to_ns(&ptp_data->tstamp1); in delta_eval()
335 t2 = timespec64_to_ns(&ptp_data->tstamp2); in delta_eval()
336 t3 = timespec64_to_ns(&ptp_data->tstamp3); in delta_eval()
337 t4 = timespec64_to_ns(&ptp_data->tstamp4); in delta_eval()
348 parse_sync(struct ptpv2_data_slave_ordinary *ptp_data, uint16_t rx_tstamp_idx) in parse_sync() argument
352 ptp_hdr = (struct ptp_header *)(rte_pktmbuf_mtod(ptp_data->m, char *) in parse_sync()
354 ptp_data->seqID_SYNC = rte_be_to_cpu_16(ptp_hdr->seq_id); in parse_sync()
356 if (ptp_data->ptpset == 0) { in parse_sync()
357 rte_memcpy(&ptp_data->master_clock_id, in parse_sync()
360 ptp_data->ptpset = 1; in parse_sync()
367 if (ptp_data->ptpset == 1) in parse_sync()
368 rte_eth_timesync_read_rx_timestamp(ptp_data->portid, in parse_sync()
369 &ptp_data->tstamp2, rx_tstamp_idx); in parse_sync()
378 parse_fup(struct ptpv2_data_slave_ordinary *ptp_data) in parse_fup() argument
390 struct rte_mbuf *m = ptp_data->m; in parse_fup()
396 if (memcmp(&ptp_data->master_clock_id, in parse_fup()
401 ptp_data->seqID_FOLLOWUP = rte_be_to_cpu_16(ptp_hdr->seq_id); in parse_fup()
406 ptp_data->tstamp1.tv_nsec = ntohl(origin_tstamp->ns); in parse_fup()
407 ptp_data->tstamp1.tv_sec = in parse_fup()
411 if (ptp_data->seqID_FOLLOWUP == ptp_data->seqID_SYNC) { in parse_fup()
412 ret = rte_eth_macaddr_get(ptp_data->portid, &eth_addr); in parse_fup()
415 rte_lcore_id(), ptp_data->portid, in parse_fup()
436 ptp_msg->delay_req.hdr.seq_id = htons(ptp_data->seqID_SYNC); in parse_fup()
458 rte_memcpy(&ptp_data->client_clock_id, in parse_fup()
466 rte_eth_timesync_read_tx_timestamp(ptp_data->portid, in parse_fup()
467 &ptp_data->tstamp3); in parse_fup()
470 rte_eth_tx_burst(ptp_data->portid, 0, &created_pkt, 1); in parse_fup()
473 ptp_data->tstamp3.tv_nsec = 0; in parse_fup()
474 ptp_data->tstamp3.tv_sec = 0; in parse_fup()
477 while ((rte_eth_timesync_read_tx_timestamp(ptp_data->portid, in parse_fup()
478 &ptp_data->tstamp3) < 0) && (wait_us < 1000)) { in parse_fup()
496 rte_eth_timesync_read_time(ptp_data.current_ptp_port, &net_time); in update_kernel_time()
501 ptp_data.new_adj = ns_to_timeval(nsec); in update_kernel_time()
513 adjtime(&ptp_data.new_adj, 0); in update_kernel_time()
522 parse_drsp(struct ptpv2_data_slave_ordinary *ptp_data) in parse_drsp() argument
524 struct rte_mbuf *m = ptp_data->m; in parse_drsp()
532 if (memcmp(&ptp_data->client_clock_id, in parse_drsp()
535 if (seq_id == ptp_data->seqID_FOLLOWUP) { in parse_drsp()
537 ptp_data->tstamp4.tv_nsec = ntohl(rx_tstamp->ns); in parse_drsp()
538 ptp_data->tstamp4.tv_sec = in parse_drsp()
543 ptp_data->delta = delta_eval(ptp_data); in parse_drsp()
545 rte_eth_timesync_adjust_time(ptp_data->portid, in parse_drsp()
546 ptp_data->delta); in parse_drsp()
548 ptp_data->current_ptp_port = ptp_data->portid; in parse_drsp()
551 if (ptp_data->kernel_time_set == 1) in parse_drsp()
573 ptp_data.m = m; in parse_ptp_frames()
574 ptp_data.portid = portid; in parse_ptp_frames()
580 parse_sync(&ptp_data, m->timesync); in parse_ptp_frames()
583 parse_fup(&ptp_data); in parse_ptp_frames()
586 parse_drsp(&ptp_data); in parse_ptp_frames()
587 print_clock_info(&ptp_data); in parse_ptp_frames()
709 ptp_data.kernel_time_set = ret; in ptp_parse_args()
742 memset(&ptp_data, '\0', sizeof(struct ptpv2_data_slave_ordinary)); in main()