Here's a fix for the problem reported in bug#86
(http://bugzilla.quagga.net/show_bug.cgi?id=86)
under bugzilla:
RCS file: ospf_packet.c,v
retrieving revision 1.25
diff -uwb -r1.25 ospf_packet.c
--- ospf_packet.c 2004/02/11 21:10:19 1.25
+++ ospf_packet.c 2004/03/30 14:21:37
@@ -2018,8 +2018,12 @@
pktinfo = (struct in_pktinfo *)CMSG_DATA(cmsg);
ifindex = pktinfo->ipi_ifindex;
#elif defined (IP_RECVIF)
+#ifdef SUNOS_5
+ ifindex = *(uint_t *)CMSG_DATA(cmsg);
+#else
pktinfo = (struct sockaddr_dl *)CMSG_DATA(cmsg);
ifindex = pktinfo->sdl_index;
+#endif /* SUNOS_5 */
#else
ifindex = 0;
#endif
--Sowmini
(http://bugzilla.quagga.net/show_bug.cgi?id=86)
under bugzilla:
RCS file: ospf_packet.c,v
retrieving revision 1.25
diff -uwb -r1.25 ospf_packet.c
--- ospf_packet.c 2004/02/11 21:10:19 1.25
+++ ospf_packet.c 2004/03/30 14:21:37
@@ -2018,8 +2018,12 @@
pktinfo = (struct in_pktinfo *)CMSG_DATA(cmsg);
ifindex = pktinfo->ipi_ifindex;
#elif defined (IP_RECVIF)
+#ifdef SUNOS_5
+ ifindex = *(uint_t *)CMSG_DATA(cmsg);
+#else
pktinfo = (struct sockaddr_dl *)CMSG_DATA(cmsg);
ifindex = pktinfo->sdl_index;
+#endif /* SUNOS_5 */
#else
ifindex = 0;
#endif
--Sowmini