On 20.09.2013 21:09, Alexander V. Chernikov wrote:
Hello list!
Currently bird assumes (bsd sysdep) that any prefix on p2p link is /32.
Just to be more specific: krt_read_addr() assumes the following for
every non-multiaccess interfaces:
else /* PtP iface */
{
ifa.flags |= IA_PEER;
ifa.prefix = ifa.opposite = ifa.brd;
}
For every mask != 32 this (except /31 and higher address) gives you
wrong prefix like in example below:
For example:
ifconfig gif15 inet 10.0.0.2/31 10.0.0.3
ifconfig gif15
gif15: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
...
inet 10.0.0.2 --> 10.0.0.3 netmask 0xfffffffe
bird: direct1 < primary address 10.0.0.3/31 on interface gif15 added
bird: Ignoring bogus prefix 10.0.0.3/31 received via direct1
bird: direct1 > invalid 10.0.0.3/31 dev gif15
IPv6 case was fixed in 3f5843740
<https://gitlab.labs.nic.cz/labs/bird/commit/3f58437405f8e37e9c14d83274a6b82ffd9583f8>.
Can we do the same for IPv4 ?