Hi!
I am using DPDK to develop a delay measurement application.
I put a timestamp in the packet and call rte_eth_tx_burst(). The
receiving end would just loopback the packet.
Using the timestamp that I had put, and the current time, I am able to
calculate the delay in the network.
But when the link goes down and up, I am observing huge delay.
This is because the packets which are placed in the ring just before the
link got down, are transmitted once the link is up.
E.g. If it took 500ms between link down and up, I will get (current time
- timestamp) as 500ms.
Do you have a solution to solve this? Is there any way we can instruct
to drop the packets when link is down (or) cleanup the queue and start
fresh when the link is up?
Note : I have registered a link status callback function.
(rte_eth_dev_callback_register(portid, RTE_ETH_EVENT_INTR_LSC,
linkStatusCheck, NULL)).
So I can know the link status as earlier as possible and prevent doing
rte_eth_tx_burst() if link is down.
But still in case of race scenarios, pkts placed in the ring before the
link got down may get transmitted after the link gets up.
Thanks,
Karthik
DISCLAIMER: Privileged and/or Confidential information may be
contained in this message. If you are not the addressee of this message,
you may not copy, use or deliver this message to anyone. In such
event,you should destroy the message and kindly notify the sender by
reply e-mail.
It is understood that opinions or conclusions that do not relate to the
official business of the company are neither given nor endorsed by the
company.