<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Thank you Alexander for responding. As Paul mentioned rightly in
another reply, this problem is seen with IPv4 only.<br>
</p>
<p>But when a system with two physical interfaces is shipped, i
think it is expected that they should come up with link-local IP
by default. So we should find a best way to solve this problem.<br>
</p>
<div class="moz-cite-prefix">On 13-10-2023 16:48, Alexander Amelkin
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:c0dc4e1ff3904a9c8f34c951611d3992@yadro.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator"
content="Microsoft Word 15 (filtered medium)">
<style>@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}@font-face
{font-family:Cambria;
panose-1:2 4 5 3 5 4 6 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}div.WordSection1
{page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US">There is waaaay too many problems that we have
with “multiple interfaces using link-local addresses” per
se.</span></p>
</div>
</blockquote>
Yes actually.<br>
<blockquote type="cite"
cite="mid:c0dc4e1ff3904a9c8f34c951611d3992@yadro.com">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US">They are outlined in
<a
href="https://datatracker.ietf.org/doc/html/rfc3927#section-3"
moz-do-not-send="true" class="moz-txt-link-freetext">https://datatracker.ietf.org/doc/html/rfc3927#section-3</a>
but no solutions are actually provided there.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US">When, in addition to that, you connect those
multiple interfaces to the same physical network segment,
you add another<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US">bunch of problems on top that are discussed
here:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US"><a
href="https://serverfault.com/questions/415304/multiple-physical-interfaces-with-ips-on-the-same-subnet"
moz-do-not-send="true" class="moz-txt-link-freetext">https://serverfault.com/questions/415304/multiple-physical-interfaces-with-ips-on-the-same-subnet</a></span></p>
</div>
</blockquote>
We tried these settings and this did not cover all the usecases as
we expected. ( Static & DHCP and combination of both at the 2
interfaces)<br>
<blockquote type="cite"
cite="mid:c0dc4e1ff3904a9c8f34c951611d3992@yadro.com">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US"><br>
With your proposal, as I understand it, you may be solving
one part of the “scoped addresses” problem here, but the
rest remains.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US">I may be missing some use-cases, but I gather
link-local addresses are primarily needed for discovery of
newly installed OpenBMC<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US">machines before they are properly integrated
into a DHCP-based or statically configure network. Taking
that into account, in my<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US">humble opinion, the best way would be to have
link-local addressing enabled for just eth0.<br>
<br>
</span></p>
</div>
</blockquote>
<p>Yes, currently the problem workaround is to enable the link-local
only on eth0.</p>
<blockquote type="cite"
cite="mid:c0dc4e1ff3904a9c8f34c951611d3992@yadro.com">
<div class="WordSection1">
<p class="MsoNormal"></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US">I also believe that in production environments
the BMC shall not be connected to the same network segment
using multiple interfaces.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US">If that is needed for failover, then we should
think about adding the bridging and bonding support instead.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US"><o:p> </o:p></span></p>
</div>
</blockquote>
Do you have more details on this please? <br>
<blockquote type="cite"
cite="mid:c0dc4e1ff3904a9c8f34c951611d3992@yadro.com">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US">WBR, Alexander Amelkin<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US">P.S. I also believe that it is VERY wrong that
we still allow setting per-interface gateways as BMC is not
a router device and doesn’t (and shouldn’t) allow for
configuring policy routing or any routing whatsoever.</span></p>
</div>
</blockquote>
<p>I believe this was done purposefully some years ago. @Ravi please
share the details if you have the history.</p>
Thanks ®ards,<br>
Sunitha<br>
<blockquote type="cite"
cite="mid:c0dc4e1ff3904a9c8f34c951611d3992@yadro.com">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"
lang="EN-US"><o:p> </o:p></span></p>
<div>
<div
style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span
lang="EN-US"> openbmc
<a class="moz-txt-link-rfc2396E" href="mailto:openbmc-bounces+a.amelkin=yadro.com@lists.ozlabs.org"><openbmc-bounces+a.amelkin=yadro.com@lists.ozlabs.org></a>
<b>On Behalf Of </b>raviteja bailapudi<br>
<b>Sent:</b> Wednesday, October 11, 2023 11:27 AM<br>
<b>To:</b> OpenBMC Maillist
<a class="moz-txt-link-rfc2396E" href="mailto:openbmc@lists.ozlabs.org"><openbmc@lists.ozlabs.org></a>; Ratan Gupta
<a class="moz-txt-link-rfc2396E" href="mailto:ratankgupta31@gmail.com"><ratankgupta31@gmail.com></a>; <a class="moz-txt-link-abbreviated" href="mailto:wak@google.com">wak@google.com</a>; Sunitha
Harish <a class="moz-txt-link-rfc2396E" href="mailto:sunithaharish04@gmail.com"><sunithaharish04@gmail.com></a>;
<a class="moz-txt-link-abbreviated" href="mailto:johnathanx.mantey@intel.com">johnathanx.mantey@intel.com</a><br>
<b>Subject:</b> Add network RoutingPolicyRules at
OpenBMC Networkd<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div style="border:dotted #003333 1.0pt;padding:0cm 0cm 0cm 0cm">
<p
style="text-align:center;mso-line-height-alt:0pt;background:#F7A29C"
align="center">
<span
style="font-size:10.0pt;font-family:"Cambria",serif;color:black">«Внимание!
Данное письмо от внешнего адресата!»
</span><span
style="font-size:10.0pt;font-family:"Cambria",serif"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">Hi Team<br>
<br>
We have noticed network routing issues when the same
subnet IP addresses configured on both eth0 and eth1
ethernet interfaces, this issue applies to all types of
addresses like static, DHCP and LinkLocal address
configuration.<br>
<br>
Currently IPv4 LinkLocal addressing is enabled on both
interfaces, so both interfaces come up with the same
subnet Link local IP addresses (169.254.x.y), but only
one link local address will be reachable due to these
same subnet routes on both interfaces.<br>
<br>
Here is the systemd issue </span><a
href="https://github.com/systemd/systemd/issues/28814"
moz-do-not-send="true"><span lang="EN-US">https://github.com/systemd/systemd/issues/28814</span></a><span
lang="EN-US">
<br>
I have discussed in the systemd community and explored
systemd's RoutingPolicyRules configuration as suggested
by the systemd community and it works.<br>
<br>
To solve this problem we are proposing to make changes
in phosphor-networkd to configure/populate
systemd-networkd RoutingPolicyRule for each IP address
configured on each interface, there is no user
intervention or user interface changes needed.
phosphor-networkd internally takes care of updating the
systemd-networkd configuration as required<br>
<br>
Here is the example of additional systemd configuration
required for each IP address configured on the
interface.<br>
Example:<br>
[Route]<br>
PreferredSource=169.254.202.113<br>
Destination=</span><a href="http://169.254.202.113/16"
moz-do-not-send="true"><span lang="EN-US">169.254.202.113/16</span></a><span
lang="EN-US"><br>
Table=11<br>
[Route]<br>
Gateway=169.254.0.0<br>
Table=11<br>
[RoutingPolicyRule]<br>
Table=11<br>
To=</span><a href="http://169.254.202.113/16"
moz-do-not-send="true"><span lang="EN-US">169.254.202.113/16</span></a><span
lang="EN-US"><br>
[RoutingPolicyRule]<br>
Table=11<br>
From=</span><a href="http://169.254.202.113/16"
moz-do-not-send="true"><span lang="EN-US">169.254.202.113/16</span></a><span
lang="EN-US"><br>
<br>
Please share your views on the same. <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal">Regards,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Raviteja<o:p></o:p></p>
</div>
</div>
</div>
</div>
</blockquote>
</body>
</html>