diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2011-10-26 13:55:24 +0200 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2011-10-26 14:10:49 +0200 |
commit | 14a8f396e1d8fc5787041eace8ab026fe5a0896c (patch) | |
tree | 31dbc2b71d0de7ba42963ef6d407ac872b679be5 | |
parent | 00a124e3fc218aa39c634bbda244789f2ea0cd3d (diff) | |
download | bird-14a8f396e1d8fc5787041eace8ab026fe5a0896c.tar bird-14a8f396e1d8fc5787041eace8ab026fe5a0896c.zip |
Fixes sockets for IPv4 RIP.
Thanks Roman Hoog Antink for a suggestion.
-rw-r--r-- | proto/rip/rip.c | 5 |
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; } } |