<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 20.09.2013 21:09, Alexander V.
Chernikov wrote:<br>
</div>
<blockquote cite="mid:523C814C.2090909@yandex-team.ru" type="cite">
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
Hello list!<br>
<br>
Currently bird assumes (bsd sysdep) that any prefix on p2p link is
/32.<br>
</blockquote>
Just to be more specific: krt_read_addr() assumes the following for
every non-multiaccess interfaces:<br>
<pre><div id="LC703" class="line"> <span class="k">else</span> <span class="cm">/* PtP iface */</span></div><div id="LC704" class="line"> <span class="p">{</span></div><div id="LC705" class="line"> <span class="n">ifa</span><span class="p">.</span><span class="n">flags</span> <span class="o">|=</span> <span class="n">IA_PEER</span><span class="p">;</span></div><div id="LC706" class="line"> <span class="n">ifa</span><span class="p">.</span><span class="n">prefix</span> <span class="o">=</span> <span class="n">ifa</span><span class="p">.</span><span class="n">opposite</span> <span class="o">=</span> <span class="n">ifa</span><span class="p">.</span><span class="n">brd</span><span class="p">;</span></div><div id="LC707" class="line"> <span class="p">}</span>
</div></pre>
For every mask != 32 this (except /31 and higher address) gives you
wrong prefix like in example below:<br>
<blockquote cite="mid:523C814C.2090909@yandex-team.ru" type="cite">
<br>
For example:<br>
</blockquote>
<br>
ifconfig gif15 inet 10.0.0.2/31 10.0.0.3<br>
ifconfig gif15<br>
gif15: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0
mtu 1280<br>
...<br>
inet 10.0.0.2 --> 10.0.0.3 netmask 0xfffffffe <br>
<br>
<blockquote cite="mid:523C814C.2090909@yandex-team.ru" type="cite">
<br>
<span class="commit">bird: direct1 < primary address
10.0.0.3/31 on interface gif15 added<br>
bird: Ignoring bogus prefix 10.0.0.3/31 received via direct1<br>
bird: direct1 > invalid 10.0.0.3/31 dev gif15<br>
</span><br>
IPv6 case was fixed in <span class="commit"><a
moz-do-not-send="true"
href="https://gitlab.labs.nic.cz/labs/bird/commit/3f58437405f8e37e9c14d83274a6b82ffd9583f8"
class="commit_short_id">3f5843740</a>.<br>
Can we do the same for IPv4 ?<br>
<br>
<br>
<br>
</span> </blockquote>
<br>
</body>
</html>