GoogCC implementation. Probes? How to use GoogCcNetworkController?

47 views
Skip to first unread message

Hrishikesh Ingle

unread,
Apr 24, 2025, 2:34:08 AMApr 24
to discuss-webrtc
I wish to implement Google Congestion control in ns3. I am trying to figure out how to use GoogCcNetworkController. So far I have this:

When a packet is sent:
GoogCcNetworkController::OnSentPacket

When a packet is received:
GoogCcNetworkController::OnReceivedPacket

When a packet is lost(detected through timeout)
GoogCcNetworkController::OnTransportLossReport

And every 25 ms I call
GoogCcNetworkController::OnProcessInterval

And each time I check the values of the networkControlUpdate struct returned. So far, the only value that has changed is pacer_config and target_rate.

Problem: congestion_window has never been changed and neither has probe_cluster_configs 

Also, how am I supposed to handle probes? Do I send the probes to the receiver and is the receiver supposed to echo them back?

Thanks in advance

Hrishikesh Ingle

unread,
Apr 25, 2025, 2:00:23 AMApr 25
to discuss-webrtc
Ok turns out you need to explicitly say the network is available via GoogCcNetworkController::OnNetworkAvailability. Still unsure about why cwnd never changed but hopefully it will be fixed after I implement probes correct (which I still need advice on how to do)
Reply all
Reply to author
Forward
0 new messages