-
Notifications
You must be signed in to change notification settings - Fork 174
Open
Description
In RdmaHw::ReceiveUdp:
int RdmaHw::ReceiveUdp(Ptr<Packet> p, CustomHeader &ch){
uint8_t ecnbits = ch.GetIpv4EcnBits();
uint32_t payload_size = p->GetSize() - ch.GetSerializedSize();
// TODO find corresponding rx queue pair
Ptr<RdmaRxQueuePair> rxQp = GetRxQp(ch.dip, ch.sip, ch.udp.dport, ch.udp.sport, ch.udp.pg, true);
if (ecnbits != 0){
rxQp->m_ecn_source.ecnbits |= ecnbits;
rxQp->m_ecn_source.qfb++;
}
rxQp->m_ecn_source.total++;
rxQp->m_milestone_rx = m_ack_interval;
The rxQp->m_milestone_rx is assigned to m_ack_interval for each Udp packet received. The correct approach is assign rxQp->m_milestone_rx to m_ack_interval when rxQp->m_milestone_rx is 0. Otherwise, there will be mistakes when ack_interval is adjusted to a larger value.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels