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));
 

Reply via email to