Revision a3062085

View differences:

proto/ospf/iface.c
69 69
  ipsk->dport = OSPF_PROTO;
70 70

  
71 71
#ifdef OSPFv2
72
  /* FIXME - why there is IPA_NONE on multicast sockets ? */
73
  if (mc)
74
    ipsk->saddr = IPA_NONE;
75
  else
76
    ipsk->saddr = ifa->iface->addr->ip;
72
  /*
73
   * In Linux IPv4, binding a raw socket to an IP address of an iface causes
74
   * that the socket does not receive multicast packets, as they have
75
   * different (multicast) destination IP address.
76
   *
77
   * We want such filter in the vlink (non-mc) socket.
78
   */
79
  ipsk->saddr = mc ? IPA_NONE : ifa->iface->addr->ip;
77 80
#else /* OSPFv3 */
78 81
  ipsk->saddr = ifa->lladdr;
79 82
#endif

Also available in: Unified diff