Hello list!
Currently bird assumes (bsd sysdep) that any prefix on p2p link is /32.
For example:
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 ?
diff --git a/sysdep/bsd/krt-sock.c b/sysdep/bsd/krt-sock.c
index 08dfccc..cc1fc42 100644
--- a/sysdep/bsd/krt-sock.c
+++ b/sysdep/bsd/krt-sock.c
@@ -680,12 +680,7 @@ krt_read_addr(struct ks_msg *msg)
_I0(ifa.ip) = 0xfe800000;
#endif
-#ifdef IPV6
- /* Why not the same check also for IPv4? */
if ((iface->flags & IF_MULTIACCESS) || (masklen != BITS_PER_IP_ADDRESS))
-#else
- if (iface->flags & IF_MULTIACCESS)
-#endif
{
ifa.prefix = ipa_and(ifa.ip, ipa_mkmask(masklen));