odp-dpdk icon indicating copy to clipboard operation
odp-dpdk copied to clipboard

[ODP-DPDK] ODP API rte_get_timer_cycles() returns large value of cpu ticks to OFP which reset the TCP connection

Open manishmatey opened this issue 4 years ago • 0 comments

OFP function tcp_ts_getticks() calls below ODP API's:

ofp_timer_ticks_u64(0) -> odp_timer_current_tick(shm->socket_timer_pool) -> rte_get_timer_cycles()

rte_get_timer_cycles() returns big value (in my case : 604475915736788 ) but tcp_ts_getticks() expect value between 0 to 1000 as per below comment on function: /*

tcp_ts_getticks() in ms, should be 1ms < x < 1000ms according to RFC 1323. We always use 1ms granularity independent of hz. */ static __inline uint32_t tcp_ts_getticks(void) { return (ofp_timer_ticks(0) * (OFP_TIMER_RESOLUTION_US / 1000)); } Do we need to do any conversion here before sending back value to OFP? Is it a bug in ODP 1.23 ?

Please help me on this above issue.

manishmatey avatar Sep 08 '20 11:09 manishmatey