On Fri, Jun 14, 2013 at 05:41:10PM -0700, Simon Dickhoven wrote: > OK. I looked at proto/rip/rip.c a bit more and figured that I might as > well give it a shot and hack around a little bit. I ended up making this > tiny mod:
Hello Thanks for the bugreport and patch. As i understand RFC 2080, hop limit 255 should be used just for RIPng multicast messages. You could try the attached patch, which will use hop limit 255 for multicast and hop limit 1 for unicast (although RFC 2080 is IMHO unclear about hop limit for unicast). -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santi...@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
diff -uprN bird-1.3.10-o/proto/rip/rip.c bird-1.3.10/proto/rip/rip.c --- bird-1.3.10-o/proto/rip/rip.c 2013-04-29 23:41:58.000000000 +0200 +++ bird-1.3.10/proto/rip/rip.c 2013-06-18 13:25:40.000000000 +0200 @@ -736,6 +736,10 @@ new_iface(struct proto *p, struct iface if (rif->multicast) { +#ifdef IPV6 + /* RFC 2080 2.4.2 - RIPng multicast packets should use TTL 255 */ + rif->sock->ttl = 255; +#endif if (sk_setup_multicast(rif->sock) < 0) goto err; if (sk_join_group(rif->sock, rif->sock->daddr) < 0)