diff options
Diffstat (limited to 'proto/ospf/iface.c')
-rw-r--r-- | proto/ospf/iface.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/proto/ospf/iface.c b/proto/ospf/iface.c index e6ae91b..25a9822 100644 --- a/proto/ospf/iface.c +++ b/proto/ospf/iface.c @@ -69,8 +69,11 @@ ospf_open_socket(struct ospf_iface *ifa, int mc) ipsk->dport = OSPF_PROTO; #ifdef OSPFv2 - // ipsk->saddr = ifa->iface->addr->ip; - ipsk->saddr = IPA_NONE; + /* FIXME - why there is IPA_NONE on multicast sockets ? */ + if (mc) + ipsk->saddr = IPA_NONE; + else + ipsk->saddr = ifa->iface->addr->ip; #else /* OSPFv3 */ ipsk->saddr = ifa->lladdr; #endif |