more enum instead of magic number
This commit is contained in:
parent
2a508e674a
commit
b64d291c61
|
@ -37,3 +37,4 @@ __pycache__/
|
|||
.waf*
|
||||
compile_commands.json
|
||||
.cache/
|
||||
.vscode/
|
||||
|
|
|
@ -43,7 +43,7 @@ using namespace std;
|
|||
|
||||
NS_LOG_COMPONENT_DEFINE("GENERIC_SIMULATION");
|
||||
|
||||
uint32_t cc_mode = 1;
|
||||
uint32_t cc_mode = CC_MODE::POWERTCP;
|
||||
bool enable_qcn = true;
|
||||
uint32_t packet_payload_size = 1000, l2_chunk_size = 0, l2_ack_interval = 0;
|
||||
double pause_time = 5, simulator_stop_time = 3.01;
|
||||
|
@ -966,15 +966,15 @@ main(int argc, char* argv[])
|
|||
// set int_multi
|
||||
IntHop::multi = int_multi;
|
||||
// IntHeader::mode
|
||||
if (cc_mode == 7 || cc_mode == 11)
|
||||
if (cc_mode == CC_MODE::TIMELY || cc_mode == CC_MODE::PATCHED_TIMELY)
|
||||
{ // timely or patched timely, use ts
|
||||
IntHeader::mode = IntHeader::TS;
|
||||
}
|
||||
else if (cc_mode == 3)
|
||||
else if (cc_mode == CC_MODE::POWERTCP)
|
||||
{ // hpcc, powertcp, use int
|
||||
IntHeader::mode = IntHeader::NORMAL;
|
||||
}
|
||||
else if (cc_mode == 10)
|
||||
else if (cc_mode == CC_MODE::HPCC_PINT)
|
||||
{ // hpcc-pint
|
||||
IntHeader::mode = IntHeader::PINT;
|
||||
}
|
||||
|
@ -984,7 +984,7 @@ main(int argc, char* argv[])
|
|||
}
|
||||
|
||||
// Set Pint
|
||||
if (cc_mode == 10)
|
||||
if (cc_mode == CC_MODE::HPCC_PINT)
|
||||
{
|
||||
Pint::set_log_base(pint_log_base);
|
||||
IntHeader::pint_bytes = Pint::get_n_bytes();
|
||||
|
|
|
@ -950,15 +950,15 @@ main(int argc, char* argv[])
|
|||
// set int_multi
|
||||
IntHop::multi = int_multi;
|
||||
// IntHeader::mode
|
||||
if (cc_mode == 7 || cc_mode == 11)
|
||||
{ // timely or patched, use ts
|
||||
if (cc_mode == CC_MODE::TIMELY || cc_mode == CC_MODE::PATCHED_TIMELY)
|
||||
{ // timely or patched timely, use ts
|
||||
IntHeader::mode = IntHeader::TS;
|
||||
}
|
||||
else if (cc_mode == 3)
|
||||
else if (cc_mode == CC_MODE::POWERTCP)
|
||||
{ // hpcc, powertcp, use int
|
||||
IntHeader::mode = IntHeader::NORMAL;
|
||||
}
|
||||
else if (cc_mode == 10)
|
||||
else if (cc_mode == CC_MODE::HPCC_PINT)
|
||||
{ // hpcc-pint
|
||||
IntHeader::mode = IntHeader::PINT;
|
||||
}
|
||||
|
@ -968,7 +968,7 @@ main(int argc, char* argv[])
|
|||
}
|
||||
|
||||
// Set Pint
|
||||
if (cc_mode == 10)
|
||||
if (cc_mode == CC_MODE::HPCC_PINT)
|
||||
{
|
||||
Pint::set_log_base(pint_log_base);
|
||||
IntHeader::pint_bytes = Pint::get_n_bytes();
|
||||
|
|
|
@ -1210,15 +1210,15 @@ main(int argc, char* argv[])
|
|||
// set int_multi
|
||||
IntHop::multi = int_multi;
|
||||
// IntHeader::mode
|
||||
if (cc_mode == 7 || cc_mode == 11)
|
||||
{ // timely or patched, use ts
|
||||
if (cc_mode == CC_MODE::TIMELY || cc_mode == CC_MODE::PATCHED_TIMELY)
|
||||
{ // timely or patched timely, use ts
|
||||
IntHeader::mode = IntHeader::TS;
|
||||
}
|
||||
else if (cc_mode == 3)
|
||||
else if (cc_mode == CC_MODE::POWERTCP)
|
||||
{ // hpcc, powertcp, use int
|
||||
IntHeader::mode = IntHeader::NORMAL;
|
||||
}
|
||||
else if (cc_mode == 10)
|
||||
else if (cc_mode == CC_MODE::HPCC_PINT)
|
||||
{ // hpcc-pint
|
||||
IntHeader::mode = IntHeader::PINT;
|
||||
}
|
||||
|
@ -1228,7 +1228,7 @@ main(int argc, char* argv[])
|
|||
}
|
||||
|
||||
// Set Pint
|
||||
if (cc_mode == 10)
|
||||
if (cc_mode == CC_MODE::HPCC_PINT)
|
||||
{
|
||||
Pint::set_log_base(pint_log_base);
|
||||
IntHeader::pint_bytes = Pint::get_n_bytes();
|
||||
|
|
|
@ -323,11 +323,11 @@ RdmaHw::AddQueuePair(uint64_t size,
|
|||
}
|
||||
qp->m_rate = m_bps;
|
||||
qp->m_max_rate = m_bps;
|
||||
if (m_cc_mode == 1)
|
||||
if (m_cc_mode == CC_MODE::MLX_CNP)
|
||||
{
|
||||
qp->mlx.m_targetRate = m_bps;
|
||||
}
|
||||
else if (m_cc_mode == 3)
|
||||
else if (m_cc_mode == CC_MODE::HPCC)
|
||||
{
|
||||
qp->hp.m_curRate = m_bps;
|
||||
if (m_multipleRate)
|
||||
|
@ -338,11 +338,11 @@ RdmaHw::AddQueuePair(uint64_t size,
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (m_cc_mode == 7 || m_cc_mode == 11)
|
||||
else if (m_cc_mode == CC_MODE::TIMELY || m_cc_mode == CC_MODE::PATCHED_TIMELY)
|
||||
{
|
||||
qp->tmly.m_curRate = m_bps;
|
||||
}
|
||||
else if (m_cc_mode == 10)
|
||||
else if (m_cc_mode == CC_MODE::HPCC_PINT)
|
||||
{
|
||||
qp->hpccPint.m_curRate = m_bps;
|
||||
}
|
||||
|
@ -497,11 +497,11 @@ RdmaHw::ReceiveCnp(Ptr<Packet> p, CustomHeader& ch)
|
|||
if (qp->m_rate == 0) // lazy initialization
|
||||
{
|
||||
qp->m_rate = dev->GetDataRate();
|
||||
if (m_cc_mode == 1)
|
||||
if (m_cc_mode == CC_MODE::MLX_CNP)
|
||||
{
|
||||
qp->mlx.m_targetRate = dev->GetDataRate();
|
||||
}
|
||||
else if (m_cc_mode == 3)
|
||||
else if (m_cc_mode == CC_MODE::HPCC)
|
||||
{
|
||||
qp->hp.m_curRate = dev->GetDataRate();
|
||||
if (m_multipleRate)
|
||||
|
@ -512,11 +512,11 @@ RdmaHw::ReceiveCnp(Ptr<Packet> p, CustomHeader& ch)
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (m_cc_mode == 7 || m_cc_mode == 11)
|
||||
else if (m_cc_mode == CC_MODE::TIMELY || m_cc_mode == CC_MODE::PATCHED_TIMELY)
|
||||
{
|
||||
qp->tmly.m_curRate = dev->GetDataRate();
|
||||
}
|
||||
else if (m_cc_mode == 10)
|
||||
else if (m_cc_mode == CC_MODE::HPCC_PINT)
|
||||
{
|
||||
qp->hpccPint.m_curRate = dev->GetDataRate();
|
||||
}
|
||||
|
@ -571,7 +571,7 @@ RdmaHw::ReceiveAck(Ptr<Packet> p, CustomHeader& ch)
|
|||
// handle cnp
|
||||
if (cnp)
|
||||
{
|
||||
if (m_cc_mode == 1)
|
||||
if (m_cc_mode == CC_MODE::MLX_CNP)
|
||||
{ // mlx version
|
||||
cnp_received_mlx(qp);
|
||||
}
|
||||
|
@ -595,6 +595,8 @@ RdmaHw::ReceiveAck(Ptr<Packet> p, CustomHeader& ch)
|
|||
case CC_MODE::PATCHED_TIMELY:
|
||||
HandleAckPatchedTimely(qp, p, ch);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// ACK may advance the on-the-fly window, allowing more packets to send
|
||||
dev->TriggerTransmit();
|
||||
|
@ -702,7 +704,7 @@ void
|
|||
RdmaHw::QpComplete(Ptr<RdmaQueuePair> qp)
|
||||
{
|
||||
NS_ASSERT(!m_qpCompleteCallback.IsNull());
|
||||
if (m_cc_mode == 1)
|
||||
if (m_cc_mode == CC_MODE::MLX_CNP)
|
||||
{
|
||||
Simulator::Cancel(qp->mlx.m_eventUpdateAlpha);
|
||||
Simulator::Cancel(qp->mlx.m_eventDecreaseRate);
|
||||
|
|
|
@ -41,8 +41,6 @@ class RdmaHw : public Object
|
|||
Ptr<Node> m_node;
|
||||
DataRate m_minRate; //< Min sending rate
|
||||
uint32_t m_mtu;
|
||||
// 1 for Mellanox CNP, 3 for HPCC/PowerTCP/Theta-PowerTCP, 7 for TIMELY, 8 for DCTCP,
|
||||
// 10 for HPCC-PINT, 11 for Patched TIMELY
|
||||
uint32_t m_cc_mode;
|
||||
double m_nack_interval;
|
||||
uint32_t m_chunk;
|
||||
|
@ -206,10 +204,8 @@ class RdmaHw : public Object
|
|||
void UpdateRateHpPint(Ptr<RdmaQueuePair> qp, Ptr<Packet> p, CustomHeader& ch, bool fast_react);
|
||||
};
|
||||
|
||||
// 1 for Mellanox CNP, 3 for HPCC/PowerTCP/Theta-PowerTCP, 7 for TIMELY, 8 for DCTCP,
|
||||
// 10 for HPCC-PINT, 11 for Patched TIMELY
|
||||
|
||||
enum CC_MODE {
|
||||
enum CC_MODE
|
||||
{
|
||||
MLX_CNP = 1,
|
||||
HPCC = 3,
|
||||
POWERTCP = 3,
|
||||
|
|
Loading…
Reference in New Issue