lib: simplify interface of setsockopt_multicast_ipv4().

* sockopt.[ch] (setsockopt_ipv4_multicast): ifindex is now mandatory (all
  non-ancient OSes can use it anyway), and if_addr parameter (the address
  of the interface) is now gone. (setsockopt_ipv4_multicast_if):
  IP_MULTICAST_IF processing moved to this new function

* ospf_network.c (ospf_if_add_allspfrouters, ospf_if_drop_allspfrouters,
  ospf_if_add_alldrouters, ospf_if_drop_alldrouters, ospf_if_ipmulticast),
  rip_interface.c (ipv4_multicast_join, ipv4_multicast_leave,
  rip_interface_new): adapt to the new interface
diff --git a/ospfd/ospf_network.c b/ospfd/ospf_network.c
index 1e2d44e..3e326a8 100644
--- a/ospfd/ospf_network.c
+++ b/ospfd/ospf_network.c
@@ -52,8 +52,8 @@
 {
   int ret;
   
-  ret = setsockopt_multicast_ipv4 (top->fd, IP_ADD_MEMBERSHIP,
-                                   p->u.prefix4, htonl (OSPF_ALLSPFROUTERS),
+  ret = setsockopt_ipv4_multicast (top->fd, IP_ADD_MEMBERSHIP,
+                                   htonl (OSPF_ALLSPFROUTERS),
                                    ifindex);
   if (ret < 0)
     zlog_warn ("can't setsockopt IP_ADD_MEMBERSHIP (fd %d, addr %s, "
@@ -73,8 +73,8 @@
 {
   int ret;
 
-  ret = setsockopt_multicast_ipv4 (top->fd, IP_DROP_MEMBERSHIP,
-                                   p->u.prefix4, htonl (OSPF_ALLSPFROUTERS),
+  ret = setsockopt_ipv4_multicast (top->fd, IP_DROP_MEMBERSHIP,
+                                   htonl (OSPF_ALLSPFROUTERS),
                                    ifindex);
   if (ret < 0)
     zlog_warn ("can't setsockopt IP_DROP_MEMBERSHIP (fd %d, addr %s, "
@@ -94,8 +94,8 @@
 {
   int ret;
 
-  ret = setsockopt_multicast_ipv4 (top->fd, IP_ADD_MEMBERSHIP,
-                                   p->u.prefix4, htonl (OSPF_ALLDROUTERS),
+  ret = setsockopt_ipv4_multicast (top->fd, IP_ADD_MEMBERSHIP,
+                                   htonl (OSPF_ALLDROUTERS),
                                    ifindex);
   if (ret < 0)
     zlog_warn ("can't setsockopt IP_ADD_MEMBERSHIP (fd %d, addr %s, "
@@ -115,8 +115,8 @@
 {
   int ret;
 
-  ret = setsockopt_multicast_ipv4 (top->fd, IP_DROP_MEMBERSHIP,
-                                   p->u.prefix4, htonl (OSPF_ALLDROUTERS),
+  ret = setsockopt_ipv4_multicast (top->fd, IP_DROP_MEMBERSHIP,
+                                   htonl (OSPF_ALLDROUTERS),
                                    ifindex);
   if (ret < 0)
     zlog_warn ("can't setsockopt IP_DROP_MEMBERSHIP (fd %d, addr %s, "
@@ -151,8 +151,7 @@
     zlog_warn ("can't setsockopt IP_MULTICAST_TTL(1) for fd %d: %s",
 	       top->fd, safe_strerror (errno));
 
-  ret = setsockopt_multicast_ipv4 (top->fd, IP_MULTICAST_IF,
-                                   p->u.prefix4, 0, ifindex);
+  ret = setsockopt_ipv4_multicast_if (top->fd, ifindex);
   if (ret < 0)
     zlog_warn("can't setsockopt IP_MULTICAST_IF(fd %d, addr %s, "
 	      "ifindex %u): %s",