]> git.puffer.fish Git - mirror/frr.git/commitdiff
2004-12-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
authorajs <ajs>
Thu, 30 Dec 2004 15:11:19 +0000 (15:11 +0000)
committerajs <ajs>
Thu, 30 Dec 2004 15:11:19 +0000 (15:11 +0000)
* ospf_network.c: Improve all setsockopt error messages to give detailed
  information on the arguments.

ospfd/ChangeLog
ospfd/ospf_network.c

index 6686bdc0129b1dd2dacd06eab1c54da3f176b01b..c70756237b0ea7b038a361bed1df5bfd1927ef2f 100644 (file)
@@ -1,3 +1,8 @@
+2004-12-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_network.c: Improve all setsockopt error messages to give detailed
+         information on the arguments.
+
 2004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
        * ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done"
index a8d5168188a7a741b7838302f0c34d8feae5da8b..035993e2f2358b854ddcbc3c9eec7665eadfc67c 100644 (file)
@@ -55,8 +55,10 @@ ospf_if_add_allspfrouters (struct ospf *top, struct prefix *p,
                                    p->u.prefix4, htonl (OSPF_ALLSPFROUTERS),
                                    ifindex);
   if (ret < 0)
-    zlog_warn ("can't setsockopt IP_ADD_MEMBERSHIP (AllSPFRouters): %s",
-               safe_strerror (errno));
+    zlog_warn ("can't setsockopt IP_ADD_MEMBERSHIP (fd %d, addr %s, "
+              "ifindex %u, AllSPFRouters): %s; perhaps a kernel limit "
+              "on # of multicast group memberships has been exceeded?",
+               top->fd, inet_ntoa(p->u.prefix4), ifindex, safe_strerror(errno));
   else
     zlog_info ("interface %s join AllSPFRouters Multicast group.",
               inet_ntoa (p->u.prefix4));
@@ -74,8 +76,9 @@ ospf_if_drop_allspfrouters (struct ospf *top, struct prefix *p,
                                    p->u.prefix4, htonl (OSPF_ALLSPFROUTERS),
                                    ifindex);
   if (ret < 0)
-    zlog_warn("can't setsockopt IP_DROP_MEMBERSHIP (AllSPFRouters): %s",
-             safe_strerror (errno));
+    zlog_warn ("can't setsockopt IP_DROP_MEMBERSHIP (fd %d, addr %s, "
+              "ifindex %u, AllSPFRouters): %s",
+               top->fd, inet_ntoa(p->u.prefix4), ifindex, safe_strerror(errno));
   else
     zlog_info ("interface %s leave AllSPFRouters Multicast group.",
               inet_ntoa (p->u.prefix4));
@@ -94,8 +97,10 @@ ospf_if_add_alldrouters (struct ospf *top, struct prefix *p, unsigned int
                                    p->u.prefix4, htonl (OSPF_ALLDROUTERS),
                                    ifindex);
   if (ret < 0)
-    zlog_warn ("can't setsockopt IP_ADD_MEMBERSHIP (AllDRouters): %s",
-               safe_strerror (errno));
+    zlog_warn ("can't setsockopt IP_ADD_MEMBERSHIP (fd %d, addr %s, "
+              "ifindex %u, AllDRouters): %s; perhaps a kernel limit "
+              "on # of multicast group memberships has been exceeded?",
+               top->fd, inet_ntoa(p->u.prefix4), ifindex, safe_strerror(errno));
   else
     zlog_info ("interface %s join AllDRouters Multicast group.",
               inet_ntoa (p->u.prefix4));
@@ -113,8 +118,9 @@ ospf_if_drop_alldrouters (struct ospf *top, struct prefix *p, unsigned int
                                    p->u.prefix4, htonl (OSPF_ALLDROUTERS),
                                    ifindex);
   if (ret < 0)
-    zlog_warn ("can't setsockopt IP_DROP_MEMBERSHIP (AllDRouters): %s",
-              safe_strerror (errno));
+    zlog_warn ("can't setsockopt IP_DROP_MEMBERSHIP (fd %d, addr %s, "
+              "ifindex %u, AllDRouters): %s",
+               top->fd, inet_ntoa(p->u.prefix4), ifindex, safe_strerror(errno));
   else
     zlog_info ("interface %s leave AllDRouters Multicast group.",
               inet_ntoa (p->u.prefix4));
@@ -134,18 +140,22 @@ ospf_if_ipmulticast (struct ospf *top, struct prefix *p, unsigned int ifindex)
   /* Prevent receiving self-origined multicast packets. */
   ret = setsockopt (top->fd, IPPROTO_IP, IP_MULTICAST_LOOP, (void *)&val, len);
   if (ret < 0)
-    zlog_warn ("can't setsockopt IP_MULTICAST_LOOP(0): %s", safe_strerror (errno));
+    zlog_warn ("can't setsockopt IP_MULTICAST_LOOP(0) for fd %d: %s",
+              top->fd, safe_strerror(errno));
   
   /* Explicitly set multicast ttl to 1 -- endo. */
   val = 1;
   ret = setsockopt (top->fd, IPPROTO_IP, IP_MULTICAST_TTL, (void *)&val, len);
   if (ret < 0)
-    zlog_warn ("can't setsockopt IP_MULTICAST_TTL(1): %s", safe_strerror (errno));
+    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);
   if (ret < 0)
-    zlog_warn ("can't setsockopt IP_MULTICAST_IF: %s", safe_strerror (errno));
+    zlog_warn("can't setsockopt IP_MULTICAST_IF(fd %d, addr %s, "
+             "ifindex %u): %s",
+             top->fd, inet_ntoa(p->u.prefix4), ifindex, safe_strerror(errno));
 
   return ret;
 }
@@ -182,7 +192,7 @@ ospf_sock_init (void)
       if ( ospfd_privs.change (ZPRIVS_LOWER) )
         zlog_err ("ospf_sock_init: could not lower privs, %s",
                    safe_strerror (errno) );
-      zlog_warn ("Can't set IP_HDRINCL option");
+      zlog_warn ("Can't set IP_HDRINCL option for fd %d",ospf_sock);
     }
 #elif defined (IPTOS_PREC_INTERNETCONTROL)
 #warning "IP_HDRINCL not available on this system"
@@ -208,7 +218,7 @@ ospf_sock_init (void)
   ret = setsockopt_ifindex (AF_INET, ospf_sock, 1);
 
   if (ret < 0)
-     zlog_warn ("Can't set pktinfo option");
+     zlog_warn ("Can't set pktinfo option for fd %d", ospf_sock);
 
   if (ospfd_privs.change (ZPRIVS_LOWER))
     {