<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, May 25, 2017 at 12:05 AM, Vasu M <span dir="ltr"><<a href="mailto:vasu.kernel@gmail.com" target="_blank">vasu.kernel@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><font face="monospace, monospace">I would like to know from which version of Linux, ECMP is supported? I am trying to add a route with two next hops. Only one path gets added. And for the other path, the route says "RTNETLINK answers: File exists". I am not able to understand what's going on. The route prefix is not pointing to ecmp because metric is not given for static routes? How can I test multipath for a prefix that goes over 2 links? </font><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace">I tried "echo 7 > /proc/sys/kernel/printk" and dmesg but I don't see anything related to route add events. Just wondering how I should approach this problem. </span><br></div><div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">I am running the following versions on two devices running ONL. </font></div><div>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><font face="monospace, monospace"><b>Linux localhost 3.16.43-OpenNetworkLinux #1 SMP Thu May 11 18:37:48 UTC 2017 x86_64 GNU/Linux</b><br></font></p><div><div><font face="monospace, monospace">I tried the following :- </font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">root@localhost:~# route -n<br></font></div><div>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">Kernel IP routing table</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">Destination Gateway Genmask Flags Metric Ref Use Iface</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 ma1</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 fpPort2</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">20.20.20.0 0.0.0.0 255.255.255.0 U 0 0 0 fpPort13</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 ma1</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">root@localhost:~# arp -a</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">? <b>(20.20.20.2) at 00:a0:c9:00:00:01 [ether] on fpPort13 </b></font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">? (192.168.100.100) at f0:7f:06:1d:56:ff [ether] on ma1</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">? (192.168.100.1) at 18:b1:69:33:88:a4 [ether] on ma1</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">? (192.168.100.52) at cc:37:ab:7c:ca:16 [ether] on ma1</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">? (192.168.100.3) at c8:1f:66:f6:ea:07 [ether] on ma1</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">? <b>(10.10.10.2) at 00:a0:c9:00:00:01 [ether] on fpPort2</b></font></span></p><p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace"><b><br></b></font></span></p><p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">
</font></span></p><p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">ip route add <a href="http://100.100.100.0/24" target="_blank">100.100.100.0/24</a> via 10.10.10.2</font></span></p></div><div>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">root@localhost:~# route -n</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">Kernel IP routing table</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">Destination Gateway Genmask Flags Metric Ref Use Iface</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 ma1</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 fpPort2</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">20.20.20.0 0.0.0.0 255.255.255.0 U 0 0 0 fpPort13</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">100.100.100.0 10.10.10.2 255.255.255.0 UG 0 0 0 fpPort2</font></span></p>
<p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 ma1</font></span></p><p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><font face="monospace, monospace">root@localhost:~# ip route add <a href="http://100.100.100.0/24" target="_blank">100.100.100.0/24</a> via 20.20.20.2</font></span></p><p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><font face="monospace, monospace">
</font></p><p class="m_-9152536580444038634m_6032127713104662301gmail-p1"><span class="m_-9152536580444038634m_6032127713104662301gmail-s1"><b><font face="monospace, monospace">RTNETLINK answers: File exists</font></b></span></p></div></div></div></div></div>
</blockquote></div><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><font face="monospace, monospace">Figured "ip route append" is used to add ECMP. I am, however, seeing some ECMP paths getting added to the rt table which seems to be a bug although the behavior is not consistent. </font></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div></div>