ns3::GlobalRouting may not compatible with FlowECMP in large datacenter topology??

54 views
Skip to first unread message

Huangchengyuan Ryan

unread,
Nov 28, 2015, 9:47:49 AM11/28/15
to ns-3-users
Hi!
    Recently i am working on some tests in datacenter network like FatTree topology. The one-to-one workload is applied to  hosts in the leaves of the topology, which means half of nodes send data, and the other nodes in corresponding neighbouring pods receive data. FlowECMP is used to load balance better, and GrobalRouting is cooperate with ECMP as well. However, when the simulation starts, it comes to the following error:
msg="Udp or Tcp header not found 1", file=../src/internet/model/ipv4-global-routing.cc, line=196

It seems to work correctly in some simple topology, such as https://www.nsnam.org/bugzilla/attachment.cgi?id=1491&action=diff#043544eef3ed_sec1 . And i imitate the FlowECMP usage. Therefore, i am wondering now is FlowECMP cannot compatible with large topology?

Expect for your replies!!
Thanks a lot!
 

Huangchengyuan Ryan

unread,
Nov 28, 2015, 11:11:11 AM11/28/15
to ns-3-users
I upload my source c++ file. It seems that when i use static routing and nixrouting, the program works well, which quite confuses me. Hope you guys can help me solve the puzzling problem..Theoretically the routing strategy will not affect the stacks on a host, isn't it??

在 2015年11月28日星期六 UTC+8下午10:47:49,Huangchengyuan Ryan写道:
DCN.cc

Tommaso Pecorella

unread,
Nov 28, 2015, 11:41:36 AM11/28/15
to ns-3-users
What confuses me is that you don't think to open the file that gave you the assert to look where the assert was thrown and why.
The short answer is: if that patch wasn't included in the main ns-3 codebase there's a precise reason, and it's the one you got. With it, only TCP and UDP can be routed. ICMPs will throw a big boom, as for any non-TCP or non-UDP packet.
For a workaround, check the code. It's pretty evident how to avoid the error.

T.
Reply all
Reply to author
Forward
0 new messages