]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Fixes IPv6 build on older systems.
authorOndrej Zajicek <santiago@crfreenet.org>
Wed, 14 Apr 2010 12:46:21 +0000 (14:46 +0200)
committerOndrej Zajicek <santiago@crfreenet.org>
Wed, 14 Apr 2010 12:46:21 +0000 (14:46 +0200)
sysdep/unix/io.c

index d1fad1ff2003382c99047b5f5f1aa12a011294a4..c9e6fe1362672afaab2205819ee24c97b601bdc6 100644 (file)
@@ -668,6 +668,16 @@ get_sockaddr(struct sockaddr_in *sa, ip_addr *a, unsigned *port, int check)
 #define CMSG_RX_SPACE CMSG_SPACE(sizeof(struct in6_pktinfo))
 #define CMSG_TX_SPACE CMSG_SPACE(sizeof(struct in6_pktinfo))
 
+/*
+ * RFC 2292 uses IPV6_PKTINFO for both the socket option and the cmsg
+ * type, RFC 3542 changed the socket option to IPV6_RECVPKTINFO. If we
+ * don't have IPV6_RECVPKTINFO we suppose the OS implements the older
+ * RFC and we use IPV6_PKTINFO.
+ */
+#ifndef IPV6_RECVPKTINFO
+#define IPV6_RECVPKTINFO IPV6_PKTINFO
+#endif
+
 static char *
 sysio_register_cmsgs(sock *s)
 {