bug-zebra
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-zebra] ripngd cannot annouce route on OBSD 2.7-stable


From: Kunihiro Ishiguro
Subject: Re: [Bug-zebra] ripngd cannot annouce route on OBSD 2.7-stable
Date: Wed, 20 Sep 2000 01:31:08 -0700
User-agent: Wanderlust/2.2.3 (Always) SEMI/1.13.4 (Terai) Chao/1.13.0 (JR Fujinomori) Emacs/20.7 (i686-pc-linux-gnu) MULE/4.1 (AOI)

>>  OS: OpenBSD/i386 2.7 stable (got via anonCVS at Aug 8, 2000)
>>      + a multicast related patch described later.
>>  ZEBRA: zebra-0.88
>>  IPv6 connection: gif tunneling (IPv6 orver IPv4)
>>  Problem: I can receive RIPng annouces, however, cannot send
>>           annouces.
>
>Thanks for reporting.
>
>It seems that this is bug of ripngd.  I have no time to check it next
>8 hours but after that I'll investigate the problem.

Would you mind to try the latest CVS version of Zebra?  I've just
applied below patch sent to Zebra ML.

To: address@hidden
Subject: [zebra 5218] alignment bug in ripngd
From: URA Hiroshi <address@hidden>
X-Mailer: Mew version 1.94.1 on XEmacs 21.1 (Bryce Canyon)
X-fingerprint: E8 0C 50 9D 71 3A 4E FF  47 B0 E0 B1 EC 32 B8 1F
Date: Wed, 20 Sep 2000 17:19:02 +0900
Reply-To: address@hidden
X-Distribute: distribute [version 2.1 (Alpha1) patchlevel=26]
X-Sequence: zebra 5218

[1  <text/plain; us-ascii (7bit)>]
Hi

Ripngd have a aligemnt bug. Thus ripngd can't send packets
on NetBSD/sparc.

Attached is a patch.

--
ura

[2 ripngd.c.diff <text/plain; us-ascii (7bit)>]
Index: ripngd.c
===================================================================
RCS file: /cvsroot/zebra/ripngd/ripngd.c,v
retrieving revision 1.98
diff -u -u -r1.98 ripngd.c
--- ripngd.c    2000/09/08 01:23:14     1.98
+++ ripngd.c    2000/09/20 08:04:25
@@ -193,7 +193,7 @@
   struct msghdr msg;
   struct iovec iov;
   struct cmsghdr  *cmsgptr;
-  char adata [sizeof (struct cmsghdr) + sizeof (struct in6_pktinfo)];
+  char adata [CMSG_SPACE(sizeof (struct in6_pktinfo))];
   struct in6_pktinfo *pkt;
   struct sockaddr_in6 addr;
 
@@ -234,7 +234,7 @@
   iov.iov_len = bufsize;
 
   cmsgptr = (struct cmsghdr *)adata;
-  cmsgptr->cmsg_len = sizeof adata;
+  cmsgptr->cmsg_len = CMSG_LEN(sizeof (struct in6_pktinfo));
   cmsgptr->cmsg_level = IPPROTO_IPV6;
   cmsgptr->cmsg_type = IPV6_PKTINFO;
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]