summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2011-10-26 13:55:24 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2011-10-26 14:10:49 +0200
commit14a8f396e1d8fc5787041eace8ab026fe5a0896c (patch)
tree31dbc2b71d0de7ba42963ef6d407ac872b679be5
parent00a124e3fc218aa39c634bbda244789f2ea0cd3d (diff)
downloadbird-14a8f396e1d8fc5787041eace8ab026fe5a0896c.tar
bird-14a8f396e1d8fc5787041eace8ab026fe5a0896c.zip
Fixes sockets for IPv4 RIP.
Thanks Roman Hoog Antink for a suggestion.
-rw-r--r--proto/rip/rip.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/proto/rip/rip.c b/proto/rip/rip.c
index 0259cfb..1266380 100644
--- a/proto/rip/rip.c
+++ b/proto/rip/rip.c
@@ -706,17 +706,16 @@ new_iface(struct proto *p, struct iface *new, unsigned long flags, struct iface_
if (new) {
if (new->addr->flags & IA_PEER)
log( L_WARN "%s: rip is not defined over unnumbered links", p->name );
+ rif->sock->saddr = IPA_NONE;
if (rif->multicast) {
#ifndef IPV6
rif->sock->daddr = ipa_from_u32(0xe0000009);
- rif->sock->saddr = ipa_from_u32(0xe0000009);
#else
rif->sock->daddr = ipa_build(0xff020000, 0, 0, 9);
- rif->sock->saddr = new->addr->ip;
+ rif->sock->saddr = new->addr->ip; /* Does not really work on Linux */
#endif
} else {
rif->sock->daddr = new->addr->brd;
- rif->sock->saddr = new->addr->brd;
}
}